xmonad-contrib-0.17.0: Community-maintained extensions extensions for xmonad
Copyright(c) Lukas Mai
LicenseBSD3-style (see LICENSE)
Maintainer<l.mai@web.de>
Stabilityunstable
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

XMonad.Actions.MouseGestures

Contents

Description

Support for simple mouse gestures.

Synopsis

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:

Constructors

U

Up

D

Down

R

Right

L

Left

Instances

Instances details
Bounded Direction2D Source # 
Instance details

Defined in XMonad.Util.Types

Enum Direction2D Source # 
Instance details

Defined in XMonad.Util.Types

Eq Direction2D Source # 
Instance details

Defined in XMonad.Util.Types

Ord Direction2D Source # 
Instance details

Defined in XMonad.Util.Types

Read Direction2D Source # 
Instance details

Defined in XMonad.Util.Types

Show Direction2D Source # 
Instance details

Defined in XMonad.Util.Types

mouseGestureH :: (Direction2D -> X ()) -> X () -> X () Source #

mouseGestureH moveHook endHook is a mouse button event handler. It collects mouse movements, calling moveHook 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 >>=.