From 0d76490fd90f47163f0838aacad20fc8b4227abc Mon Sep 17 00:00:00 2001
From: Jason Creighton <jcreigh@gmail.com>
Date: Wed, 13 Jun 2007 04:53:50 +0200
Subject: prevent keyboard focus from getting lost in some cases

darcs-hash:20070613025350-b9aa7-8fc8986ffc4a7c694fa28b49d60d82a81f46e616.gz
---
 Operations.hs | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Operations.hs b/Operations.hs
index 0a112b4..600e1e6 100644
--- a/Operations.hs
+++ b/Operations.hs
@@ -322,11 +322,11 @@ setFocusX w = withWindowSet $ \ws -> do
             setButtonGrab True otherw
             io $ setWindowBorder dpy otherw (color_pixel nbc)
 
-    whenX (not `liftM` isRoot w) $ do
-        io $ do setInputFocus dpy w revertToPointerRoot 0
-                -- raiseWindow dpy w
-        setButtonGrab False w
-        io $ setWindowBorder dpy w (color_pixel fbc)
+    -- If we ungrab buttons on the root window, we lose our mouse bindings.
+    whenX (not `liftM` isRoot w) $ setButtonGrab False w
+    io $ do setInputFocus dpy w revertToPointerRoot 0
+            -- raiseWindow dpy w
+    io $ setWindowBorder dpy w (color_pixel fbc)
 
 -- ---------------------------------------------------------------------
 -- Managing layout
-- 
cgit v1.2.3