<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >XMonad.Util.NamedActions</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_XMonad-Util-NamedActions.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >xmonad-contrib-0.9.1: Third party extensions for xmonad</TD ><TD CLASS="topbut" ><A HREF="src/XMonad-Util-NamedActions.html" >Source code</A ></TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >XMonad.Util.NamedActions</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >unportable</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >unstable</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >Adam Vogt <vogt.adam@gmail.com></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><B >Contents</B ></TD ></TR ><TR ><TD ><DL ><DT ><A HREF="#1" >Usage: </A ></DT ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >A wrapper for keybinding configuration that can list the available keybindings. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AsendMessage%27" >sendMessage'</A > :: (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AMessage" >Message</A > a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a) => a -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aspawn%27" >spawn'</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsubmapName" >submapName</A > :: <A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > a => [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), a)] -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddDescrKeys" >addDescrKeys</A > :: (<A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > b1, <A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > b) => ((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)] -> b) -> (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayout" >Layout</A > -> [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), b1)]) -> <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig" >XConfig</A > l -> <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig" >XConfig</A > l</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AxMessage" >xMessage</A > :: [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)] -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowKmSimple" >showKmSimple</A > :: [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)] -> [[<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >]]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowKm" >showKm</A > :: [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)] -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnoName" >noName</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A > -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AoneName" >oneName</A > :: (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A >, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >) -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddName" >addName</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A > -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aseparator" >separator</A > :: ((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Asubtitle" >subtitle</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> ((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%5E%2B%2B%5E" >(^++^)</A > :: (<A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > b, <A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > b1) => [(d, b)] -> [(d, b1)] -> [(d, <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ANamedAction" >NamedAction</A > = <SPAN CLASS="keyword" >forall</SPAN > a . <A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > a => <A HREF="#v%3ANamedAction" >NamedAction</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3AHasName" >HasName</A > a </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdefaultKeysDescr" >defaultKeysDescr</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayout" >Layout</A > -> [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)]</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="1" ><A NAME="1" >Usage: </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="doc" ><P >Here is an example config that demonstrates the usage of <TT ><A HREF="XMonad-Util-NamedActions.html#v%3AsendMessage%27" >sendMessage'</A ></TT >, mkNamedKeymap, <TT ><A HREF="XMonad-Util-NamedActions.html#v%3AaddDescrKeys" >addDescrKeys</A ></TT >, and <TT ><A HREF="XMonad-Util-NamedActions.html#v%3A%5E%2B%2B%5E" >^++^</A ></TT > </P ><PRE > 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")] </PRE ><P >Using <TT ><A HREF="XMonad-Util-NamedActions.html#v%3A%5E%2B%2B%5E" >^++^</A ></TT >, you can combine bindings whose actions are <TT >X ()</TT > as well as actions that have descriptions. However you cannot mix the two in a single list, unless each is prefixed with <TT ><A HREF="XMonad-Util-NamedActions.html#v%3AaddName" >addName</A ></TT > or <TT ><A HREF="XMonad-Util-NamedActions.html#v%3AnoName" >noName</A ></TT >. </P ><P >If you don't like EZConfig, you can still use <TT ><A HREF="XMonad-Util-NamedActions.html#v%3A%5E%2B%2B%5E" >^++^</A ></TT > with the basic XMonad keybinding configuration too. </P ><P >Also note the unfortunate necessity of a type annotation, since <TT ><A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#v%3Aspawn" >spawn</A ></TT > is too general. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:sendMessage'" ><A NAME="v%3AsendMessage%27" ></A ></A ><B >sendMessage'</B > :: (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AMessage" >Message</A > a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a) => a -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#sendMessage%27" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Operations.html#v%3AsendMessage" >sendMessage</A ></TT > but add a description that is <TT >show message</TT >. Note that not all messages have show instances. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:spawn'" ><A NAME="v%3Aspawn%27" ></A ></A ><B >spawn'</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#spawn%27" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#v%3Aspawn" >spawn</A ></TT > but the description is the string passed </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:submapName" ><A NAME="v%3AsubmapName" ></A ></A ><B >submapName</B > :: <A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > a => [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), a)] -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#submapName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="XMonad-Actions-Submap.html#v%3Asubmap" >submap</A ></TT >, but propagate the descriptions of the actions. Does this belong in <A HREF="XMonad-Actions-Submap.html" >XMonad.Actions.Submap</A >? </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addDescrKeys" ><A NAME="v%3AaddDescrKeys" ></A ></A ><B >addDescrKeys</B > :: (<A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > b1, <A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > b) => ((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)] -> b) -> (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayout" >Layout</A > -> [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), b1)]) -> <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig" >XConfig</A > l -> <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig" >XConfig</A > l</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#addDescrKeys" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Merge the supplied keys with <TT ><A HREF="XMonad-Util-NamedActions.html#v%3AdefaultKeysDescr" >defaultKeysDescr</A ></TT >, also adding a keybinding to run an action for showing the keybindings. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:xMessage" ><A NAME="v%3AxMessage" ></A ></A ><B >xMessage</B > :: [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)] -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#xMessage" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >An action to send to <TT ><A HREF="XMonad-Util-NamedActions.html#v%3AaddDescrKeys" >addDescrKeys</A ></TT > for showing the keybindings. See also <TT ><A HREF="XMonad-Util-NamedActions.html#v%3AshowKm" >showKm</A ></TT > and <TT ><A HREF="XMonad-Util-NamedActions.html#v%3AshowKmSimple" >showKmSimple</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:showKmSimple" ><A NAME="v%3AshowKmSimple" ></A ></A ><B >showKmSimple</B > :: [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)] -> [[<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >]]</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#showKmSimple" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:showKm" ><A NAME="v%3AshowKm" ></A ></A ><B >showKm</B > :: [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)] -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#showKm" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:noName" ><A NAME="v%3AnoName" ></A ></A ><B >noName</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A > -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#noName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >These are just the <TT >NamedAction</TT > constructor but with a more specialized type, so that you don't have to supply any annotations, for ex coercing spawn to <TT >X ()</TT > from the more general <TT >MonadIO m => m ()</TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:oneName" ><A NAME="v%3AoneName" ></A ></A ><B >oneName</B > :: (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A >, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >) -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#oneName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addName" ><A NAME="v%3AaddName" ></A ></A ><B >addName</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A > -> <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#addName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:separator" ><A NAME="v%3Aseparator" ></A ></A ><B >separator</B > :: ((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#separator" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >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 </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:subtitle" ><A NAME="v%3Asubtitle" ></A ></A ><B >subtitle</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> ((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#subtitle" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:^++^" ><A NAME="v%3A%5E%2B%2B%5E" ></A ></A ><B >(^++^)</B > :: (<A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > b, <A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > b1) => [(d, b)] -> [(d, b1)] -> [(d, <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)]</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#%5E%2B%2B%5E" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Combine keymap lists with actions that may or may not have names </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:NamedAction" ><A NAME="t%3ANamedAction" ></A ></A ><B >NamedAction</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#NamedAction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >An existential wrapper so that different types can be combined in lists, and maps </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><SPAN CLASS="keyword" >forall</SPAN > a . <A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > a => <A NAME="v:NamedAction" ><A NAME="v%3ANamedAction" ></A ></A ><B >NamedAction</B > a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:NamedAction')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:NamedAction" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > (<A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:HasName" ><A NAME="t%3AHasName" ></A ></A ><B >HasName</B > a </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#HasName" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HasName')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:HasName" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >]</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > ())</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > ())</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > (), [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >])</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > (<A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > (), <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Util-NamedActions.html#t%3AHasName" >HasName</A > (<A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:defaultKeysDescr" ><A NAME="v%3AdefaultKeysDescr" ></A ></A ><B >defaultKeysDescr</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayout" >Layout</A > -> [((<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeySym" >KeySym</A >), <A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A >)]</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Util-NamedActions.html#defaultKeysDescr" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >A version of the default keys from XMonad.Config.defaultConfig, but with <TT ><A HREF="XMonad-Util-NamedActions.html#t%3ANamedAction" >NamedAction</A ></TT > instead of <TT >X ()</TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >