]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus_cycle.c
remove debug prints
[chaz/openbox] / openbox / focus_cycle.c
index 7774076785e43050fcbd61c0172117b7afae9f76..bd8a08465e95ef47aff9b01df6551441e14f7d37 100644 (file)
@@ -44,10 +44,6 @@ static ObClient *focus_find_directional    (ObClient *c,
                                             ObDirection dir,
                                             gboolean dock_windows,
                                             gboolean desktop_windows);
-static ObClient *focus_find_directional    (ObClient *c,
-                                            ObDirection dir,
-                                            gboolean dock_windows,
-                                            gboolean desktop_windows);
 
 void focus_cycle_startup(gboolean reconfig)
 {
@@ -89,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))
         {
@@ -131,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) ||
@@ -362,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)
@@ -400,21 +393,20 @@ 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) {
+    if (focus_cycle_target && dialog)
         /* same arguments as focus_target_valid */
         focus_cycle_popup_single_show(focus_cycle_target,
                                       focus_cycle_iconic_windows,
                                       focus_cycle_all_desktops,
                                       focus_cycle_dock_windows,
                                       focus_cycle_desktop_windows);
-        return;
-    }
+    return;
 
 done_cycle:
     if (done && focus_cycle_target)
This page took 0.023595 seconds and 4 git commands to generate.