Contents

Description

This module provides a way to have "cycling" actions. This means that you can define an X () action that cycles through a list of actions, advancing every time it is executed. This may for exapmle be useful for toggle-style keybindings.

Synopsis

# Usage

You can use this module to implement cycling key-bindings by importing ActionCycle

import XMonad.Util.ActionCycle

and then creating a keybinding as follows:

((mod1Mask, xK_t), cycleAction "cycleActions" [ spawn "commmand1", spawn "command2", spawn "command3" ])

Note that the name given to cycleAction must be a unique action per cycle.

Arguments

 :: String Unique name for this action. May be any arbitrary, unique string. -> [X ()] List of actions that will be cycled through. -> X ()

Generate an X () action that cycles through a list of actions, advancing every time the action is called.

Arguments

 :: String Unique name for this action. May be any arbitrary, unique string. -> NonEmpty (X a) Non-empty List of actions that will be cycled through. -> X a

Another version of cycleAction that returns the result of the actions. To allow for this, we must make sure that the list of actions is non-empty.