summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2009-12-09 13:23:18 -0500
committerDana Jansens <danakj@orodu.net>2009-12-09 13:24:12 -0500
commit9f74f1e244d90a60aa33e5921a66bb22e3faf073 (patch)
tree2d2f5623a99d8820018ce5333f6dc62d64e6fe73
parentd7d54e9b892ce8ce23994720d34aa29fd47b8fd8 (diff)
When moving focus across desktops, make sure Openbox doesn't think that a window which is no longer visible is still focused.
-rw-r--r--openbox/screen.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/openbox/screen.c b/openbox/screen.c
index 3e27903f..b0fa17dd 100644
--- a/openbox/screen.c
+++ b/openbox/screen.c
@@ -727,6 +727,15 @@ void screen_set_desktop(guint num, gboolean dofocus)
if (WINDOW_IS_CLIENT(it->data)) {
ObClient *c = it->data;
client_hide(c);
+ if (c == focus_client) {
+ /* c was focused and we didn't do fallback clearly so make sure
+ openbox doesnt still consider the window focused.
+ this happens when using NextWindow with allDesktops, since
+ it doesnt want to move focus on desktop change, but the
+ focus is not going to stay with the current window, which
+ has now disappeared */
+ focus_set_client(NULL);
+ }
}
}