xmonad-contrib-0.10: Third party extensions for xmonad

Portability | unportable
Stability | unstable
Maintainer | andrea.rossato@unibz.it

XMonad.Prompt.Shell

Contents

- Usage

Description

A shell prompt for XMonad

Synopsis

- data Shell = Shell
- shellPrompt :: XPConfig -> X ()
- getCommands :: IO [String]
- getBrowser :: IO String
- getEditor :: IO String
- getShellCompl :: [String] -> String -> IO [String]
- split :: Eq a => a -> [a] -> [[a]]
- prompt :: FilePath -> XPConfig -> X ()
- safePrompt :: FilePath -> XPConfig -> X ()

# Usage

1. In your `~/.xmonad/xmonad.hs`:

     import XMonad.Prompt
     import XMonad.Prompt.Shell

1. In your keybindings add something like:

       , ((modm .|. controlMask, xK_x), shellPrompt defaultXPConfig)

For detailed instruction on editing the key binding see XMonad.Doc.Extending.

data Shell

Constructors

Shell |

Instances

XPrompt Shell |

shellPrompt :: XPConfig -> X ()

getCommands :: IO [String]

getBrowser :: IO String

Ask the shell what browser the user likes. If the user hasn't defined any $BROWSER, defaults to returning "firefox", since that seems to be the most common X web browser. Note that if you don't specify a GUI browser but a textual one, that'll be a problem as `getBrowser` will be called by functions expecting to be able to just execute the string or pass it to a shell; so in that case, define $BROWSER as something like "xterm -e elinks" or as the name of a shell script doing much the same thing.

getEditor :: IO String

Like `getBrowser`, but should be of a text editor. This gets the $EDITOR variable, defaulting to "emacs".

getShellCompl :: [String] -> String -> IO [String]

split :: Eq a => a -> [a] -> [[a]]

prompt :: FilePath -> XPConfig -> X ()

safePrompt :: FilePath -> XPConfig -> X ()