Copyright | (C) 2015 Antoine Beaupré |
---|---|
License | BSD3 |
Maintainer | Antoine Beaupré <anarcat@debian.org> |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell98 |
A module for setting up simple confirmation prompts for keybindings.
Synopsis
- confirmPrompt :: XPConfig -> String -> X () -> X ()
- class XPrompt t where
- data XPConfig
- mkXPrompt :: XPrompt p => p -> XPConfig -> ComplFunction -> (String -> X ()) -> X ()
- mkComplFunFromList :: [String] -> String -> IO [String]
- data EnterPrompt
Documentation
confirmPrompt :: XPConfig -> String -> X () -> X () Source #
Prompt the user to confirm a given action. We offer no completion and simply ask to confirm (ENTER) or cancel (ESCAPE). The actual key handling is done by mkXPrompt.
Usage
This module makes it easy to add a confirmation prompt for specific
actions. Instead of just running the action, a simple confirmation
prompt will be created using Prompt
primitives. The action
will then run normally if the user confirms.
class XPrompt t where Source #
The class prompt types must be an instance of. In order to
create a prompt you need to create a data type, without parameters,
and make it an instance of this class, by implementing a simple
method, showXPrompt
, which will be used to print the string to be
displayed in the command line window.
This is an example of a XPrompt instance definition:
instance XPrompt Shell where showXPrompt Shell = "Run: "
showXPrompt :: t -> String Source #
This method is used to print the string to be displayed in the command line window.
Instances
mkXPrompt :: XPrompt p => p -> XPConfig -> ComplFunction -> (String -> X ()) -> X () Source #
Creates a prompt given:
- a prompt type, instance of the
XPrompt
class. - a prompt configuration (
def
can be used as a starting point) - a completion function (
mkComplFunFromList
can be used to create a completions function given a list of possible completions) - an action to be run: the action must take a string and return
X
()
mkComplFunFromList :: [String] -> String -> IO [String] Source #
This function takes a list of possible completions and returns a
completions function to be used with mkXPrompt
Use case: confirming exit
This should be used something like this:
... , ((modm , xK_l), confirmPrompt defaultXPConfig "exit" $ io (exitWith ExitSuccess)) ...
data EnterPrompt Source #
Customized XPrompt
prompt that will ask to confirm the given string
Instances
XPrompt EnterPrompt Source # | |
Defined in XMonad.Prompt.ConfirmPrompt showXPrompt :: EnterPrompt -> String Source # nextCompletion :: EnterPrompt -> String -> [String] -> String Source # commandToComplete :: EnterPrompt -> String -> String Source # completionToCommand :: EnterPrompt -> String -> String Source # completionFunction :: EnterPrompt -> ComplFunction Source # modeAction :: EnterPrompt -> String -> String -> X () Source # |