only cycle to visible windows
authorDana Jansens <danakj@orodu.net>
Thu, 17 Apr 2003 01:24:53 +0000 (01:24 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 17 Apr 2003 01:24:53 +0000 (01:24 +0000)
openbox/focus.c

index e5d3942..04ef7cd 100644 (file)
@@ -161,7 +161,9 @@ void focus_fallback(FallbackType type)
 
     for (it = focus_order[screen_desktop]; it != NULL; it = it->next)
         if (type != Fallback_Unfocusing || it->data != old)
-            if (client_normal(it->data) && client_focus(it->data))
+            if (client_normal(it->data) &&
+                ((Client*)it->data)->frame->visible &&
+                client_focus(it->data))
                 return;
 
     /* nothing to focus */
@@ -207,7 +209,7 @@ Client *focus_cycle(gboolean forward, gboolean linear, gboolean done,
         }
         ft = client_focus_target(it->data);
         if (ft == it->data && focus_client != ft && client_normal(ft) &&
-            client_focus(ft)) {
+            ft->frame->visible && client_focus(ft)) {
             noreorder++; /* avoid reordering the focus_order */
             return ft;
         }