<!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.Core</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-Core.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-0.9.1: A tiling window manager</TD ><TD CLASS="topbut" ><A HREF="src/XMonad-Core.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.Core</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >not portable, uses cunning newtype deriving</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >unstable</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >spencerjanssen@gmail.com</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >The <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad, a state monad transformer over <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT >, for the window manager state, and support routines. </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" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AX" >X</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AWindowSet" >WindowSet</A > = <A HREF="XMonad-StackSet.html#t%3AStackSet" >StackSet</A > <A HREF="XMonad-Core.html#t%3AWorkspaceId" >WorkspaceId</A > (<A HREF="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%3AWindow" >Window</A >) <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A > <A HREF="XMonad-Core.html#t%3AScreenDetail" >ScreenDetail</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AWindowSpace" >WindowSpace</A > = <A HREF="XMonad-StackSet.html#t%3AWorkspace" >Workspace</A > <A HREF="XMonad-Core.html#t%3AWorkspaceId" >WorkspaceId</A > (<A HREF="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%3AWindow" >Window</A >) <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AWorkspaceId" >WorkspaceId</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" ><SPAN CLASS="keyword" >newtype</SPAN > <A HREF="#t%3AScreenId" >ScreenId</A > = <A HREF="#v%3AS" >S</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AScreenDetail" >ScreenDetail</A > = <A HREF="#v%3ASD" >SD</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AscreenRect" >screenRect</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AXState" >XState</A > = <A HREF="#v%3AXState" >XState</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Awindowset" >windowset</A > :: !<A HREF="XMonad-Core.html#t%3AWindowSet" >WindowSet</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Amapped" >mapped</A > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Set.html#t%3ASet" >Set</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AwaitingUnmap" >waitingUnmap</A > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Adragging" >dragging</A > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition" >Position</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition" >Position</A > -> <A HREF="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-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 >))</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AXConf" >XConf</A > = <A HREF="#v%3AXConf" >XConf</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Adisplay" >display</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ADisplay" >Display</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aconfig" >config</A > :: !(<A HREF="XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="XMonad-Core.html#t%3ALayout" >Layout</A >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AtheRoot" >theRoot</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AnormalBorder" >normalBorder</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APixel" >Pixel</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AfocusedBorder" >focusedBorder</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APixel" >Pixel</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AkeyActions" >keyActions</A > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</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-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 >))</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AbuttonActions" >buttonActions</A > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</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%3AButton" >Button</A >) (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > -> <A HREF="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 >))</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmouseFocused" >mouseFocused</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmousePosition" >mousePosition</A > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition" >Position</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition" >Position</A >))</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AXConfig" >XConfig</A > l = <A HREF="#v%3AXConfig" >XConfig</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AnormalBorderColor" >normalBorderColor</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="recfield" ><A HREF="#v%3AfocusedBorderColor" >focusedBorderColor</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="recfield" ><A HREF="#v%3Aterminal" >terminal</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="recfield" ><A HREF="#v%3AlayoutHook" >layoutHook</A > :: !(l <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmanageHook" >manageHook</A > :: !<A HREF="XMonad-Core.html#t%3AManageHook" >ManageHook</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhandleEventHook" >handleEventHook</A > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Extras.html#t%3AEvent" >Event</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AAll" >All</A >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aworkspaces" >workspaces</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="recfield" ><A HREF="#v%3AnumlockMask" >numlockMask</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmodMask" >modMask</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Akeys" >keys</A > :: !(<A HREF="XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AButtonMask" >ButtonMask</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-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 >))</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AmouseBindings" >mouseBindings</A > :: !(<A HREF="XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AButtonMask" >ButtonMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AButton" >Button</A >) (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > -> <A HREF="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 >))</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AborderWidth" >borderWidth</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ADimension" >Dimension</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AlogHook" >logHook</A > :: !(<A HREF="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 >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AstartupHook" >startupHook</A > :: !(<A HREF="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 >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AfocusFollowsMouse" >focusFollowsMouse</A > :: !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (layout a) => <A HREF="#t%3ALayoutClass" >LayoutClass</A > layout a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3ArunLayout" >runLayout</A > :: <A HREF="XMonad-StackSet.html#t%3AWorkspace" >Workspace</A > <A HREF="XMonad-Core.html#t%3AWorkspaceId" >WorkspaceId</A > (layout a) a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > ([(a, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a))</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdoLayout" >doLayout</A > :: layout a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="XMonad-StackSet.html#t%3AStack" >Stack</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > ([(a, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a))</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApureLayout" >pureLayout</A > :: layout a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="XMonad-StackSet.html#t%3AStack" >Stack</A > a -> [(a, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)]</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AemptyLayout" >emptyLayout</A > :: layout a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > ([(a, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a))</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AhandleMessage" >handleMessage</A > :: layout a -> <A HREF="XMonad-Core.html#t%3ASomeMessage" >SomeMessage</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a))</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApureMessage" >pureMessage</A > :: layout a -> <A HREF="XMonad-Core.html#t%3ASomeMessage" >SomeMessage</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Adescription" >description</A > :: layout a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ALayout" >Layout</A > a = <SPAN CLASS="keyword" >forall</SPAN > l . (<A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > l a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > (l a)) => <A HREF="#v%3ALayout" >Layout</A > (l a)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadsLayout" >readsLayout</A > :: <A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> [(<A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > 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" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3ATypeable" >Typeable</A > a </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > a => <A HREF="#t%3AMessage" >Message</A > a </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ASomeMessage" >SomeMessage</A > = <SPAN CLASS="keyword" >forall</SPAN > a . <A HREF="XMonad-Core.html#t%3AMessage" >Message</A > a => <A HREF="#v%3ASomeMessage" >SomeMessage</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfromMessage" >fromMessage</A > :: <A HREF="XMonad-Core.html#t%3AMessage" >Message</A > m => <A HREF="XMonad-Core.html#t%3ASomeMessage" >SomeMessage</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > m</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ALayoutMessages" >LayoutMessages</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AHide" >Hide</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AReleaseResources" >ReleaseResources</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArunX" >runX</A > :: <A HREF="XMonad-Core.html#t%3AXConf" >XConf</A > -> <A HREF="XMonad-Core.html#t%3AXState" >XState</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > (a, <A HREF="XMonad-Core.html#t%3AXState" >XState</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcatchX" >catchX</A > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AuserCode" >userCode</A > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AuserCodeDef" >userCodeDef</A > :: a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aio" >io</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > a -> m a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcatchIO" >catchIO</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinstallSignalHandlers" >installSignalHandlers</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AuninstallSignalHandlers" >uninstallSignalHandlers</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwithDisplay" >withDisplay</A > :: (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ADisplay" >Display</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a) -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwithWindowSet" >withWindowSet</A > :: (<A HREF="XMonad-Core.html#t%3AWindowSet" >WindowSet</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a) -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisRoot" >isRoot</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArunOnWorkspaces" >runOnWorkspaces</A > :: (<A HREF="XMonad-Core.html#t%3AWindowSpace" >WindowSpace</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="XMonad-Core.html#t%3AWindowSpace" >WindowSpace</A >) -> <A HREF="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 ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetAtom" >getAtom</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AAtom" >Atom</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aspawn" >spawn</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AspawnPID" >spawnPID</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3AProcessID" >ProcessID</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetXMonadDir" >getXMonadDir</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => m <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%3Arecompile" >recompile</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Atrace" >trace</A > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwhenJust" >whenJust</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a -> (a -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A >) -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwhenX" >whenX</A > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="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-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 ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aatom_WM_STATE" >atom_WM_STATE</A > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AAtom" >Atom</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aatom_WM_PROTOCOLS" >atom_WM_PROTOCOLS</A > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AAtom" >Atom</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aatom_WM_DELETE_WINDOW" >atom_WM_DELETE_WINDOW</A > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AAtom" >Atom</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AManageHook" >ManageHook</A > = <A HREF="XMonad-Core.html#t%3AQuery" >Query</A > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AEndo" >Endo</A > <A HREF="XMonad-Core.html#t%3AWindowSet" >WindowSet</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >newtype</SPAN > <A HREF="#t%3AQuery" >Query</A > a = <A HREF="#v%3AQuery" >Query</A > (<A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Reader.html#t%3AReaderT" >ReaderT</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > <A HREF="XMonad-Core.html#t%3AX" >X</A > a)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArunQuery" >runQuery</A > :: <A HREF="XMonad-Core.html#t%3AQuery" >Query</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</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:X" ><A NAME="t%3AX" ></A ></A ><B >X</B > a </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#X" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >The X monad, <TT ><A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Reader.html#t%3AReaderT" >ReaderT</A ></TT > and <TT ><A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-State-Lazy.html#t%3AStateT" >StateT</A ></TT > transformers over <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT > encapsulating the window manager configuration and state, respectively. </P ><P >Dynamic components may be retrieved with <TT ><A HREF="XMonad.html#v%3Aget" >get</A ></TT >, static components with <TT ><A HREF="XMonad.html#v%3Aask" >ask</A ></TT >. With newtype deriving we get readers and state monads instantiated on <TT ><A HREF="XMonad-Core.html#t%3AXConf" >XConf</A ></TT > and <TT ><A HREF="XMonad-Core.html#t%3AXState" >XState</A ></TT > automatically. </P ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:X')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:X" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > <A HREF="XMonad-Core.html#t%3AX" >X</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor" >Functor</A > <A HREF="XMonad-Core.html#t%3AX" >X</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1" >Typeable1</A > <A HREF="XMonad-Core.html#t%3AX" >X</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Applicative.html#t%3AApplicative" >Applicative</A > <A HREF="XMonad-Core.html#t%3AX" >X</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > <A HREF="XMonad-Core.html#t%3AX" >X</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad.html#t%3AMonadReader" >MonadReader</A > <A HREF="XMonad-Core.html#t%3AXConf" >XConf</A > <A HREF="XMonad-Core.html#t%3AX" >X</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad.html#t%3AMonadState" >MonadState</A > <A HREF="XMonad-Core.html#t%3AXState" >XState</A > <A HREF="XMonad-Core.html#t%3AX" >X</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AMonoid" >Monoid</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AMonoid" >Monoid</A > (<A HREF="XMonad-Core.html#t%3AX" >X</A > 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" >type</SPAN > <A NAME="t:WindowSet" ><A NAME="t%3AWindowSet" ></A ></A ><B >WindowSet</B > = <A HREF="XMonad-StackSet.html#t%3AStackSet" >StackSet</A > <A HREF="XMonad-Core.html#t%3AWorkspaceId" >WorkspaceId</A > (<A HREF="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%3AWindow" >Window</A >) <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A > <A HREF="XMonad-Core.html#t%3AScreenDetail" >ScreenDetail</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#WindowSet" >Source</A ></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" >type</SPAN > <A NAME="t:WindowSpace" ><A NAME="t%3AWindowSpace" ></A ></A ><B >WindowSpace</B > = <A HREF="XMonad-StackSet.html#t%3AWorkspace" >Workspace</A > <A HREF="XMonad-Core.html#t%3AWorkspaceId" >WorkspaceId</A > (<A HREF="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%3AWindow" >Window</A >) <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#WindowSpace" >Source</A ></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" >type</SPAN > <A NAME="t:WorkspaceId" ><A NAME="t%3AWorkspaceId" ></A ></A ><B >WorkspaceId</B > = <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-Core.html#WorkspaceId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Virtual workspace indices </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >newtype</SPAN > <A NAME="t:ScreenId" ><A NAME="t%3AScreenId" ></A ></A ><B >ScreenId</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#ScreenId" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Physical screen indices </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:S" ><A NAME="v%3AS" ></A ></A ><B >S</B > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ScreenId')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:ScreenId" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AEnum" >Enum</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AIntegral" >Integral</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ANum" >Num</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AReal" >Real</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="XMonad-Core.html#t%3AScreenId" >ScreenId</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" >data</SPAN > <A NAME="t:ScreenDetail" ><A NAME="t%3AScreenDetail" ></A ></A ><B >ScreenDetail</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#ScreenDetail" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The <TT ><A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A ></TT > with screen dimensions </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:SD" ><A NAME="v%3ASD" ></A ></A ><B >SD</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:screenRect" ><A NAME="v%3AscreenRect" ></A ></A ><B >screenRect</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ScreenDetail')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:ScreenDetail" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="XMonad-Core.html#t%3AScreenDetail" >ScreenDetail</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > <A HREF="XMonad-Core.html#t%3AScreenDetail" >ScreenDetail</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="XMonad-Core.html#t%3AScreenDetail" >ScreenDetail</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" >data</SPAN > <A NAME="t:XState" ><A NAME="t%3AXState" ></A ></A ><B >XState</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#XState" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >XState, the (mutable) window manager state. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:XState" ><A NAME="v%3AXState" ></A ></A ><B >XState</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:windowset" ><A NAME="v%3Awindowset" ></A ></A ><B >windowset</B > :: !<A HREF="XMonad-Core.html#t%3AWindowSet" >WindowSet</A ></TD ><TD CLASS="rdoc" >workspace list </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:mapped" ><A NAME="v%3Amapped" ></A ></A ><B >mapped</B > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Set.html#t%3ASet" >Set</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A >)</TD ><TD CLASS="rdoc" >the Set of mapped windows </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:waitingUnmap" ><A NAME="v%3AwaitingUnmap" ></A ></A ><B >waitingUnmap</B > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >)</TD ><TD CLASS="rdoc" >the number of expected UnmapEvents </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:dragging" ><A NAME="v%3Adragging" ></A ></A ><B >dragging</B > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition" >Position</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition" >Position</A > -> <A HREF="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-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 >))</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:XState')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:XState" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad.html#t%3AMonadState" >MonadState</A > <A HREF="XMonad-Core.html#t%3AXState" >XState</A > <A HREF="XMonad-Core.html#t%3AX" >X</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" >data</SPAN > <A NAME="t:XConf" ><A NAME="t%3AXConf" ></A ></A ><B >XConf</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#XConf" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >XConf, the (read-only) window manager configuration. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:XConf" ><A NAME="v%3AXConf" ></A ></A ><B >XConf</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:display" ><A NAME="v%3Adisplay" ></A ></A ><B >display</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ADisplay" >Display</A ></TD ><TD CLASS="rdoc" >the X11 display </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:config" ><A NAME="v%3Aconfig" ></A ></A ><B >config</B > :: !(<A HREF="XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="XMonad-Core.html#t%3ALayout" >Layout</A >)</TD ><TD CLASS="rdoc" >initial user configuration </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:theRoot" ><A NAME="v%3AtheRoot" ></A ></A ><B >theRoot</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A ></TD ><TD CLASS="rdoc" >the root window </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:normalBorder" ><A NAME="v%3AnormalBorder" ></A ></A ><B >normalBorder</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APixel" >Pixel</A ></TD ><TD CLASS="rdoc" >border color of unfocused windows </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:focusedBorder" ><A NAME="v%3AfocusedBorder" ></A ></A ><B >focusedBorder</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APixel" >Pixel</A ></TD ><TD CLASS="rdoc" >border color of the focused window </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:keyActions" ><A NAME="v%3AkeyActions" ></A ></A ><B >keyActions</B > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</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-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 >))</TD ><TD CLASS="rdoc" >a mapping of key presses to actions </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:buttonActions" ><A NAME="v%3AbuttonActions" ></A ></A ><B >buttonActions</B > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</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%3AButton" >Button</A >) (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > -> <A HREF="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 >))</TD ><TD CLASS="rdoc" >a mapping of button presses to actions </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:mouseFocused" ><A NAME="v%3AmouseFocused" ></A ></A ><B >mouseFocused</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" >was refocus caused by mouse action? </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:mousePosition" ><A NAME="v%3AmousePosition" ></A ></A ><B >mousePosition</B > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition" >Position</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition" >Position</A >))</TD ><TD CLASS="rdoc" >position of the mouse according to the event currently being processed </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:XConf')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:XConf" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad.html#t%3AMonadReader" >MonadReader</A > <A HREF="XMonad-Core.html#t%3AXConf" >XConf</A > <A HREF="XMonad-Core.html#t%3AX" >X</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" >data</SPAN > <A NAME="t:XConfig" ><A NAME="t%3AXConfig" ></A ></A ><B >XConfig</B > l </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#XConfig" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:XConfig" ><A NAME="v%3AXConfig" ></A ></A ><B >XConfig</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:normalBorderColor" ><A NAME="v%3AnormalBorderColor" ></A ></A ><B >normalBorderColor</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >Non focused windows border color. Default: "#dddddd" </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:focusedBorderColor" ><A NAME="v%3AfocusedBorderColor" ></A ></A ><B >focusedBorderColor</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >Focused windows border color. Default: "#ff0000" </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:terminal" ><A NAME="v%3Aterminal" ></A ></A ><B >terminal</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >The preferred terminal application. Default: "xterm" </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:layoutHook" ><A NAME="v%3AlayoutHook" ></A ></A ><B >layoutHook</B > :: !(l <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A >)</TD ><TD CLASS="rdoc" >The available layouts </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:manageHook" ><A NAME="v%3AmanageHook" ></A ></A ><B >manageHook</B > :: !<A HREF="XMonad-Core.html#t%3AManageHook" >ManageHook</A ></TD ><TD CLASS="rdoc" >The action to run when a new window is opened </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:handleEventHook" ><A NAME="v%3AhandleEventHook" ></A ></A ><B >handleEventHook</B > :: !(<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Extras.html#t%3AEvent" >Event</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AAll" >All</A >)</TD ><TD CLASS="rdoc" >Handle an X event, returns (All True) if the default handler should also be run afterwards. mappend should be used for combining event hooks in most cases. </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:workspaces" ><A NAME="v%3Aworkspaces" ></A ></A ><B >workspaces</B > :: ![<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" >The list of workspaces' names </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:numlockMask" ><A NAME="v%3AnumlockMask" ></A ></A ><B >numlockMask</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A ></TD ><TD CLASS="rdoc" >The numlock modifier </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:modMask" ><A NAME="v%3AmodMask" ></A ></A ><B >modMask</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AKeyMask" >KeyMask</A ></TD ><TD CLASS="rdoc" >the mod modifier </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:keys" ><A NAME="v%3Akeys" ></A ></A ><B >keys</B > :: !(<A HREF="XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AButtonMask" >ButtonMask</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-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 >))</TD ><TD CLASS="rdoc" >The key binding: a map from key presses and actions </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:mouseBindings" ><A NAME="v%3AmouseBindings" ></A ></A ><B >mouseBindings</B > :: !(<A HREF="XMonad-Core.html#t%3AXConfig" >XConfig</A > <A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AButtonMask" >ButtonMask</A >, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AButton" >Button</A >) (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > -> <A HREF="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 >))</TD ><TD CLASS="rdoc" >The mouse bindings </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:borderWidth" ><A NAME="v%3AborderWidth" ></A ></A ><B >borderWidth</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ADimension" >Dimension</A ></TD ><TD CLASS="rdoc" >The border width </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:logHook" ><A NAME="v%3AlogHook" ></A ></A ><B >logHook</B > :: !(<A HREF="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 >)</TD ><TD CLASS="rdoc" >The action to perform when the windows set is changed </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:startupHook" ><A NAME="v%3AstartupHook" ></A ></A ><B >startupHook</B > :: !(<A HREF="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 >)</TD ><TD CLASS="rdoc" >The action to perform on startup </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:focusFollowsMouse" ><A NAME="v%3AfocusFollowsMouse" ></A ></A ><B >focusFollowsMouse</B > :: !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" >Whether window entry events can change focus </TD ></TR ></TABLE ></TD ></TR ></TABLE ></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 HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (layout a) => <A NAME="t:LayoutClass" ><A NAME="t%3ALayoutClass" ></A ></A ><B >LayoutClass</B > layout a <SPAN CLASS="keyword" >where</SPAN ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#LayoutClass" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >Every layout must be an instance of <TT ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A ></TT >, which defines the basic layout operations along with a sensible default for each. </P ><P >Minimal complete definition: </P ><UL ><LI > <TT ><A HREF="XMonad-Core.html#v%3ArunLayout" >runLayout</A ></TT > || ((<TT ><A HREF="XMonad-Core.html#v%3AdoLayout" >doLayout</A ></TT > || <TT ><A HREF="XMonad-Core.html#v%3ApureLayout" >pureLayout</A ></TT >) && <TT ><A HREF="XMonad-Core.html#v%3AemptyLayout" >emptyLayout</A ></TT >), and </LI ><LI > <TT ><A HREF="XMonad-Core.html#v%3AhandleMessage" >handleMessage</A ></TT > || <TT ><A HREF="XMonad-Core.html#v%3ApureMessage" >pureMessage</A ></TT > </LI ></UL ><P >You should also strongly consider implementing <TT ><A HREF="XMonad-Core.html#v%3Adescription" >description</A ></TT >, although it is not required. </P ><P >Note that any code which <EM >uses</EM > <TT ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A ></TT > methods should only ever call <TT ><A HREF="XMonad-Core.html#v%3ArunLayout" >runLayout</A ></TT >, <TT ><A HREF="XMonad-Core.html#v%3AhandleMessage" >handleMessage</A ></TT >, and <TT ><A HREF="XMonad-Core.html#v%3Adescription" >description</A ></TT >! In other words, the only calls to <TT ><A HREF="XMonad-Core.html#v%3AdoLayout" >doLayout</A ></TT >, <TT ><A HREF="XMonad-Core.html#v%3ApureMessage" >pureMessage</A ></TT >, and other such methods should be from the default implementations of <TT ><A HREF="XMonad-Core.html#v%3ArunLayout" >runLayout</A ></TT >, <TT ><A HREF="XMonad-Core.html#v%3AhandleMessage" >handleMessage</A ></TT >, and so on. This ensures that the proper methods will be used, regardless of the particular methods that any <TT ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A ></TT > instance chooses to define. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:runLayout" ><A NAME="v%3ArunLayout" ></A ></A ><B >runLayout</B > :: <A HREF="XMonad-StackSet.html#t%3AWorkspace" >Workspace</A > <A HREF="XMonad-Core.html#t%3AWorkspaceId" >WorkspaceId</A > (layout a) a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > ([(a, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a))</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#runLayout" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >By default, <TT ><A HREF="XMonad-Core.html#v%3ArunLayout" >runLayout</A ></TT > calls <TT ><A HREF="XMonad-Core.html#v%3AdoLayout" >doLayout</A ></TT > if there are any windows to be laid out, and <TT ><A HREF="XMonad-Core.html#v%3AemptyLayout" >emptyLayout</A ></TT > otherwise. Most instances of <TT ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A ></TT > probably do not need to implement <TT ><A HREF="XMonad-Core.html#v%3ArunLayout" >runLayout</A ></TT >; it is only useful for layouts which wish to make use of more of the <TT ><A HREF="XMonad-StackSet.html#t%3AWorkspace" >Workspace</A ></TT > information (for example, <A HREF="XMonad-Layout-PerWorkspace.html" >XMonad.Layout.PerWorkspace</A >). </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:doLayout" ><A NAME="v%3AdoLayout" ></A ></A ><B >doLayout</B > :: layout a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="XMonad-StackSet.html#t%3AStack" >Stack</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > ([(a, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a))</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#doLayout" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >Given a <TT ><A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A ></TT > in which to place the windows, and a <TT ><A HREF="XMonad-StackSet.html#t%3AStack" >Stack</A ></TT > of windows, return a list of windows and their corresponding Rectangles. If an element is not given a Rectangle by <TT ><A HREF="XMonad-Core.html#v%3AdoLayout" >doLayout</A ></TT >, then it is not shown on screen. The order of windows in this list should be the desired stacking order. </P ><P >Also possibly return a modified layout (by returning <TT >Just newLayout</TT >), if this layout needs to be modified (e.g. if it keeps track of some sort of state). Return <TT >Nothing</TT > if the layout does not need to be modified. </P ><P >Layouts which do not need access to the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad (<TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT >, window manager state, or configuration) and do not keep track of their own state should implement <TT ><A HREF="XMonad-Core.html#v%3ApureLayout" >pureLayout</A ></TT > instead of <TT ><A HREF="XMonad-Core.html#v%3AdoLayout" >doLayout</A ></TT >. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pureLayout" ><A NAME="v%3ApureLayout" ></A ></A ><B >pureLayout</B > :: layout a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="XMonad-StackSet.html#t%3AStack" >Stack</A > a -> [(a, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)]</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#pureLayout" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >This is a pure version of <TT ><A HREF="XMonad-Core.html#v%3AdoLayout" >doLayout</A ></TT >, for cases where we don't need access to the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad to determine how to lay out the windows, and we don't need to modify the layout itself. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:emptyLayout" ><A NAME="v%3AemptyLayout" ></A ></A ><B >emptyLayout</B > :: layout a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > ([(a, <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)], <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a))</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#emptyLayout" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="XMonad-Core.html#v%3AemptyLayout" >emptyLayout</A ></TT > is called when there are no windows. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:handleMessage" ><A NAME="v%3AhandleMessage" ></A ></A ><B >handleMessage</B > :: layout a -> <A HREF="XMonad-Core.html#t%3ASomeMessage" >SomeMessage</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a))</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#handleMessage" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P ><TT ><A HREF="XMonad-Core.html#v%3AhandleMessage" >handleMessage</A ></TT > performs message handling. If <TT ><A HREF="XMonad-Core.html#v%3AhandleMessage" >handleMessage</A ></TT > returns <TT >Nothing</TT >, then the layout did not respond to the message and the screen is not refreshed. Otherwise, <TT ><A HREF="XMonad-Core.html#v%3AhandleMessage" >handleMessage</A ></TT > returns an updated layout and the screen is refreshed. </P ><P >Layouts which do not need access to the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad to decide how to handle messages should implement <TT ><A HREF="XMonad-Core.html#v%3ApureMessage" >pureMessage</A ></TT > instead of <TT ><A HREF="XMonad-Core.html#v%3AhandleMessage" >handleMessage</A ></TT > (this restricts the risk of error, and makes testing much easier). </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:pureMessage" ><A NAME="v%3ApureMessage" ></A ></A ><B >pureMessage</B > :: layout a -> <A HREF="XMonad-Core.html#t%3ASomeMessage" >SomeMessage</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > (layout a)</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#pureMessage" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Respond to a message by (possibly) changing our layout, but taking no other action. If the layout changes, the screen will be refreshed. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:description" ><A NAME="v%3Adescription" ></A ></A ><B >description</B > :: layout 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-Core.html#description" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >This should be a human-readable string that is used when selecting layouts by name. The default implementation is <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#v%3Ashow" >show</A ></TT >, which is in some cases a poor default. </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:LayoutClass')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:LayoutClass" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > <A HREF="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%3AWindow" >Window</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > <A HREF="XMonad-Layout.html#t%3ATall" >Tall</A > a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > <A HREF="XMonad-Layout.html#t%3AFull" >Full</A > a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > l a => <A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > (<A HREF="XMonad-Layout.html#t%3AMirror" >Mirror</A > l) a</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > l a, <A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > r a) => <A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > (<A HREF="XMonad-Layout.html#t%3AChoose" >Choose</A > l r) 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" >data</SPAN > <A NAME="t:Layout" ><A NAME="t%3ALayout" ></A ></A ><B >Layout</B > a </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#Layout" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >An existential type that can hold any object that is in <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A ></TT > and <TT ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A ></TT >. </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 > l . (<A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > l a, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > (l a)) => <A NAME="v:Layout" ><A NAME="v%3ALayout" ></A ></A ><B >Layout</B > (l a)</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Layout')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Layout" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > <A HREF="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%3AWindow" >Window</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > 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:readsLayout" ><A NAME="v%3AreadsLayout" ></A ></A ><B >readsLayout</B > :: <A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> [(<A HREF="XMonad-Core.html#t%3ALayout" >Layout</A > 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-Core.html#readsLayout" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Using the <TT ><A HREF="XMonad-Core.html#t%3ALayout" >Layout</A ></TT > as a witness, parse existentially wrapped windows from a <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TT >. </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:Typeable" ><A NAME="t%3ATypeable" ></A ></A ><B >Typeable</B > a </TD ><TD CLASS="declbut" ><A HREF="src/Data-Typeable.html#Typeable" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The class <TT ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A ></TT > allows a concrete representation of a type to be calculated. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Typeable')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Typeable" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</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-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ADouble" >Double</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AFloat" >Float</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt8" >Int8</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt16" >Int16</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt32" >Int32</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt64" >Int64</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3ARealWorld" >RealWorld</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord" >Word</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord8" >Word8</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord16" >Word16</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord32" >Word32</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord64" >Word64</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > ()</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > XErrorEvent</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > XComposeStatus</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > XTextProperty</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > FdSet</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > TimeZone</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Extras.html#t%3AEvent" >Event</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Event.html#t%3AXEvent" >XEvent</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ADisplay" >Display</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3AScreen" >Screen</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3AVisual" >Visual</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3AGC" >GC</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3AGCValues" >GCValues</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ASetWindowAttributes" >SetWindowAttributes</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3AImage" >Image</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APoint" >Point</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3AArc" >Arc</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ASegment" >Segment</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3AColor" >Color</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle" >Handle</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > Handle__</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-OldException.html#t%3AException" >Exception</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Data.html#t%3ADataType" >DataType</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACDev" >CDev</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACIno" >CIno</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACMode" >CMode</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACOff" >COff</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACPid" >CPid</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACSsize" >CSsize</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACGid" >CGid</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACNlink" >CNlink</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACUid" >CUid</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACCc" >CCc</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACSpeed" >CSpeed</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACTcflag" >CTcflag</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACRLim" >CRLim</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3AFd" >Fd</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3ABlockedIndefinitelyOnMVar" >BlockedIndefinitelyOnMVar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3ABlockedIndefinitelyOnSTM" >BlockedIndefinitelyOnSTM</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3ADeadlock" >Deadlock</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3AAssertionFailed" >AssertionFailed</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3AAsyncException" >AsyncException</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3AArrayException" >ArrayException</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Exit.html#t%3AExitCode" >ExitCode</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACChar" >CChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACSChar" >CSChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACUChar" >CUChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACShort" >CShort</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACUShort" >CUShort</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACInt" >CInt</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACUInt" >CUInt</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACLong" >CLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACULong" >CULong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACLLong" >CLLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACULLong" >CULLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACFloat" >CFloat</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACDouble" >CDouble</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACPtrdiff" >CPtrdiff</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACSize" >CSize</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACWchar" >CWchar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACSigAtomic" >CSigAtomic</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACClock" >CClock</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACTime" >CTime</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACIntPtr" >CIntPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACUIntPtr" >CUIntPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACIntMax" >CIntMax</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACUIntMax" >CUIntMax</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3AIOException" >IOException</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3ASomeException" >SomeException</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3AErrorCall" >ErrorCall</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Exception-Base.html#t%3AArithException" >ArithException</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeRep" >TypeRep</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATyCon" >TyCon</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="/usr/share/doc/ghc/html/libraries/unix-2.4.0.2/System-Posix-Signals.html#t%3AHandler" >Handler</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="XMonad-Core.html#t%3ALayoutMessages" >LayoutMessages</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > NextNoWrap</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="XMonad-Layout.html#t%3AChangeLayout" >ChangeLayout</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="XMonad-Layout.html#t%3AIncMasterN" >IncMasterN</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="XMonad-Layout.html#t%3AResize" >Resize</A ></TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable1" >Typeable1</A > s, <A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > a) => <A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > (s 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 HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > a => <A NAME="t:Message" ><A NAME="t%3AMessage" ></A ></A ><B >Message</B > a </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#Message" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >Based on ideas in /An Extensible Dynamically-Typed Hierarchy of Exceptions/, Simon Marlow, 2006. Use extensible messages to the <TT ><A HREF="XMonad-Core.html#v%3AhandleMessage" >handleMessage</A ></TT > handler. </P ><P >User-extensible messages must be a member of this class. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Message')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Message" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Extras.html#t%3AEvent" >Event</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A > <A HREF="XMonad-Core.html#t%3ALayoutMessages" >LayoutMessages</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A > NextNoWrap</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A > <A HREF="XMonad-Layout.html#t%3AChangeLayout" >ChangeLayout</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A > <A HREF="XMonad-Layout.html#t%3AIncMasterN" >IncMasterN</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A > <A HREF="XMonad-Layout.html#t%3AResize" >Resize</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" >data</SPAN > <A NAME="t:SomeMessage" ><A NAME="t%3ASomeMessage" ></A ></A ><B >SomeMessage</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#SomeMessage" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >A wrapped value of some type in the <TT ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A ></TT > class. </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-Core.html#t%3AMessage" >Message</A > a => <A NAME="v:SomeMessage" ><A NAME="v%3ASomeMessage" ></A ></A ><B >SomeMessage</B > a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></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:fromMessage" ><A NAME="v%3AfromMessage" ></A ></A ><B >fromMessage</B > :: <A HREF="XMonad-Core.html#t%3AMessage" >Message</A > m => <A HREF="XMonad-Core.html#t%3ASomeMessage" >SomeMessage</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > m</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#fromMessage" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >And now, unwrap a given, unknown <TT ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A ></TT > type, performing a (dynamic) type check on the result. </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:LayoutMessages" ><A NAME="t%3ALayoutMessages" ></A ></A ><B >LayoutMessages</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#LayoutMessages" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><TT ><A HREF="XMonad-Core.html#t%3ALayoutMessages" >LayoutMessages</A ></TT > are core messages that all layouts (especially stateful layouts) should consider handling. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Hide" ><A NAME="v%3AHide" ></A ></A ><B >Hide</B ></TD ><TD CLASS="rdoc" >sent when a layout becomes non-visible </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ReleaseResources" ><A NAME="v%3AReleaseResources" ></A ></A ><B >ReleaseResources</B ></TD ><TD CLASS="rdoc" >sent when xmonad is exiting or restarting </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:LayoutMessages')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:LayoutMessages" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="XMonad-Core.html#t%3ALayoutMessages" >LayoutMessages</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3ATypeable" >Typeable</A > <A HREF="XMonad-Core.html#t%3ALayoutMessages" >LayoutMessages</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad-Core.html#t%3AMessage" >Message</A > <A HREF="XMonad-Core.html#t%3ALayoutMessages" >LayoutMessages</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:runX" ><A NAME="v%3ArunX" ></A ></A ><B >runX</B > :: <A HREF="XMonad-Core.html#t%3AXConf" >XConf</A > -> <A HREF="XMonad-Core.html#t%3AXState" >XState</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > (a, <A HREF="XMonad-Core.html#t%3AXState" >XState</A >)</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#runX" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Run the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad, given a chunk of <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad code, and an initial state Return the result, and final state </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:catchX" ><A NAME="v%3AcatchX" ></A ></A ><B >catchX</B > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#catchX" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Run in the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad, and in case of exception, and catch it and log it to stderr, and run the error case. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:userCode" ><A NAME="v%3AuserCode" ></A ></A ><B >userCode</B > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a)</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#userCode" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Execute the argument, catching all exceptions. Either this function or <TT ><A HREF="XMonad-Core.html#v%3AcatchX" >catchX</A ></TT > should be used at all callsites of user customized code. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:userCodeDef" ><A NAME="v%3AuserCodeDef" ></A ></A ><B >userCodeDef</B > :: a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#userCodeDef" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Same as userCode but with a default argument to return instead of using Maybe, provided for convenience. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:io" ><A NAME="v%3Aio" ></A ></A ><B >io</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > a -> m a</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#io" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >General utilities </P ><P >Lift an <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT > action into the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:catchIO" ><A NAME="v%3AcatchIO" ></A ></A ><B >catchIO</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#catchIO" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Lift an <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT > action into the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad. If the action results in an <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO" >IO</A ></TT > exception, log the exception to stderr and continue normal execution. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:installSignalHandlers" ><A NAME="v%3AinstallSignalHandlers" ></A ></A ><B >installSignalHandlers</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#installSignalHandlers" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Ignore SIGPIPE to avoid termination when a pipe is full, and SIGCHLD to avoid zombie processes, and clean up any extant zombie processes. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:uninstallSignalHandlers" ><A NAME="v%3AuninstallSignalHandlers" ></A ></A ><B >uninstallSignalHandlers</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#uninstallSignalHandlers" >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:withDisplay" ><A NAME="v%3AwithDisplay" ></A ></A ><B >withDisplay</B > :: (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ADisplay" >Display</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a) -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#withDisplay" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Run a monad action with the current display settings </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:withWindowSet" ><A NAME="v%3AwithWindowSet" ></A ></A ><B >withWindowSet</B > :: (<A HREF="XMonad-Core.html#t%3AWindowSet" >WindowSet</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a) -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#withWindowSet" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Run a monadic action with the current stack set </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:isRoot" ><A NAME="v%3AisRoot" ></A ></A ><B >isRoot</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#isRoot" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >True if the given window is the root window </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:runOnWorkspaces" ><A NAME="v%3ArunOnWorkspaces" ></A ></A ><B >runOnWorkspaces</B > :: (<A HREF="XMonad-Core.html#t%3AWindowSpace" >WindowSpace</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="XMonad-Core.html#t%3AWindowSpace" >WindowSpace</A >) -> <A HREF="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 ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#runOnWorkspaces" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >This is basically a map function, running a function in the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad on each workspace with the output of that function being the modified workspace. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getAtom" ><A NAME="v%3AgetAtom" ></A ></A ><B >getAtom</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AAtom" >Atom</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#getAtom" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Wrapper for the common case of atom internment </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" ></A ></A ><B >spawn</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#spawn" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >spawn. Launch an external application. Specifically, it double-forks and runs the <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TT > you pass as a command to <EM >bin</EM >sh. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:spawnPID" ><A NAME="v%3AspawnPID" ></A ></A ><B >spawnPID</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3AProcessID" >ProcessID</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#spawnPID" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Like <TT ><A HREF="XMonad-Core.html#v%3Aspawn" >spawn</A ></TT >, but returns the <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3AProcessID" >ProcessID</A ></TT > of the launched application </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:getXMonadDir" ><A NAME="v%3AgetXMonadDir" ></A ></A ><B >getXMonadDir</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => m <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-Core.html#getXMonadDir" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Return the path to <TT >~/.xmonad</TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:recompile" ><A NAME="v%3Arecompile" ></A ></A ><B >recompile</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#recompile" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >'recompile force', recompile <TT >~/.xmonad/xmonad.hs</TT > when any of the following apply: </P ><UL ><LI > force is <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3ATrue" >True</A ></TT > </LI ><LI > the xmonad executable does not exist </LI ><LI > the xmonad executable is older than xmonad.hs </LI ></UL ><P >The -i flag is used to restrict recompilation to the xmonad.hs file only. </P ><P >Compilation errors (if any) are logged to ~/.xmonad/xmonad.errors. If GHC indicates failure with a non-zero exit code, an xmessage displaying that file is spawned. </P ><P ><TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#v%3AFalse" >False</A ></TT > is returned if there are compilation errors. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:trace" ><A NAME="v%3Atrace" ></A ></A ><B >trace</B > :: <A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#trace" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >A <TT ><A HREF="XMonad-Core.html#v%3Atrace" >trace</A ></TT > for the <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > monad. Logs a string to stderr. The result may be found in your .xsession-errors file </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:whenJust" ><A NAME="v%3AwhenJust" ></A ></A ><B >whenJust</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > m => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a -> (a -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A >) -> m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#whenJust" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Conditionally run an action, using a <TT >Maybe a</TT > to decide. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:whenX" ><A NAME="v%3AwhenX" ></A ></A ><B >whenX</B > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="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-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 ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#whenX" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Conditionally run an action, using a <TT ><A HREF="XMonad-Core.html#t%3AX" >X</A ></TT > event to decide </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:atom_WM_STATE" ><A NAME="v%3Aatom_WM_STATE" ></A ></A ><B >atom_WM_STATE</B > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AAtom" >Atom</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#atom_WM_STATE" >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:atom_WM_PROTOCOLS" ><A NAME="v%3Aatom_WM_PROTOCOLS" ></A ></A ><B >atom_WM_PROTOCOLS</B > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AAtom" >Atom</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#atom_WM_PROTOCOLS" >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:atom_WM_DELETE_WINDOW" ><A NAME="v%3Aatom_WM_DELETE_WINDOW" ></A ></A ><B >atom_WM_DELETE_WINDOW</B > :: <A HREF="XMonad-Core.html#t%3AX" >X</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AAtom" >Atom</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#atom_WM_DELETE_WINDOW" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Common non-predefined atoms </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:ManageHook" ><A NAME="t%3AManageHook" ></A ></A ><B >ManageHook</B > = <A HREF="XMonad-Core.html#t%3AQuery" >Query</A > (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AEndo" >Endo</A > <A HREF="XMonad-Core.html#t%3AWindowSet" >WindowSet</A >)</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#ManageHook" >Source</A ></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" >newtype</SPAN > <A NAME="t:Query" ><A NAME="t%3AQuery" ></A ></A ><B >Query</B > a </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#Query" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Query" ><A NAME="v%3AQuery" ></A ></A ><B >Query</B > (<A HREF="/usr/share/doc/ghc/html/libraries/mtl-1.1.0.2/Control-Monad-Reader.html#t%3AReaderT" >ReaderT</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > <A HREF="XMonad-Core.html#t%3AX" >X</A > a)</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Query')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Query" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > <A HREF="XMonad-Core.html#t%3AQuery" >Query</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AFunctor" >Functor</A > <A HREF="XMonad-Core.html#t%3AQuery" >Query</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad.html#t%3AMonadIO" >MonadIO</A > <A HREF="XMonad-Core.html#t%3AQuery" >Query</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="XMonad.html#t%3AMonadReader" >MonadReader</A > <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > <A HREF="XMonad-Core.html#t%3AQuery" >Query</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AMonoid" >Monoid</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Monoid.html#t%3AMonoid" >Monoid</A > (<A HREF="XMonad-Core.html#t%3AQuery" >Query</A > 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:runQuery" ><A NAME="v%3ArunQuery" ></A ></A ><B >runQuery</B > :: <A HREF="XMonad-Core.html#t%3AQuery" >Query</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow" >Window</A > -> <A HREF="XMonad-Core.html#t%3AX" >X</A > a</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Core.html#runQuery" >Source</A ></TD ></TR ></TABLE ></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 >