]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
avoid putting dialog windows under higher layered windows
[chaz/openbox] / openbox / event.c
index 05024e72a9a59eaffc83debe8ef1461ebab86654..bb138d3dca77815f0766410e492776f7bf4be2fb 100644 (file)
@@ -355,8 +355,15 @@ static void event_done(gpointer data)
     focus_hilite = focus_in;
 
     if (focus_client != last) {
-        if (!focus_client)
-            focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);
+        if (!focus_client) {
+            Window w;
+            int r;
+
+            /* is focus anywhere valid? */
+            XGetInputFocus(ob_display, &w, &r);
+            if (!w || w == RootWindow(ob_display, ob_screen))
+                focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);
+        }
         last = focus_client;
     }
 
This page took 0.022968 seconds and 4 git commands to generate.