]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus_cycle.c
allow noninteractive directional focus.
[chaz/openbox] / openbox / focus_cycle.c
index ca299c6711833802493aebe64b57a468d0e84e6a..f8ba8285f3d2341035351ff81afd66d1af5892fd 100644 (file)
@@ -358,13 +358,13 @@ void focus_directional_cycle(ObDirection dir, gboolean dock_windows,
     static ObClient *first = NULL;
     ObClient *ft = NULL;
 
-    if (!interactive)
-        return;
+    g_print("interactive %d dialog %d done %d cancel %d\n",
+            interactive, dialog, done, cancel);
 
     if (cancel) {
         focus_cycle_target = NULL;
         goto done_cycle;
-    } else if (done)
+    } else if (done && interactive)
         goto done_cycle;
 
     if (!focus_order)
@@ -396,11 +396,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.02268 seconds and 4 git commands to generate.