| Copyright | (c) Lukas Mai | 
|---|---|
| License | BSD3-style (see LICENSE) | 
| Maintainer | <l.mai@web.de> | 
| Stability | unstable | 
| Portability | unportable | 
| Safe Haskell | None | 
| Language | Haskell98 | 
XMonad.Actions.MouseGestures
Contents
Description
Support for simple mouse gestures.
- data Direction2D
- mouseGestureH :: (Direction2D -> X ()) -> X () -> X ()
- mouseGesture :: Map [Direction2D] (Window -> X ()) -> Window -> X ()
- mkCollect :: (MonadIO m, MonadIO m') => m (Direction2D -> m' [Direction2D], m' [Direction2D])
Usage
You can use this module with the following in your ~/.xmonad/xmonad.hs:
import XMonad.Actions.MouseGestures import qualified XMonad.StackSet as W
then add an appropriate mouse binding:
, ((modm .|. shiftMask, button3), mouseGesture gestures)
where gestures is a Map from gestures to actions on
 windows, for example:
    gestures = M.fromList
        [ ([], focus)
        , ([U], \w -> focus w >> windows W.swapUp)
        , ([D], \w -> focus w >> windows W.swapDown)
        , ([R, D], \_ -> sendMessage NextLayout)
        ]This is just an example, of course; you can use any mouse button and gesture definitions you want.
For detailed instructions on editing your mouse bindings, see XMonad.Doc.Extending.
data Direction2D Source
Two-dimensional directions:
mouseGestureH :: (Direction2D -> X ()) -> X () -> X () Source
mouseGestureH moveHook endHookmoveHook for each
 update; when the button is released, it calls endHook.
mouseGesture :: Map [Direction2D] (Window -> X ()) -> Window -> X () Source
A utility function on top of mouseGestureH. It uses a Map to
 look up the mouse gesture, then executes the corresponding action (if any).
mkCollect :: (MonadIO m, MonadIO m') => m (Direction2D -> m' [Direction2D], m' [Direction2D]) Source
A callback generator for mouseGestureH. mkCollect returns two
 callback functions for passing to mouseGestureH. The move hook will
 collect mouse movements (and return the current gesture as a list); the end
 hook will return a list of the completed gesture, which you can access with
 >>=.