summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-04-17 01:24:53 +0000
committerDana Jansens <danakj@orodu.net>2003-04-17 01:24:53 +0000
commit3505a866fe0b494af4ff5d65a0295330fbde5bc3 (patch)
tree8cd3841ce9f25e6b737b2f1104f69dec468495b6
parentcb71c993e512d0e51b4798ff2e2fdf6e69be181c (diff)
only cycle to visible windows
-rw-r--r--openbox/focus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index e5d3942f..04ef7cd4 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -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;
}