  | xmonad-contrib-0.7: Third party extensions for xmonad | Contents | Index |  
  | 
| XMonad.Prompt | | Portability | unportable |  | Stability | unstable |  | Maintainer | andrea.rossato@unibz.it |  
  |  
  | 
 | 
 | 
 | 
| Description | 
| A module for writing graphical prompts for XMonad
 | 
 | 
| Synopsis | 
 | 
 | 
 | 
 | 
| Usage
 | 
 | 
For usage examples see XMonad.Prompt.Shell,
 XMonad.Prompt.XMonad or XMonad.Prompt.Ssh
 TODO:
 -  scrolling the completions that don't fit in the window (?)
 
  | 
 | 
| mkXPrompt :: XPrompt p => p -> XPConfig -> ComplFunction -> (String -> X ()) -> X () | 
Creates a prompt given:
 -  a prompt type, instance of the XPrompt class.
 -  a prompt configuration (defaultXPConfig 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 ()
 
  | 
 | 
| mkXPromptWithReturn :: XPrompt p => p -> XPConfig -> ComplFunction -> (String -> X a) -> X (Maybe a) | 
| Same as mkXPrompt, except that the action function can have
   type String -> X a, for any a, and the final action returned
   by mkXPromptWithReturn will have type X (Maybe a).  Nothing
   is yielded if the user cancels the prompt (by e.g. hitting Esc or
   Ctrl-G).  For an example of use, see the Input
   module.
 | 
 | 
| defaultXPConfig :: XPConfig | 
 | 
| data XPType  | 
| Constructors |  | forall p . XPrompt p => XPT p |  |  
  |    Instances |   |  
  | 
 | 
| data XPPosition  | 
| Constructors |   |    Instances |   |  
  | 
 | 
| data XPConfig  | 
| Constructors |  | XPC |  |  | font :: String | Font
 |  | bgColor :: String | Background color
 |  | fgColor :: String | Font color
 |  | fgHLight :: String | Font color of a highlighted completion entry
 |  | bgHLight :: String | Background color of a highlighted completion entry
 |  | borderColor :: String | Border color
 |  | promptBorderWidth :: !Dimension | Border width
 |  | position :: XPPosition | Position: Top or Bottom
 |  | height :: !Dimension | Window height
 |  | historySize :: !Int | The number of history entries to be saved
 |  | defaultText :: String | The text by default in the prompt line
 |  
  |  
  |    Instances |   |  
  | 
 | 
| class XPrompt t  where | 
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: "
 |   |  | Methods |  | showXPrompt :: t -> String |  | This method is used to print the string to be
 displayed in the command line window.
 |   |  | nextCompletion :: t -> String -> [String] -> String |  | This method is used to generate the next completion to be
 printed in the command line when tab is pressed, given the
 string presently in the command line and the list of
 completion.
 |   |  | commandToComplete :: t -> String -> String |  | This method is used to generate the string to be passed to
 the completion function.
 |   |  | completionToCommand :: t -> String -> String |  | This method is used to process each completion in order to
 generate the string that will be compared with the command
 presently displayed in the command line. If the prompt is using
 getNextOfLastWord for implementing nextCompletion (the
 default implementation), this method is also used to generate,
 from the returned completion, the string that will form the
 next command line when tab is pressed.
 |  
  |   |    Instances |   |  
  | 
 | 
| type ComplFunction = String -> IO [String] | 
 | 
| X Utilities
 | 
 | 
 | 
 | 
| mkUnmanagedWindow :: Display -> Screen -> Window -> Position -> Position -> Dimension -> Dimension -> IO Window | 
| Creates a window with the attribute override_redirect set to True.
 Windows Managers should not touch this kind of windows.
 | 
 | 
| fillDrawable :: Display -> Drawable -> GC -> Pixel -> Pixel -> Dimension -> Dimension -> Dimension -> IO () | 
| Fills a Drawable with a rectangle and a border
 | 
 | 
| Other Utilities
 | 
 | 
 | 
 | 
| mkComplFunFromList :: [String] -> String -> IO [String] | 
| This function takes a list of possible completions and returns a
 completions function to be used with mkXPrompt
 | 
 | 
| mkComplFunFromList' :: [String] -> String -> IO [String] | 
| This function takes a list of possible completions and returns a
 completions function to be used with mkXPrompt. If the string is
 null it will return all completions.
 | 
 | 
| nextCompletion implementations
 | 
 | 
| getNextOfLastWord :: XPrompt t => t -> String -> [String] -> String | 
| Given the prompt type, the command line and the completion list,
 return the next completion in the list for the last word of the
 command line. This is the default nextCompletion implementation.
 | 
 | 
| getNextCompletion :: String -> [String] -> String | 
| An alternative nextCompletion implementation: given a command
 and a completion list, get the next completion in the list matching
 the whole command line.
 | 
 | 
| List utilities
 | 
 | 
| getLastWord :: String -> String | 
| Gets the last word of a string or the whole string if formed by
 only one word
 | 
 | 
| skipLastWord :: String -> String | 
| Skips the last word of the string, if the string is composed by
 more then one word. Otherwise returns the string.
 | 
 | 
| splitInSubListsAt :: Int -> [a] -> [[a]] | 
| Given a maximum length, splits a list into sublists
 | 
 | 
| breakAtSpace :: String -> (String, String) | 
 | 
| uniqSort :: Ord a => [a] -> [a] | 
| Sort a list and remove duplicates.
 | 
 | 
| decodeInput :: String -> String | 
 | 
| encodeOutput :: String -> String | 
 | 
| Produced by Haddock version 0.8 |