Only update the focus cycle indicator when already visible in frame.c to avoid overri...
authorMikael Magnusson <mikachu@gmail.com>
Wed, 19 Nov 2008 16:14:38 +0000 (17:14 +0100)
committerMikael Magnusson <mikachu@gmail.com>
Wed, 19 Nov 2008 16:14:44 +0000 (17:14 +0100)
openbox/focus_cycle_indicator.c
openbox/focus_cycle_indicator.h
openbox/frame.c

index 79de673..670f48e 100644 (file)
@@ -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) {
index 28175c7..3077f7c 100644 (file)
@@ -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
index 235dd30..704560b 100644 (file)
@@ -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,