summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
+ }
}
}