only cycle to visible windows
Dana Jansens danakj@orodu.net
1 files changed,
4 insertions(+),
2 deletions(-)
jump to
M
openbox/focus.c
→
openbox/focus.c
@@ -161,7 +161,9 @@ }
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 @@ if (it == NULL) it = g_list_last(list);
} 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; }