xmonad-contrib/XMonadPrompt.hs
2007-11-01 08:50:37 +00:00

55 lines
1.5 KiB
Haskell

-----------------------------------------------------------------------------
-- |
-- Module : XMonadContrib.XMonadPrompt
-- Copyright : (C) 2007 Andrea Rossato
-- License : BSD3
--
-- Maintainer : andrea.rossato@unibz.it
-- Stability : unstable
-- Portability : unportable
--
-- A prompt for running XMonad commands
--
-----------------------------------------------------------------------------
module XMonadContrib.XMonadPrompt (
-- * Usage
-- $usage
xmonadPrompt,
xmonadPromptC
) where
import XMonad
import XMonadContrib.XPrompt
import XMonadContrib.Commands (defaultCommands, runCommand')
-- $usage
--
-- in Config.hs add:
--
-- > import XMonadContrib.XPrompt
-- > import XMonadContrib.XMonadPrompt
--
-- in you keybindings add:
--
-- > , ((modMask .|. controlMask, xK_x), xmonadPrompt defaultXPConfig)
--
-- %import XMonadContrib.XPrompt
-- %import XMonadContrib.XMonadPrompt
-- %keybind , ((modMask .|. controlMask, xK_x), xmonadPrompt defaultXPConfig)
data XMonad = XMonad
instance XPrompt XMonad where
showXPrompt XMonad = "XMonad: "
xmonadPrompt :: XPConfig -> X ()
xmonadPrompt c = do
cmds <- defaultCommands
mkXPrompt XMonad c (mkComplFunFromList (map fst cmds)) runCommand'
-- xmonad prompt with custom command list
xmonadPromptC :: [(String, X ())] -> XPConfig -> X ()
xmonadPromptC commands c = mkXPrompt XMonad c (mkComplFunFromList (map fst commands)) runCommand'