Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 420a649e6f65db30aa7451f64d08ff92 > files > 717

ghc-xmonad-contrib-devel-0.9.2-4.fc16.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>XMonad.Util.EZConfig</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_XMonad-Util-EZConfig.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/XMonad-Util-EZConfig.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">xmonad-contrib-0.9.2: Third party extensions for xmonad</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Maintainer</th><td>Devin Mullins &lt;me@twifkak.com&gt;</td></tr></table><p class="caption">XMonad.Util.EZConfig</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Usage
</a></li><li><a href="#g:2">Adding or removing keybindings
</a></li><li><a href="#g:3">Emacs-style keybinding specifications
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Useful helper functions for amending the defaultConfig, and for
 parsing keybindings specified in a special (emacs-like) format.
</p><p>(See also <a href="XMonad-Util-CustomKeys.html">XMonad.Util.CustomKeys</a> in xmonad-contrib.)
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:additionalKeys">additionalKeys</a> ::  XConfig a -&gt; [((<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:ButtonMask">ButtonMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>), X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -&gt; XConfig a</li><li class="src short"><a href="#v:additionalKeysP">additionalKeysP</a> ::  XConfig l -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -&gt; XConfig l</li><li class="src short"><a href="#v:removeKeys">removeKeys</a> ::  XConfig a -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:ButtonMask">ButtonMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>)] -&gt; XConfig a</li><li class="src short"><a href="#v:removeKeysP">removeKeysP</a> ::  XConfig l -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>] -&gt; XConfig l</li><li class="src short"><a href="#v:additionalMouseBindings">additionalMouseBindings</a> ::  XConfig a -&gt; [((<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:ButtonMask">ButtonMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Button">Button</a>), <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -&gt; X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -&gt; XConfig a</li><li class="src short"><a href="#v:removeMouseBindings">removeMouseBindings</a> ::  XConfig a -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:ButtonMask">ButtonMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Button">Button</a>)] -&gt; XConfig a</li><li class="src short"><a href="#v:mkKeymap">mkKeymap</a> ::  XConfig l -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -&gt; <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Map.html#t:Map">Map</a> (<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeyMask">KeyMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>) (X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)</li><li class="src short"><a href="#v:checkKeymap">checkKeymap</a> ::  XConfig l -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, a)] -&gt; X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:mkNamedKeymap">mkNamedKeymap</a> ::  XConfig l -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="XMonad-Util-NamedActions.html#t:NamedAction">NamedAction</a>)] -&gt; [((<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeyMask">KeyMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>), <a href="XMonad-Util-NamedActions.html#t:NamedAction">NamedAction</a>)]</li></ul></div><div id="interface"><h1 id="g:1">Usage
</h1><div class="doc"><p>To use this module, first import it into your <code>~/.xmonad/xmonad.hs</code>:
</p><pre> import XMonad.Util.EZConfig
</pre><p>Then, use one of the provided functions to modify your
 configuration.  You can use <code><a href="XMonad-Util-EZConfig.html#v:additionalKeys">additionalKeys</a></code>, <code><a href="XMonad-Util-EZConfig.html#v:removeKeys">removeKeys</a></code>,
 <code><a href="XMonad-Util-EZConfig.html#v:additionalMouseBindings">additionalMouseBindings</a></code>, and <code><a href="XMonad-Util-EZConfig.html#v:removeMouseBindings">removeMouseBindings</a></code> to easily add
 and remove keybindings or mouse bindings.  You can use <code><a href="XMonad-Util-EZConfig.html#v:mkKeymap">mkKeymap</a></code>
 to create a keymap using emacs-style keybinding specifications
 like <code>&quot;M-x&quot;</code> instead of <code>(modMask, xK_x)</code>, or <code><a href="XMonad-Util-EZConfig.html#v:additionalKeysP">additionalKeysP</a></code>
 and <code><a href="XMonad-Util-EZConfig.html#v:removeKeysP">removeKeysP</a></code> to easily add or remove emacs-style keybindings.
 If you use emacs-style keybindings, the <code><a href="XMonad-Util-EZConfig.html#v:checkKeymap">checkKeymap</a></code> function is
 provided, suitable for adding to your <code>startupHook</code>, which can warn
 you of any parse errors or duplicate bindings in your keymap.
