Contents

Description

Synopsis

# 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!)

commandMap :: [(String, X ())] -> Map String (X ()) Source #

Create a Map from Strings 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 using dmenu and return the corresponding action.

runCommandConfig :: ([String] -> X String) -> [(String, X ())] -> X () Source #

Given a list of command/action pairs, prompt the user to choose a command using dmenu-compatible launcher and return the corresponding action. See X.U.Dmenu for compatible launchers.

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.

defaultCommands :: X [(String, X ())] Source #

A nice pre-defined list of commands.