]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus_cycle.c
remove debug prints
[chaz/openbox] / openbox / focus_cycle.c
index bfbc272315e180ed00edf8f3769b771ef6ea22da..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) ||
@@ -346,9 +342,10 @@ static ObClient *focus_find_directional(ObClient *c, ObDirection dir,
         if (offset > distance)
             score += 1000000;
 
-        if (best_score == -1 || score < best_score)
-            best_client = cur,
-                best_score = score;
+        if (best_score == -1 || score < best_score) {
+            best_client = cur;
+            best_score = score;
+        }
     }
 
     return best_client;
@@ -361,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)
@@ -399,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.024673 seconds and 4 git commands to generate.