| Copyright | (c) David Glasser 2007 |
|---|---|
| License | BSD3 |
| Maintainer | glasser@mit.edu |
| Stability | stable |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell98 |
XMonad.Actions.Commands
Contents
Description
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.
- commandMap :: [(String, X ())] -> Map String (X ())
- runCommand :: [(String, X ())] -> X ()
- runCommand' :: String -> X ()
- workspaceCommands :: X [(String, X ())]
- screenCommands :: [(String, X ())]
- defaultCommands :: X [(String, X ())]
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 ()) #
Create a Map from Strings to xmonad actions from a
list of pairs.
runCommand :: [(String, X ())] -> X () #
Given a list of command/action pairs, prompt the user to choose a command and return the corresponding action.
runCommand' :: String -> X () #
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 ())] #
Generate a list of commands to switch to/send windows to workspaces.
screenCommands :: [(String, X ())] #
Generate a list of commands dealing with multiple screens.
defaultCommands :: X [(String, X ())] #
A nice pre-defined list of commands.