Portability | portable |
---|---|
Stability | stable |
Maintainer | glasser@mit.edu |
Allows you to run internal xmonad commands (X () actions) using a dmenu menu in addition to key bindings. Requires dmenu and the Dmenu XMonad.Actions module.
Usage
You can use this module with the following in your ~/.xmonad/xmonad.hs
:
import XMonad.Actions.Commands
Then add a keybinding to the runCommand action:
, ((modm .|. controlMask, xK_y), commands >>= runCommand)
and define the list of commands you want to use:
commands :: X [(String, X ())] commands = defaultCommands
Whatever key you bound to will now cause a popup menu of internal
xmonad commands to appear. You can change the commands by changing
the contents of the list returned by commands
. (If you like it
enough, you may even want to get rid of many of your other key
bindings!)
For detailed instructions on editing your key bindings, see XMonad.Doc.Extending.
commandMap :: [(String, X ())] -> Map String (X ())Source
Create a Data.Map.Map
from String
s to xmonad actions from a
list of pairs.
runCommand :: [(String, X ())] -> X ()Source
Given a list of command/action pairs, prompt the user to choose a command and return the corresponding action.
runCommand' :: String -> X ()Source
Given the name of a command from defaultCommands
, return the
corresponding action (or the null action if the command is not
found).
workspaceCommands :: X [(String, X ())]Source
Generate a list of commands to switch to/send windows to workspaces.
screenCommands :: [(String, X ())]Source
Generate a list of commands dealing with multiple screens.