When moving focus across desktops, make sure Openbox doesn't think that a window...
authorDana Jansens <danakj@orodu.net>
Wed, 9 Dec 2009 18:23:18 +0000 (13:23 -0500)
committerDana Jansens <danakj@orodu.net>
Wed, 9 Dec 2009 18:24:12 +0000 (13:24 -0500)
openbox/screen.c

index 3e27903..b0fa17d 100644 (file)
@@ -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);
+            }
         }
     }