|
XMonad.Util.NamedActions | Portability | unportable | Stability | unstable | Maintainer | Adam Vogt <vogt.adam@gmail.com> |
|
|
|
|
|
Description |
A wrapper for keybinding configuration that can list the available
keybindings.
|
|
Synopsis |
|
sendMessage' :: (Message a, Show a) => a -> NamedAction | | spawn' :: String -> NamedAction | | submapName :: HasName a => [((KeyMask, KeySym), a)] -> NamedAction | | addDescrKeys :: (HasName b1, HasName b) => ((KeyMask, KeySym), [((KeyMask, KeySym), NamedAction)] -> b) -> (XConfig Layout -> [((KeyMask, KeySym), b1)]) -> XConfig l -> XConfig l | | xMessage :: [((KeyMask, KeySym), NamedAction)] -> NamedAction | | showKmSimple :: [((KeyMask, KeySym), NamedAction)] -> [[Char]] | | showKm :: [((KeyMask, KeySym), NamedAction)] -> [String] | | noName :: X () -> NamedAction | | oneName :: (X (), String) -> NamedAction | | addName :: String -> X () -> NamedAction | | separator :: ((KeyMask, KeySym), NamedAction) | | subtitle :: String -> ((KeyMask, KeySym), NamedAction) | | (^++^) :: (HasName b, HasName b1) => [(d, b)] -> [(d, b1)] -> [(d, NamedAction)] | | data NamedAction = forall a . HasName a => NamedAction a | | class HasName a | | defaultKeysDescr :: XConfig Layout -> [((KeyMask, KeySym), NamedAction)] |
|
|
|
Usage:
|
|
Here is an example config that demonstrates the usage of sendMessage',
mkNamedKeymap, addDescrKeys, and ^++^
import XMonad
import XMonad.Util.NamedActions
import XMonad.Util.EZConfig
main = xmonad $ addDescrKeys ((mod4Mask, xK_F1), xMessage) myKeys
defaultConfig { modMask = mod4Mask }
myKeys c = (subtitle "Custom Keys":) $ mkNamedKeymap c $
[("M-x a", addName "useless message" $ spawn "xmessage foo"),
("M-c", sendMessage' Expand)]
^++^
[("<XF86AudioPlay>", spawn "mpc toggle" :: X ()),
("<XF86AudioNext>", spawn "mpc next")]
Using ^++^, you can combine bindings whose actions are X ()
as well as actions that have descriptions. However you cannot mix the two in
a single list, unless each is prefixed with addName or noName.
If you don't like EZConfig, you can still use ^++^ with the basic XMonad
keybinding configuration too.
Also note the unfortunate necessity of a type annotation, since spawn is
too general.
|
|
|
sendMessage but add a description that is show message. Note that not
all messages have show instances.
|
|
|
spawn but the description is the string passed
|
|
|
submap, but propagate the descriptions of the actions. Does this belong
in XMonad.Actions.Submap?
|
|
|
Merge the supplied keys with defaultKeysDescr, also adding a keybinding
to run an action for showing the keybindings.
|
|
|
An action to send to addDescrKeys for showing the keybindings. See also showKm and showKmSimple
|
|
|
|
|
|
|
These are just the NamedAction constructor but with a more specialized
type, so that you don't have to supply any annotations, for ex coercing
spawn to X () from the more general MonadIO m => m ()
|
|
|
|
|
|
|
For a prettier presentation: keymask, keysym of 0 are reserved for this
purpose: they do not happen, afaik, and keysymToString 0 would raise an
error otherwise
|
|
|
|
|
Combine keymap lists with actions that may or may not have names
|
|
|
An existential wrapper so that different types can be combined in lists,
and maps
| Constructors | forall a . HasName a => NamedAction a | |
| Instances | |
|
|
|
| Instances | |
|
|
|
A version of the default keys from XMonad.Config.defaultConfig, but with
NamedAction instead of X ()
|
|
Produced by Haddock version 2.6.1 |