]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus_cycle.c
i think that other emacs fix was "the right one" and this one where we don't always...
[chaz/openbox] / openbox / focus_cycle.c
index bfbc272315e180ed00edf8f3769b771ef6ea22da..ca299c6711833802493aebe64b57a468d0e84e6a 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;
@@ -405,15 +402,14 @@ void focus_directional_cycle(ObDirection dir, gboolean dock_windows,
             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.023752 seconds and 4 git commands to generate.