</p><p>For more information and usage examples, see the documentation
 provided with each exported function, and check the xmonad config
 archive (<a href="http://haskell.org/haskellwiki/Xmonad/Config_archive">http://haskell.org/haskellwiki/Xmonad/Config_archive</a>)
 for some real examples of use.
</p></div><h1 id="g:2">Adding or removing keybindings
</h1><div class="top"><p class="src"><a name="v:additionalKeys" class="def">additionalKeys</a> ::  XConfig a -&gt; [((<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:ButtonMask">ButtonMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>), X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -&gt; XConfig a<a href="src/XMonad-Util-EZConfig.html#additionalKeys" class="link">Source</a></p><div class="doc"><p>Add or override keybindings from the existing set. Example use:
</p><pre> main = xmonad $ defaultConfig { terminal = &quot;urxvt&quot; }
                 `additionalKeys`
                 [ ((mod1Mask, xK_m        ), spawn &quot;echo 'Hi, mom!' | dzen2 -p 4&quot;)
                 , ((mod1Mask, xK_BackSpace), withFocused hide) -- N.B. this is an absurd thing to do
                 ]
</pre><p>This overrides the previous definition of mod-m.
</p><p>Note that, unlike in xmonad 0.4 and previous, you can't use modMask to refer
 to the modMask you configured earlier. You must specify mod1Mask (or
 whichever), or add your own <code>myModMask = mod1Mask</code> line.
</p></div></div><div class="top"><p class="src"><a name="v:additionalKeysP" class="def">additionalKeysP</a> ::  XConfig l -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -&gt; XConfig l<a href="src/XMonad-Util-EZConfig.html#additionalKeysP" class="link">Source</a></p><div class="doc"><p>Like <code><a href="XMonad-Util-EZConfig.html#v:additionalKeys">additionalKeys</a></code>, except using short <code>String</code> key
   descriptors like <code>&quot;M-m&quot;</code> instead of <code>(modMask, xK_m)</code>, as
   described in the documentation for <code><a href="XMonad-Util-EZConfig.html#v:mkKeymap">mkKeymap</a></code>.  For example:
</p><pre> main = xmonad $ defaultConfig { terminal = &quot;urxvt&quot; }
                 `additionalKeysP`
                 [ (&quot;M-m&quot;, spawn &quot;echo 'Hi, mom!' | dzen2 -p 4&quot;)
                 , (&quot;M-&lt;Backspace&gt;&quot;, withFocused hide) -- N.B. this is an absurd thing to do
                 ]
</pre></div></div><div class="top"><p class="src"><a name="v:removeKeys" class="def">removeKeys</a> ::  XConfig a -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:ButtonMask">ButtonMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>)] -&gt; XConfig a<a href="src/XMonad-Util-EZConfig.html#removeKeys" class="link">Source</a></p><div class="doc"><p>Remove standard keybindings you're not using. Example use:
</p><pre> main = xmonad $ defaultConfig { terminal = &quot;urxvt&quot; }
                 `removeKeys` [(mod1Mask .|. shiftMask, n) | n &lt;- [xK_1 .. xK_9]]
</pre></div></div><div class="top"><p class="src"><a name="v:removeKeysP" class="def">removeKeysP</a> ::  XConfig l -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>] -&gt; XConfig l<a href="src/XMonad-Util-EZConfig.html#removeKeysP" class="link">Source</a></p><div class="doc"><p>Like <code><a href="XMonad-Util-EZConfig.html#v:removeKeys">removeKeys</a></code>, except using short <code>String</code> key descriptors
   like <code>&quot;M-m&quot;</code> instead of <code>(modMask, xK_m)</code>, as described in the
   documentation for <code><a href="XMonad-Util-EZConfig.html#v:mkKeymap">mkKeymap</a></code>. For example:
</p><pre> main = xmonad $ defaultConfig { terminal = &quot;urxvt&quot; }
                 `removeKeysP` [&quot;M-S-&quot; ++ [n] | n &lt;- ['1'..'9']]
</pre></div></div><div class="top"><p class="src"><a name="v:additionalMouseBindings" class="def">additionalMouseBindings</a> ::  XConfig a -&gt; [((<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:ButtonMask">ButtonMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Button">Button</a>), <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -&gt; X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -&gt; XConfig a<a href="src/XMonad-Util-EZConfig.html#additionalMouseBindings" class="link">Source</a></p><div class="doc"><p>Like <code><a href="XMonad-Util-EZConfig.html#v:additionalKeys">additionalKeys</a></code>, but for mouse bindings.
</p></div></div><div class="top"><p class="src"><a name="v:removeMouseBindings" class="def">removeMouseBindings</a> ::  XConfig a -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:ButtonMask">ButtonMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Button">Button</a>)] -&gt; XConfig a<a href="src/XMonad-Util-EZConfig.html#removeMouseBindings" class="link">Source</a></p><div class="doc"><p>Like <code><a href="XMonad-Util-EZConfig.html#v:removeKeys">removeKeys</a></code>, but for mouse bindings.
</p></div></div><h1 id="g:3">Emacs-style keybinding specifications
</h1><div class="top"><p class="src"><a name="v:mkKeymap" class="def">mkKeymap</a> ::  XConfig l -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -&gt; <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Map.html#t:Map">Map</a> (<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeyMask">KeyMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>) (X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)<a href="src/XMonad-Util-EZConfig.html#mkKeymap" class="link">Source</a></p><div class="doc"><p>Given a config (used to determine the proper modifier key to use)
   and a list of <code>(String, X ())</code> pairs, create a key map by parsing
   the key sequence descriptions contained in the Strings.  The key
   sequence descriptions are &quot;emacs-style&quot;: <code>M-</code>, <code>C-</code>, <code>S-</code>, and
   <code>M#-</code> denote mod, control, shift, and mod1-mod5 (where <code>#</code> is
   replaced by the appropriate number) respectively.  Note that if
   you want to make a keybinding using 'alt' even though you use a
   different key (like the 'windows' key) for 'mod', you can use
   something like <code>&quot;M1-x&quot;</code> for alt+x (check the output of <code>xmodmap</code>
   to see which mod key 'alt' is bound to). Some special keys can
   also be specified by enclosing their name in angle brackets.
</p><p>For example, <code>&quot;M-C-x&quot;</code> denotes mod+ctrl+x; <code>&quot;S-&lt;Escape&gt;&quot;</code>
   denotes shift-escape; <code>&quot;M1-C-&lt;Delete&gt;&quot;</code> denotes alt+ctrl+delete
   (assuming alt is bound to mod1, which is common).
</p><p>Sequences of keys can also be specified by separating the key
   descriptions with spaces. For example, <code>&quot;M-x y &lt;Down&gt;&quot;</code> denotes the
   sequence of keys mod+x, y, down.  Submaps (see
   <a href="XMonad-Actions-Submap.html">XMonad.Actions.Submap</a>) will be automatically generated to
   correctly handle these cases.
</p><p>So, for example, a complete key map might be specified as
</p><pre> keys = \c -&gt; mkKeymap c $
     [ (&quot;M-S-&lt;Return&gt;&quot;, spawn $ terminal c)
     , (&quot;M-x w&quot;, spawn &quot;xmessage 'woohoo!'&quot;)  -- type mod+x then w to pop up 'woohoo!'
     , (&quot;M-x y&quot;, spawn &quot;xmessage 'yay!'&quot;)     -- type mod+x then y to pop up 'yay!'
     , (&quot;M-S-c&quot;, kill)
     ]
</pre><p>Alternatively, you can use <code><a href="XMonad-Util-EZConfig.html#v:additionalKeysP">additionalKeysP</a></code> to automatically
 create a keymap and add it to your config.
</p><p>Here is a complete list of supported special keys.  Note that a few
 keys, such as the arrow keys, have synonyms.  If there are other
 special keys you would like to see supported, feel free to submit a
 patch, or ask on the xmonad mailing list; adding special keys is
 quite simple.
</p><pre> &lt;Backspace&gt;
 &lt;Tab&gt;
 &lt;Return&gt;
 &lt;Pause&gt;
 &lt;Scroll_lock&gt;
 &lt;Sys_Req&gt;
 &lt;Print&gt;
 &lt;Escape&gt;, &lt;Esc&gt;
 &lt;Delete&gt;
 &lt;Home&gt;
 &lt;Left&gt;, &lt;L&gt;
 &lt;Up&gt;, &lt;U&gt;
 &lt;Right&gt;, &lt;R&gt;
 &lt;Down&gt;, &lt;D&gt;
 &lt;Page_Up&gt;
 &lt;Page_Down&gt;
 &lt;End&gt;
 &lt;Insert&gt;
 &lt;Break&gt;
 &lt;Space&gt;
 &lt;F1&gt;-&lt;F24&gt;
 &lt;KP_Space&gt;
 &lt;KP_Tab&gt;
 &lt;KP_Enter&gt;
 &lt;KP_F1&gt;
 &lt;KP_F2&gt;
 &lt;KP_F3&gt;
 &lt;KP_F4&gt;
 &lt;KP_Home&gt;
 &lt;KP_Left&gt;
 &lt;KP_Up&gt;
 &lt;KP_Right&gt;
 &lt;KP_Down&gt;
 &lt;KP_Prior&gt;
 &lt;KP_Page_Up&gt;
 &lt;KP_Next&gt;
 &lt;KP_Page_Down&gt;
 &lt;KP_End&gt;
 &lt;KP_Begin&gt;
 &lt;KP_Insert&gt;
 &lt;KP_Delete&gt;
 &lt;KP_Equal&gt;
 &lt;KP_Multiply&gt;
 &lt;KP_Add&gt;
 &lt;KP_Separator&gt;
 &lt;KP_Subtract&gt;
 &lt;KP_Decimal&gt;
 &lt;KP_Divide&gt;
 &lt;KP_0&gt;-&lt;KP_9&gt;
</pre><p>Long list of multimedia keys. Please note that not all keys may be
 present in your particular setup although most likely they will do.
</p><pre> &lt;XF86ModeLock&gt;
 &lt;XF86MonBrightnessUp&gt;
 &lt;XF86MonBrightnessDown&gt;
 &lt;XF86KbdLightOnOff&gt;
 &lt;XF86KbdBrightnessUp&gt;
 &lt;XF86KbdBrightnessDown&gt;
 &lt;XF86Standby&gt;
 &lt;XF86AudioLowerVolume&gt;
 &lt;XF86AudioMute&gt;
 &lt;XF86AudioRaiseVolume&gt;
 &lt;XF86AudioPlay&gt;
 &lt;XF86AudioStop&gt;
 &lt;XF86AudioPrev&gt;
 &lt;XF86AudioNext&gt;
 &lt;XF86HomePage&gt;
 &lt;XF86Mail&gt;
 &lt;XF86Start&gt;
 &lt;XF86Search&gt;
 &lt;XF86AudioRecord&gt;
 &lt;XF86Calculator&gt;
 &lt;XF86Memo&gt;
 &lt;XF86ToDoList&gt;
 &lt;XF86Calendar&gt;
 &lt;XF86PowerDown&gt;
 &lt;XF86ContrastAdjust&gt;
 &lt;XF86RockerUp&gt;
 &lt;XF86RockerDown&gt;
 &lt;XF86RockerEnter&gt;
 &lt;XF86Back&gt;
 &lt;XF86Forward&gt;
 &lt;XF86Stop&gt;
 &lt;XF86Refresh&gt;
 &lt;XF86PowerOff&gt;
 &lt;XF86WakeUp&gt;
 &lt;XF86Eject&gt;
 &lt;XF86ScreenSaver&gt;
 &lt;XF86WWW&gt;
 &lt;XF86Sleep&gt;
 &lt;XF86Favorites&gt;
 &lt;XF86AudioPause&gt;
 &lt;XF86AudioMedia&gt;
 &lt;XF86MyComputer&gt;
 &lt;XF86VendorHome&gt;
 &lt;XF86LightBulb&gt;
 &lt;XF86Shop&gt;
 &lt;XF86History&gt;
 &lt;XF86OpenURL&gt;
 &lt;XF86AddFavorite&gt;
 &lt;XF86HotLinks&gt;
 &lt;XF86BrightnessAdjust&gt;
 &lt;XF86Finance&gt;
 &lt;XF86Community&gt;
 &lt;XF86AudioRewind&gt;
 &lt;XF86XF86BackForward&gt;
 &lt;XF86Launch0&gt;-&lt;XF86Launch9&gt;, &lt;XF86LaunchA&gt;-&lt;XF86LaunchF&gt;
 &lt;XF86ApplicationLeft&gt;
 &lt;XF86ApplicationRight&gt;
 &lt;XF86Book&gt;
 &lt;XF86CD&gt;
 &lt;XF86Calculater&gt;
 &lt;XF86Clear&gt;
 &lt;XF86Close&gt;
 &lt;XF86Copy&gt;
 &lt;XF86Cut&gt;
 &lt;XF86Display&gt;
 &lt;XF86DOS&gt;
 &lt;XF86Documents&gt;
 &lt;XF86Excel&gt;
 &lt;XF86Explorer&gt;
 &lt;XF86Game&gt;
 &lt;XF86Go&gt;
 &lt;XF86iTouch&gt;
 &lt;XF86LogOff&gt;
 &lt;XF86Market&gt;
 &lt;XF86Meeting&gt;
 &lt;XF86MenuKB&gt;
 &lt;XF86MenuPB&gt;
 &lt;XF86MySites&gt;
 &lt;XF86New&gt;
 &lt;XF86News&gt;
 &lt;XF86OfficeHome&gt;
 &lt;XF86Open&gt;
 &lt;XF86Option&gt;
 &lt;XF86Paste&gt;
 &lt;XF86Phone&gt;
 &lt;XF86Q&gt;
 &lt;XF86Reply&gt;
 &lt;XF86Reload&gt;
 &lt;XF86RotateWindows&gt;
 &lt;XF86RotationPB&gt;
 &lt;XF86RotationKB&gt;
 &lt;XF86Save&gt;
 &lt;XF86ScrollUp&gt;
 &lt;XF86ScrollDown&gt;
 &lt;XF86ScrollClick&gt;
 &lt;XF86Send&gt;
 &lt;XF86Spell&gt;
 &lt;XF86SplitScreen&gt;
 &lt;XF86Support&gt;
 &lt;XF86TaskPane&gt;
 &lt;XF86Terminal&gt;
 &lt;XF86Tools&gt;
 &lt;XF86Travel&gt;
 &lt;XF86UserPB&gt;
 &lt;XF86User1KB&gt;
 &lt;XF86User2KB&gt;
 &lt;XF86Video&gt;
 &lt;XF86WheelButton&gt;
 &lt;XF86Word&gt;
 &lt;XF86Xfer&gt;
 &lt;XF86ZoomIn&gt;
 &lt;XF86ZoomOut&gt;
 &lt;XF86Away&gt;
 &lt;XF86Messenger&gt;
 &lt;XF86WebCam&gt;
 &lt;XF86MailForward&gt;
 &lt;XF86Pictures&gt;
 &lt;XF86Music&gt;
 &lt;XF86_Switch_VT_1&gt;-&lt;XF86_Switch_VT_12&gt;
 &lt;XF86_Ungrab&gt;
 &lt;XF86_ClearGrab&gt;
 &lt;XF86_Next_VMode&gt;
 &lt;XF86_Prev_VMode&gt;
</pre></div></div><div class="top"><p class="src"><a name="v:checkKeymap" class="def">checkKeymap</a> ::  XConfig l -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, a)] -&gt; X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/XMonad-Util-EZConfig.html#checkKeymap" class="link">Source</a></p><div class="doc"><p>Given a configuration record and a list of (key sequence
   description, action) pairs, check the key sequence descriptions
   for validity, and warn the user (via a popup xmessage window) of
   any unparseable or duplicate key sequences.  This function is
   appropriate for adding to your <code>startupHook</code>, and you are highly
   encouraged to do so; otherwise, duplicate or unparseable
   keybindings will be silently ignored.
