Copyright | (c) 2016 Brandon S Allbery |
---|---|
License | BSD-style (see xmonad/LICENSE) |
Maintainer | allbery.b@gmail.com |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell2010 |
Deprecated: Use XMonad.Operations.unGrab instead
Allow releasing xmonad's keyboard grab
Usage:
Release XMonad's keyboard grab, so other grabbers can do their thing.
Start a keyboard action with this if it is going to run something that needs to do a keyboard, pointer, or server grab. For example,
, ((modm .|. controlMask, xK_p), unGrab >> spawn "scrot")
(Other examples are certain screen lockers and "gksu".) This avoids needing to insert a pause/sleep before running the command.
XMonad retains the keyboard grab during key actions because if they use a submap, they need the keyboard to be grabbed, and if they had to assert their own grab then the asynchronous nature of X11 allows race conditions between XMonad, other clients, and the X server that would cause keys to sometimes be "leaked" to the focused window.