summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--XMonad/Main.hsc3
-rw-r--r--XMonad/Operations.hs2
2 files changed, 3 insertions, 2 deletions
diff --git a/XMonad/Main.hsc b/XMonad/Main.hsc
index 0d279f9..bd2ec0a 100644
--- a/XMonad/Main.hsc
+++ b/XMonad/Main.hsc
@@ -248,12 +248,13 @@ handle e@(ButtonEvent {ev_window = w,ev_event_type = t,ev_button = b })
| t == buttonPress = do
-- If it's the root window, then it's something we
-- grabbed in grabButtons. Otherwise, it's click-to-focus.
+ dpy <- asks display
isr <- isRoot w
m <- cleanMask $ ev_state e
mact <- asks (M.lookup (m, b) . buttonActions)
case mact of
(Just act) | isr -> act $ ev_subwindow e
- _ -> focus w
+ _ -> focus w >> io (allowEvents dpy replayPointer currentTime)
broadcastMessage e -- Always send button events.
-- entered a normal window: focus it if focusFollowsMouse is set to
diff --git a/XMonad/Operations.hs b/XMonad/Operations.hs
index 401a812..f2beea4 100644
--- a/XMonad/Operations.hs
+++ b/XMonad/Operations.hs
@@ -287,7 +287,7 @@ setButtonGrab grab w = withDisplay $ \d -> io $
if grab
then forM_ [button1, button2, button3] $ \b ->
grabButton d b anyModifier w False buttonPressMask
- grabModeAsync grabModeSync none none
+ grabModeSync grabModeSync none none
else ungrabButton d anyButton anyModifier w
-- ---------------------------------------------------------------------