xmonad-contrib-0.18.0: Community-maintained extensions for xmonad
Copyright(c) 2022 L. S. Leary
LicenseBSD3-style (see LICENSE)
Maintainer@LSLeary (on github)
Stabilityunstable
Portabilityunportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Actions.Repeatable

Description

This module factors out the shared logic of XMonad.Actions.CycleRecentWS, XMonad.Actions.CycleWorkspaceByScreen, XMonad.Actions.CycleWindows and XMonad.Actions.MostRecentlyUsed.

See the source of these modules for usage examples.

Synopsis

Documentation

repeatable Source #

Arguments

:: [KeySym]

The list of KeySyms under the modifiers used to invoke the action.

-> KeySym

The keypress that invokes the action.

-> (EventType -> KeySym -> X ())

The keypress handler.

-> X () 

An action that temporarily usurps and responds to key press/release events, concluding when one of the modifier keys is released.

repeatableSt Source #

Arguments

:: Monoid a 
=> s

Initial state.

-> [KeySym]

The list of KeySyms under the modifiers used to invoke the action.

-> KeySym

The keypress that invokes the action.

-> (EventType -> KeySym -> StateT s X a)

The keypress handler.

-> X (a, s) 

A more general variant of repeatable with a stateful handler, accumulating a monoidal return value throughout the events.

repeatableM Source #

Arguments

:: (MonadIO m, Monoid a) 
=> (m a -> X b)

How to run the monad in X.

-> [KeySym]

The list of KeySyms under the modifiers used to invoke the action.

-> KeySym

The keypress that invokes the action.

-> (EventType -> KeySym -> m a)

The keypress handler.

-> X b 

A more general variant of repeatable with an arbitrary monadic handler, accumulating a monoidal return value throughout the events.