main :: IO () main = xmonad $ def `additionalMouseBindings` [((0, 9), const $ return ())] `releaseButton` () releaseButton :: XConfig a -> () -> XConfig a releaseButton c () = c {handleEventHook = hook <> handleEventHook c} where hook (ev@ButtonEvent {ev_event_type = t, ev_button = 9}) | t == buttonPress = do xmessage $ show ev pure $ All True | t == buttonRelease = do xmessage $ show ev pure $ All True hook _ = pure $ All True infixl 4 `releaseButton`