diff --git a/openbox/focus_cycle_indicator.c b/openbox/focus_cycle_indicator.c index 79de673b..670f48ec 100644 --- a/openbox/focus_cycle_indicator.c +++ b/openbox/focus_cycle_indicator.c @@ -133,6 +133,12 @@ void focus_cycle_indicator_shutdown(gboolean reconfig) XDestroyWindow(ob_display, focus_indicator.bottom.window); } +void focus_cycle_update_indicator(ObClient *c) +{ + if (visible) + focus_cycle_draw_indicator(c); +} + void focus_cycle_draw_indicator(ObClient *c) { if (!c && visible) { diff --git a/openbox/focus_cycle_indicator.h b/openbox/focus_cycle_indicator.h index 28175c75..3077f7c8 100644 --- a/openbox/focus_cycle_indicator.h +++ b/openbox/focus_cycle_indicator.h @@ -25,6 +25,7 @@ struct _ObClient; void focus_cycle_indicator_startup(gboolean reconfig); void focus_cycle_indicator_shutdown(gboolean reconfig); +void focus_cycle_update_indicator(struct _ObClient *c); void focus_cycle_draw_indicator(struct _ObClient *c); #endif diff --git a/openbox/frame.c b/openbox/frame.c index 235dd30b..704560bd 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -851,7 +851,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved, /* if this occurs while we are focus cycling, the indicator needs to match the changes */ if (focus_cycle_target == self->client) - focus_cycle_draw_indicator(self->client); + focus_cycle_update_indicator(self->client); } if (resized && (self->decorations & OB_FRAME_DECOR_TITLEBAR)) XResizeWindow(ob_display, self->label, self->label_width,