Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > cbed4e2528cdf527c82a0e95aec0d683 > files > 24

ghc-xmonad-devel-0.9.1-5.fc14.i686.rpm

<!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
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition"
>Position</A
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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) =&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle"
>Rectangle</A
> -&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle"
>Rectangle</A
> -&gt; <A HREF="XMonad-StackSet.html#t%3AStack"
>Stack</A
> a -&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle"
>Rectangle</A
> -&gt; <A HREF="XMonad-StackSet.html#t%3AStack"
>Stack</A
> a -&gt; [(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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle"
>Rectangle</A
> -&gt; <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 -&gt; <A HREF="XMonad-Core.html#t%3ASomeMessage"
>SomeMessage</A
> -&gt; <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 -&gt; <A HREF="XMonad-Core.html#t%3ASomeMessage"
>SomeMessage</A
> -&gt; <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 -&gt; <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)) =&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; [(<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 =&gt; <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 =&gt; <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 =&gt; <A HREF="XMonad-Core.html#t%3ASomeMessage"
>SomeMessage</A
> -&gt; <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
> -&gt; <A HREF="XMonad-Core.html#t%3AXState"
>XState</A
> -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a -&gt; <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 -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a -&gt; <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 -&gt; <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 -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a -&gt; <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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a -&gt; 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 =&gt; <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
> -&gt; 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 =&gt; 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 =&gt; 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
> -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a) -&gt; <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
> -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a) -&gt; <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
> -&gt; <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
> -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> <A HREF="XMonad-Core.html#t%3AWindowSpace"
>WindowSpace</A
>) -&gt; <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
> -&gt; <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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; 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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; 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 =&gt; 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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; 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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; 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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a -&gt; (a -&gt; m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
>) -&gt; 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
> -&gt; <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
> -&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
> -&gt; <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 =&gt; <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
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3APosition"
>Position</A
> -&gt; <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
> -&gt; <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: &quot;#dddddd&quot;
</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: &quot;#ff0000&quot;
</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: &quot;xterm&quot;
</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
> -&gt; <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
> -&gt; <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
> -&gt; <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
> -&gt; <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) =&gt; <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
>) &amp;&amp; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle"
>Rectangle</A
> -&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle"
>Rectangle</A
> -&gt; <A HREF="XMonad-StackSet.html#t%3AStack"
>Stack</A
> a -&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle"
>Rectangle</A
> -&gt; <A HREF="XMonad-StackSet.html#t%3AStack"
>Stack</A
> a -&gt; [(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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle"
>Rectangle</A
> -&gt; <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 -&gt; <A HREF="XMonad-Core.html#t%3ASomeMessage"
>SomeMessage</A
> -&gt; <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 -&gt; <A HREF="XMonad-Core.html#t%3ASomeMessage"
>SomeMessage</A
> -&gt; <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 -&gt; <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 =&gt; <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) =&gt; <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)) =&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; [(<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) =&gt; <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 =&gt; <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 =&gt; <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 =&gt; <A HREF="XMonad-Core.html#t%3ASomeMessage"
>SomeMessage</A
> -&gt; <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
> -&gt; <A HREF="XMonad-Core.html#t%3AXState"
>XState</A
> -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a -&gt; <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 -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a -&gt; <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 -&gt; <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 -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a -&gt; <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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a -&gt; 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 =&gt; <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
> -&gt; 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 =&gt; 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 =&gt; 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
> -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a) -&gt; <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
> -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> a) -&gt; <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
> -&gt; <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
> -&gt; <A HREF="XMonad-Core.html#t%3AX"
>X</A
> <A HREF="XMonad-Core.html#t%3AWindowSpace"
>WindowSpace</A
>) -&gt; <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
> -&gt; <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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; 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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; 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 =&gt; 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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; 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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; 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 =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a -&gt; (a -&gt; m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
>) -&gt; 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
> -&gt; <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
> -&gt; <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 =&gt; <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 -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t%3AWindow"
>Window</A
> -&gt; <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
>