</p><p>For example, you might do something like this:
</p><pre> main = xmonad $ myConfig

 myKeymap = [(&quot;S-M-c&quot;, kill), ...]
 myConfig = defaultConfig {
     ...
     keys = \c -&gt; mkKeymap c myKeymap
     startupHook = return () &gt;&gt; checkKeymap myConfig myKeymap
     ...
 }
</pre><p>NOTE: the <code>return ()</code> in the example above is very important!
 Otherwise, you might run into problems with infinite mutual
 recursion: the definition of myConfig depends on the definition of
 startupHook, which depends on the definition of myConfig, ... and
 so on.  Actually, it's likely that the above example in particular
 would be OK without the <code>return ()</code>, but making <code>myKeymap</code> take
 <code>myConfig</code> as a parameter would definitely lead to
 problems. Believe me.  It, uh, happened to my friend. In... a
 dream. Yeah. In any event, the <code>return () &gt;&gt;</code> introduces enough
 laziness to break the deadlock.
</p></div></div><div class="top"><p class="src"><a name="v:mkNamedKeymap" class="def">mkNamedKeymap</a> ::  XConfig l -&gt; [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="XMonad-Util-NamedActions.html#t:NamedAction">NamedAction</a>)] -&gt; [((<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeyMask">KeyMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>), <a href="XMonad-Util-NamedActions.html#t:NamedAction">NamedAction</a>)]<a href="src/XMonad-Util-EZConfig.html#mkNamedKeymap" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>