]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus_cycle.c
remove debug prints
[chaz/openbox] / openbox / focus_cycle.c
index 73141e3325a01df87fdd84ba2dc84dfafee7e31d..bd8a08465e95ef47aff9b01df6551441e14f7d37 100644 (file)
@@ -85,7 +85,7 @@ static gboolean focus_target_has_siblings(ObClient *ft,
     for (it = ft->group->members; it; it = g_slist_next(it)) {
         ObClient *c = it->data;
         /* check that it's not a helper window to avoid infinite recursion */
-        if (c != ft && !client_helper(c) &&
+        if (c != ft && c->type == OB_CLIENT_TYPE_NORMAL &&
             focus_cycle_target_valid(c, iconic_windows, all_desktops, FALSE,
                                      FALSE))
         {
@@ -127,7 +127,7 @@ gboolean focus_cycle_target_valid(ObClient *ft,
         ok = ok &&
             ((client_normal(ft) && !client_helper(ft))
              ||
-             /* helper windows are valid targets it... */
+             /* helper windows are valid targets if... */
              (client_helper(ft) &&
               /* ...a window in its group already has focus ... */
               ((focus_client && ft->group == focus_client->group) ||
@@ -358,13 +358,10 @@ void focus_directional_cycle(ObDirection dir, gboolean dock_windows,
     static ObClient *first = NULL;
     ObClient *ft = NULL;
 
-    if (!interactive)
-        return;
-
     if (cancel) {
         focus_cycle_target = NULL;
         goto done_cycle;
-    } else if (done)
+    } else if (done && interactive)
         goto done_cycle;
 
     if (!focus_order)
@@ -396,11 +393,11 @@ void focus_directional_cycle(ObDirection dir, gboolean dock_windows,
                 ft = it->data;
     }
         
-    if (ft) {
-        if (ft != focus_cycle_target) {/* prevents flicker */
-            focus_cycle_target = ft;
-            focus_cycle_draw_indicator(ft);
-        }
+    if (ft && ft != focus_cycle_target) {/* prevents flicker */
+        focus_cycle_target = ft;
+        if (!interactive)
+            goto done_cycle;
+        focus_cycle_draw_indicator(ft);
     }
     if (focus_cycle_target && dialog)
         /* same arguments as focus_target_valid */
This page took 0.021841 seconds and 4 git commands to generate.