dots-of-war/.surf/cache/WebKitCache/Version 16/Blobs/4E717D81BB880C30E966E57B2C35459E905A81F6
2020-03-19 12:03:08 +01:00

85 lines
No EOL
168 KiB
Text

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>XMonad.Core</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/XMonad.Core.html">Source</a></li><li><a href="/package/xmonad-0.15">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">xmonad-0.15: A tiling window manager</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Spencer Janssen 2007</td></tr><tr><th>License</th><td>BSD3-style (see LICENSE)</td></tr><tr><th>Maintainer</th><td>spencerjanssen@gmail.com</td></tr><tr><th>Stability</th><td>unstable</td></tr><tr><th>Portability</th><td>not portable, uses cunning newtype deriving</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">XMonad.Core</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>The <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad, a state monad transformer over <code><a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a></code>, for the window
manager state, and support routines.</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">data</span> <a href="#t:X">X</a> a</li><li class="src short"><span class="keyword">type</span> <a href="#t:WindowSet">WindowSet</a> = <a href="XMonad-StackSet.html#t:StackSet" title="XMonad.StackSet">StackSet</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>) <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:WindowSpace">WindowSpace</a> = <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>) <a href="XMonad.html#t:Window" title="XMonad">Window</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:WorkspaceId">WorkspaceId</a> = <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:ScreenId">ScreenId</a> = <a href="#v:S">S</a> <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ScreenDetail">ScreenDetail</a> = <a href="#v:SD">SD</a> {<ul class="subs"><li><a href="#v:screenRect">screenRect</a> :: !<a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:XState">XState</a> = <a href="#v:XState">XState</a> {<ul class="subs"><li><a href="#v:windowset">windowset</a> :: !<a href="XMonad-Core.html#t:WindowSet" title="XMonad.Core">WindowSet</a></li><li><a href="#v:mapped">mapped</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Set.html#t:Set" title="Data.Set">Set</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)</li><li><a href="#v:waitingUnmap">waitingUnmap</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a>)</li><li><a href="#v:dragging">dragging</a> :: !(<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad.html#t:Position" title="XMonad">Position</a> -&gt; <a href="XMonad.html#t:Position" title="XMonad">Position</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (), <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</li><li><a href="#v:numberlockMask">numberlockMask</a> :: !<a href="XMonad.html#t:KeyMask" title="XMonad">KeyMask</a></li><li><a href="#v:extensibleState">extensibleState</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> (<a href="/package/base-4.11.1.0/docs/Data-Either.html#t:Either" title="Data.Either">Either</a> <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="XMonad-Core.html#t:StateExtension" title="XMonad.Core">StateExtension</a>))</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:XConf">XConf</a> = <a href="#v:XConf">XConf</a> {<ul class="subs"><li><a href="#v:display">display</a> :: <a href="XMonad.html#t:Display" title="XMonad">Display</a></li><li><a href="#v:config">config</a> :: !(<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a>)</li><li><a href="#v:theRoot">theRoot</a> :: !<a href="XMonad.html#t:Window" title="XMonad">Window</a></li><li><a href="#v:normalBorder">normalBorder</a> :: !<a href="XMonad.html#t:Pixel" title="XMonad">Pixel</a></li><li><a href="#v:focusedBorder">focusedBorder</a> :: !<a href="XMonad.html#t:Pixel" title="XMonad">Pixel</a></li><li><a href="#v:keyActions">keyActions</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> (<a href="XMonad.html#t:KeyMask" title="XMonad">KeyMask</a>, <a href="XMonad.html#t:KeySym" title="XMonad">KeySym</a>) (<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</li><li><a href="#v:buttonActions">buttonActions</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> (<a href="XMonad.html#t:KeyMask" title="XMonad">KeyMask</a>, <a href="XMonad.html#t:Button" title="XMonad">Button</a>) (<a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</li><li><a href="#v:mouseFocused">mouseFocused</a> :: !<a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></li><li><a href="#v:mousePosition">mousePosition</a> :: !(<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad.html#t:Position" title="XMonad">Position</a>, <a href="XMonad.html#t:Position" title="XMonad">Position</a>))</li><li><a href="#v:currentEvent">currentEvent</a> :: !(<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="/package/X11-1.9/docs/Graphics-X11-Xlib-Extras.html#t:Event" title="Graphics.X11.Xlib.Extras">Event</a>)</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:XConfig">XConfig</a> l = <a href="#v:XConfig">XConfig</a> {<ul class="subs"><li><a href="#v:normalBorderColor">normalBorderColor</a> :: !<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></li><li><a href="#v:focusedBorderColor">focusedBorderColor</a> :: !<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></li><li><a href="#v:terminal">terminal</a> :: !<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></li><li><a href="#v:layoutHook">layoutHook</a> :: !(l <a href="XMonad.html#t:Window" title="XMonad">Window</a>)</li><li><a href="#v:manageHook">manageHook</a> :: !<a href="XMonad-Core.html#t:ManageHook" title="XMonad.Core">ManageHook</a></li><li><a href="#v:handleEventHook">handleEventHook</a> :: !(<a href="/package/X11-1.9/docs/Graphics-X11-Xlib-Extras.html#t:Event" title="Graphics.X11.Xlib.Extras">Event</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="/package/base-4.11.1.0/docs/Data-Monoid.html#t:All" title="Data.Monoid">All</a>)</li><li><a href="#v:workspaces">workspaces</a> :: ![<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a>]</li><li><a href="#v:modMask">modMask</a> :: !<a href="XMonad.html#t:KeyMask" title="XMonad">KeyMask</a></li><li><a href="#v:keys">keys</a> :: !(<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> -&gt; <a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> (<a href="XMonad.html#t:ButtonMask" title="XMonad">ButtonMask</a>, <a href="XMonad.html#t:KeySym" title="XMonad">KeySym</a>) (<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</li><li><a href="#v:mouseBindings">mouseBindings</a> :: !(<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> -&gt; <a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> (<a href="XMonad.html#t:ButtonMask" title="XMonad">ButtonMask</a>, <a href="XMonad.html#t:Button" title="XMonad">Button</a>) (<a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</li><li><a href="#v:borderWidth">borderWidth</a> :: !<a href="XMonad.html#t:Dimension" title="XMonad">Dimension</a></li><li><a href="#v:logHook">logHook</a> :: !(<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ())</li><li><a href="#v:startupHook">startupHook</a> :: !(<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ())</li><li><a href="#v:focusFollowsMouse">focusFollowsMouse</a> :: !<a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></li><li><a href="#v:clickJustFocuses">clickJustFocuses</a> :: !<a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></li><li><a href="#v:clientMask">clientMask</a> :: !<a href="XMonad.html#t:EventMask" title="XMonad">EventMask</a></li><li><a href="#v:rootMask">rootMask</a> :: !<a href="XMonad.html#t:EventMask" title="XMonad">EventMask</a></li><li><a href="#v:handleExtraArgs">handleExtraArgs</a> :: !([<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a>] -&gt; <a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> -&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> (<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a>))</li></ul>}</li><li class="src short"><span class="keyword">class</span> <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:Show" title="Text.Show">Show</a> (layout a) =&gt; <a href="#t:LayoutClass">LayoutClass</a> layout a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Layout">Layout</a> a = (<a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> l a, <a href="/package/base-4.11.1.0/docs/Text-Read.html#t:Read" title="Text.Read">Read</a> (l a)) =&gt; <a href="#v:Layout">Layout</a> (l a)</li><li class="src short"><a href="#v:readsLayout">readsLayout</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> a -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; [(<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> a, <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a>)]</li><li class="src short"><span class="keyword">class</span> <a href="#t:Typeable">Typeable</a> (a :: k)</li><li class="src short"><span class="keyword">class</span> <a href="XMonad-Core.html#t:Typeable" title="XMonad.Core">Typeable</a> a =&gt; <a href="#t:Message">Message</a> a</li><li class="src short"><span class="keyword">data</span> <a href="#t:SomeMessage">SomeMessage</a> = <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> a =&gt; <a href="#v:SomeMessage">SomeMessage</a> a</li><li class="src short"><a href="#v:fromMessage">fromMessage</a> :: <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> m =&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> m</li><li class="src short"><span class="keyword">data</span> <a href="#t:LayoutMessages">LayoutMessages</a><ul class="subs"><li>= <a href="#v:Hide">Hide</a></li><li>| <a href="#v:ReleaseResources">ReleaseResources</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:StateExtension">StateExtension</a><ul class="subs"><li>= <a href="XMonad-Core.html#t:ExtensionClass" title="XMonad.Core">ExtensionClass</a> a =&gt; <a href="#v:StateExtension">StateExtension</a> a</li><li>| (<a href="/package/base-4.11.1.0/docs/Text-Read.html#t:Read" title="Text.Read">Read</a> a, <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:Show" title="Text.Show">Show</a> a, <a href="XMonad-Core.html#t:ExtensionClass" title="XMonad.Core">ExtensionClass</a> a) =&gt; <a href="#v:PersistentExtension">PersistentExtension</a> a</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="XMonad-Core.html#t:Typeable" title="XMonad.Core">Typeable</a> a =&gt; <a href="#t:ExtensionClass">ExtensionClass</a> a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><a href="#v:runX">runX</a> :: <a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> -&gt; <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> (a, <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a>)</li><li class="src short"><a href="#v:catchX">catchX</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a</li><li class="src short"><a href="#v:userCode">userCode</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:userCodeDef">userCodeDef</a> :: a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a</li><li class="src short"><a href="#v:io">io</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> a -&gt; m a</li><li class="src short"><a href="#v:catchIO">catchIO</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> () -&gt; m ()</li><li class="src short"><a href="#v:installSignalHandlers">installSignalHandlers</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m ()</li><li class="src short"><a href="#v:uninstallSignalHandlers">uninstallSignalHandlers</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m ()</li><li class="src short"><a href="#v:withDisplay">withDisplay</a> :: (<a href="XMonad.html#t:Display" title="XMonad">Display</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a</li><li class="src short"><a href="#v:withWindowSet">withWindowSet</a> :: (<a href="XMonad-Core.html#t:WindowSet" title="XMonad.Core">WindowSet</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a</li><li class="src short"><a href="#v:isRoot">isRoot</a> :: <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></li><li class="src short"><a href="#v:runOnWorkspaces">runOnWorkspaces</a> :: (<a href="XMonad-Core.html#t:WindowSpace" title="XMonad.Core">WindowSpace</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad-Core.html#t:WindowSpace" title="XMonad.Core">WindowSpace</a>) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()</li><li class="src short"><a href="#v:getAtom">getAtom</a> :: <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a></li><li class="src short"><a href="#v:spawn">spawn</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; m ()</li><li class="src short"><a href="#v:spawnPID">spawnPID</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; m <a href="/package/base-4.11.1.0/docs/System-Posix-Types.html#t:ProcessID" title="System.Posix.Types">ProcessID</a></li><li class="src short"><a href="#v:xfork">xfork</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> () -&gt; m <a href="/package/base-4.11.1.0/docs/System-Posix-Types.html#t:ProcessID" title="System.Posix.Types">ProcessID</a></li><li class="src short"><a href="#v:recompile">recompile</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; m <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></li><li class="src short"><a href="#v:trace">trace</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; m ()</li><li class="src short"><a href="#v:whenJust">whenJust</a> :: <a href="/package/base-4.11.1.0/docs/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> a -&gt; (a -&gt; m ()) -&gt; m ()</li><li class="src short"><a href="#v:whenX">whenX</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> () -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()</li><li class="src short"><a href="#v:getXMonadDir">getXMonadDir</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></li><li class="src short"><a href="#v:getXMonadCacheDir">getXMonadCacheDir</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></li><li class="src short"><a href="#v:getXMonadDataDir">getXMonadDataDir</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></li><li class="src short"><a href="#v:stateFileName">stateFileName</a> :: (<a href="/package/base-4.11.1.0/docs/Data-Functor.html#t:Functor" title="Data.Functor">Functor</a> m, <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m) =&gt; m <a href="/package/base-4.11.1.0/docs/System-IO.html#t:FilePath" title="System.IO">FilePath</a></li><li class="src short"><a href="#v:atom_WM_STATE">atom_WM_STATE</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a></li><li class="src short"><a href="#v:atom_WM_PROTOCOLS">atom_WM_PROTOCOLS</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a></li><li class="src short"><a href="#v:atom_WM_DELETE_WINDOW">atom_WM_DELETE_WINDOW</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a></li><li class="src short"><a href="#v:atom_WM_TAKE_FOCUS">atom_WM_TAKE_FOCUS</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a></li><li class="src short"><a href="#v:withWindowAttributes">withWindowAttributes</a> :: <a href="XMonad.html#t:Display" title="XMonad">Display</a> -&gt; <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; (<a href="/package/X11-1.9/docs/Graphics-X11-Xlib-Extras.html#t:WindowAttributes" title="Graphics.X11.Xlib.Extras">WindowAttributes</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()</li><li class="src short"><span class="keyword">type</span> <a href="#t:ManageHook">ManageHook</a> = <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> (<a href="/package/base-4.11.1.0/docs/Data-Monoid.html#t:Endo" title="Data.Monoid">Endo</a> <a href="XMonad-Core.html#t:WindowSet" title="XMonad.Core">WindowSet</a>)</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Query">Query</a> a = <a href="#v:Query">Query</a> (<a href="/package/mtl-2.2.2/docs/Control-Monad-Reader.html#t:ReaderT" title="Control.Monad.Reader">ReaderT</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a)</li><li class="src short"><a href="#v:runQuery">runQuery</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a</li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:X" class="def">X</a> a <a href="src/XMonad.Core.html#X" class="link">Source</a> <a href="#t:X" class="selflink">#</a></p><div class="doc"><p>The X monad, <code><a href="/package/mtl-2.2.2/docs/Control-Monad-Reader.html#t:ReaderT" title="Control.Monad.Reader">ReaderT</a></code> and <code><a href="/package/mtl-2.2.2/docs/Control-Monad-State-Lazy.html#t:StateT" title="Control.Monad.State.Lazy">StateT</a></code> transformers over <code><a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a></code>
encapsulating the window manager configuration and state,
respectively.</p><p>Dynamic components may be retrieved with <code><a href="XMonad.html#v:get" title="XMonad">get</a></code>, static components
with <code><a href="XMonad.html#v:ask" title="XMonad">ask</a></code>. With newtype deriving we get readers and state monads
instantiated on <code><a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a></code> and <code><a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a></code> automatically.</p></div><div class="subs instances"><details id="i:X" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:Monad:1"></span> <a href="/package/base-4.11.1.0/docs/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-151" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:Monad:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(&gt;&gt;=)</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; (a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(&gt;&gt;)</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:fail" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:Functor:2"></span> <a href="/package/base-4.11.1.0/docs/Data-Functor.html#t:Functor" title="Data.Functor">Functor</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-151" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:Functor:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:MonadFail:3"></span> <a href="/package/base-4.11.1.0/docs/Control-Monad-Fail.html#t:MonadFail" title="Control.Monad.Fail">MonadFail</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-151" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:MonadFail:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fail">fail</a> :: <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:fail" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:Applicative:4"></span> <a href="/package/base-4.11.1.0/docs/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-153" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:Applicative:4"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (a -&gt; b) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -&gt; b -&gt; c) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> b -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:MonadIO:5"></span> <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-151" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:MonadIO:5"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftIO">liftIO</a> :: <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:liftIO" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:MonadState:6"></span> <a href="XMonad.html#t:MonadState" title="XMonad">MonadState</a> <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-151" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:MonadState:6"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:get">get</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:put">put</a> :: <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> () <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:state">state</a> :: (<a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> -&gt; (a, <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a>)) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:state" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:MonadReader:7"></span> <a href="XMonad.html#t:MonadReader" title="XMonad">MonadReader</a> <a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-151" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:MonadReader:7"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:ask">ask</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> <a href="#v:ask" class="selflink">#</a></p><p class="src"><a href="#v:local">local</a> :: (<a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> -&gt; <a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a>) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:local" class="selflink">#</a></p><p class="src"><a href="#v:reader">reader</a> :: (<a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> -&gt; a) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:reader" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:Semigroup:8"></span> <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Semigroup" title="Prelude">Semigroup</a> a =&gt; <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Semigroup" title="Prelude">Semigroup</a> (<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a)</span> <a href="src/XMonad.Core.html#line-157" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:Semigroup:8"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="/package/base-4.11.1.0/docs/Data-List-NonEmpty.html#t:NonEmpty" title="Data.List.NonEmpty">NonEmpty</a> (<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Integral" title="Prelude">Integral</a> b =&gt; b -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:stimes" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:Monoid:9"></span> <a href="/package/base-4.11.1.0/docs/Data-Monoid.html#t:Monoid" title="Data.Monoid">Monoid</a> a =&gt; <a href="/package/base-4.11.1.0/docs/Data-Monoid.html#t:Monoid" title="Data.Monoid">Monoid</a> (<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a)</span> <a href="src/XMonad.Core.html#line-160" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:Monoid:9"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a] -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:X:Default:10"></span> <a href="XMonad-Config.html#t:Default" title="XMonad.Config">Default</a> a =&gt; <a href="XMonad-Config.html#t:Default" title="XMonad.Config">Default</a> (<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a)</span> <a href="src/XMonad.Core.html#line-164" class="link">Source</a> <a href="#t:X" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:X:Default:10"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:def">def</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:def" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:WindowSet" class="def">WindowSet</a> = <a href="XMonad-StackSet.html#t:StackSet" title="XMonad.StackSet">StackSet</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>) <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> <a href="src/XMonad.Core.html#WindowSet" class="link">Source</a> <a href="#t:WindowSet" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:WindowSpace" class="def">WindowSpace</a> = <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>) <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="src/XMonad.Core.html#WindowSpace" class="link">Source</a> <a href="#t:WindowSpace" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:WorkspaceId" class="def">WorkspaceId</a> = <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#WorkspaceId" class="link">Source</a> <a href="#t:WorkspaceId" class="selflink">#</a></p><div class="doc"><p>Virtual workspace indices</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ScreenId" class="def">ScreenId</a> <a href="src/XMonad.Core.html#ScreenId" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></p><div class="doc"><p>Physical screen indices</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:S" class="def">S</a> <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:ScreenId" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenId:Enum:1"></span> <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Enum" title="Prelude">Enum</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a></span> <a href="src/XMonad.Core.html#line-135" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenId:Enum:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:succ">succ</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:succ" class="selflink">#</a></p><p class="src"><a href="#v:pred">pred</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:pred" class="selflink">#</a></p><p class="src"><a href="#v:toEnum">toEnum</a> :: <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:toEnum" class="selflink">#</a></p><p class="src"><a href="#v:fromEnum">fromEnum</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="#v:fromEnum" class="selflink">#</a></p><p class="src"><a href="#v:enumFrom">enumFrom</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; [<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>] <a href="#v:enumFrom" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThen">enumFromThen</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; [<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>] <a href="#v:enumFromThen" class="selflink">#</a></p><p class="src"><a href="#v:enumFromTo">enumFromTo</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; [<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>] <a href="#v:enumFromTo" class="selflink">#</a></p><p class="src"><a href="#v:enumFromThenTo">enumFromThenTo</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; [<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>] <a href="#v:enumFromThenTo" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenId:Eq:2"></span> <a href="/package/base-4.11.1.0/docs/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a></span> <a href="src/XMonad.Core.html#line-135" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenId:Eq:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenId:Integral:3"></span> <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Integral" title="Prelude">Integral</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a></span> <a href="src/XMonad.Core.html#line-135" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenId:Integral:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:quot">quot</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:quot" class="selflink">#</a></p><p class="src"><a href="#v:rem">rem</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:rem" class="selflink">#</a></p><p class="src"><a href="#v:div">div</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:div" class="selflink">#</a></p><p class="src"><a href="#v:mod">mod</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:mod" class="selflink">#</a></p><p class="src"><a href="#v:quotRem">quotRem</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; (<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>, <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>) <a href="#v:quotRem" class="selflink">#</a></p><p class="src"><a href="#v:divMod">divMod</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; (<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>, <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>) <a href="#v:divMod" class="selflink">#</a></p><p class="src"><a href="#v:toInteger">toInteger</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Integer" title="Prelude">Integer</a> <a href="#v:toInteger" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenId:Num:4"></span> <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Num" title="Prelude">Num</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a></span> <a href="src/XMonad.Core.html#line-135" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenId:Num:4"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-43-">(+)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:-43-" class="selflink">#</a></p><p class="src"><a href="#v:-45-">(-)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:-45-" class="selflink">#</a></p><p class="src"><a href="#v:-42-">(*)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:-42-" class="selflink">#</a></p><p class="src"><a href="#v:negate">negate</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:negate" class="selflink">#</a></p><p class="src"><a href="#v:abs">abs</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:abs" class="selflink">#</a></p><p class="src"><a href="#v:signum">signum</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:signum" class="selflink">#</a></p><p class="src"><a href="#v:fromInteger">fromInteger</a> :: <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Integer" title="Prelude">Integer</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:fromInteger" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenId:Ord:5"></span> <a href="/package/base-4.11.1.0/docs/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a></span> <a href="src/XMonad.Core.html#line-135" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenId:Ord:5"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Ord.html#t:Ordering" title="Data.Ord">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:min" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenId:Read:6"></span> <a href="/package/base-4.11.1.0/docs/Text-Read.html#t:Read" title="Text.Read">Read</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a></span> <a href="src/XMonad.Core.html#line-135" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenId:Read:6"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="/package/base-4.11.1.0/docs/Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="/package/base-4.11.1.0/docs/Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> [<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="/package/base-4.11.1.0/docs/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="/package/base-4.11.1.0/docs/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenId:Real:7"></span> <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Real" title="Prelude">Real</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a></span> <a href="src/XMonad.Core.html#line-135" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenId:Real:7"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toRational">toRational</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Rational" title="Prelude">Rational</a> <a href="#v:toRational" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenId:Show:8"></span> <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:Show" title="Text.Show">Show</a> <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a></span> <a href="src/XMonad.Core.html#line-135" class="link">Source</a> <a href="#t:ScreenId" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenId:Show:8"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="XMonad-Core.html#t:ScreenId" title="XMonad.Core">ScreenId</a>] -&gt; <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:ScreenDetail" class="def">ScreenDetail</a> <a href="src/XMonad.Core.html#ScreenDetail" class="link">Source</a> <a href="#t:ScreenDetail" class="selflink">#</a></p><div class="doc"><p>The <code><a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a></code> with screen dimensions</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:SD" class="def">SD</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:screenRect" class="def">screenRect</a> :: !<a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a></dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><details id="i:ScreenDetail" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenDetail:Eq:1"></span> <a href="/package/base-4.11.1.0/docs/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a></span> <a href="src/XMonad.Core.html#line-138" class="link">Source</a> <a href="#t:ScreenDetail" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenDetail:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> -&gt; <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> -&gt; <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenDetail:Read:2"></span> <a href="/package/base-4.11.1.0/docs/Text-Read.html#t:Read" title="Text.Read">Read</a> <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a></span> <a href="src/XMonad.Core.html#line-138" class="link">Source</a> <a href="#t:ScreenDetail" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenDetail:Read:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="/package/base-4.11.1.0/docs/Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="/package/base-4.11.1.0/docs/Text-ParserCombinators-ReadP.html#t:ReadS" title="Text.ParserCombinators.ReadP">ReadS</a> [<a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="/package/base-4.11.1.0/docs/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="/package/base-4.11.1.0/docs/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [<a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:ScreenDetail:Show:3"></span> <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:Show" title="Text.Show">Show</a> <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a></span> <a href="src/XMonad.Core.html#line-138" class="link">Source</a> <a href="#t:ScreenDetail" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:ScreenDetail:Show:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> -&gt; <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="XMonad-Core.html#t:ScreenDetail" title="XMonad.Core">ScreenDetail</a>] -&gt; <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:XState" class="def">XState</a> <a href="src/XMonad.Core.html#XState" class="link">Source</a> <a href="#t:XState" class="selflink">#</a></p><div class="doc"><p>XState, the (mutable) window manager state.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:XState" class="def">XState</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:windowset" class="def">windowset</a> :: !<a href="XMonad-Core.html#t:WindowSet" title="XMonad.Core">WindowSet</a></dfn><div class="doc"><p>workspace list</p></div></li><li><dfn class="src"><a id="v:mapped" class="def">mapped</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Set.html#t:Set" title="Data.Set">Set</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)</dfn><div class="doc"><p>the Set of mapped windows</p></div></li><li><dfn class="src"><a id="v:waitingUnmap" class="def">waitingUnmap</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a>)</dfn><div class="doc"><p>the number of expected UnmapEvents</p></div></li><li><dfn class="src"><a id="v:dragging" class="def">dragging</a> :: !(<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad.html#t:Position" title="XMonad">Position</a> -&gt; <a href="XMonad.html#t:Position" title="XMonad">Position</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (), <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:numberlockMask" class="def">numberlockMask</a> :: !<a href="XMonad.html#t:KeyMask" title="XMonad">KeyMask</a></dfn><div class="doc"><p>The numlock modifier</p></div></li><li><dfn class="src"><a id="v:extensibleState" class="def">extensibleState</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> (<a href="/package/base-4.11.1.0/docs/Data-Either.html#t:Either" title="Data.Either">Either</a> <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="XMonad-Core.html#t:StateExtension" title="XMonad.Core">StateExtension</a>))</dfn><div class="doc"><p>stores custom state information.</p><p>The module <a href="XMonad-Util-ExtensibleState.html">XMonad.Util.ExtensibleState</a> in xmonad-contrib
provides additional information and a simple interface for using this.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><details id="i:XState" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:XState:MonadState:1"></span> <a href="XMonad.html#t:MonadState" title="XMonad">MonadState</a> <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-151" class="link">Source</a> <a href="#t:XState" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:XState:MonadState:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:get">get</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:put">put</a> :: <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> () <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:state">state</a> :: (<a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> -&gt; (a, <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a>)) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:state" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:XConf" class="def">XConf</a> <a href="src/XMonad.Core.html#XConf" class="link">Source</a> <a href="#t:XConf" class="selflink">#</a></p><div class="doc"><p>XConf, the (read-only) window manager configuration.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:XConf" class="def">XConf</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:display" class="def">display</a> :: <a href="XMonad.html#t:Display" title="XMonad">Display</a></dfn><div class="doc"><p>the X11 display</p></div></li><li><dfn class="src"><a id="v:config" class="def">config</a> :: !(<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a>)</dfn><div class="doc"><p>initial user configuration</p></div></li><li><dfn class="src"><a id="v:theRoot" class="def">theRoot</a> :: !<a href="XMonad.html#t:Window" title="XMonad">Window</a></dfn><div class="doc"><p>the root window</p></div></li><li><dfn class="src"><a id="v:normalBorder" class="def">normalBorder</a> :: !<a href="XMonad.html#t:Pixel" title="XMonad">Pixel</a></dfn><div class="doc"><p>border color of unfocused windows</p></div></li><li><dfn class="src"><a id="v:focusedBorder" class="def">focusedBorder</a> :: !<a href="XMonad.html#t:Pixel" title="XMonad">Pixel</a></dfn><div class="doc"><p>border color of the focused window</p></div></li><li><dfn class="src"><a id="v:keyActions" class="def">keyActions</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> (<a href="XMonad.html#t:KeyMask" title="XMonad">KeyMask</a>, <a href="XMonad.html#t:KeySym" title="XMonad">KeySym</a>) (<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</dfn><div class="doc"><p>a mapping of key presses to actions</p></div></li><li><dfn class="src"><a id="v:buttonActions" class="def">buttonActions</a> :: !(<a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> (<a href="XMonad.html#t:KeyMask" title="XMonad">KeyMask</a>, <a href="XMonad.html#t:Button" title="XMonad">Button</a>) (<a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</dfn><div class="doc"><p>a mapping of button presses to actions</p></div></li><li><dfn class="src"><a id="v:mouseFocused" class="def">mouseFocused</a> :: !<a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></dfn><div class="doc"><p>was refocus caused by mouse action?</p></div></li><li><dfn class="src"><a id="v:mousePosition" class="def">mousePosition</a> :: !(<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad.html#t:Position" title="XMonad">Position</a>, <a href="XMonad.html#t:Position" title="XMonad">Position</a>))</dfn><div class="doc"><p>position of the mouse according to
the event currently being processed</p></div></li><li><dfn class="src"><a id="v:currentEvent" class="def">currentEvent</a> :: !(<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="/package/X11-1.9/docs/Graphics-X11-Xlib-Extras.html#t:Event" title="Graphics.X11.Xlib.Extras">Event</a>)</dfn><div class="doc"><p>event currently being processed</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><details id="i:XConf" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:XConf:MonadReader:1"></span> <a href="XMonad.html#t:MonadReader" title="XMonad">MonadReader</a> <a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></span> <a href="src/XMonad.Core.html#line-151" class="link">Source</a> <a href="#t:XConf" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:XConf:MonadReader:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:ask">ask</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> <a href="#v:ask" class="selflink">#</a></p><p class="src"><a href="#v:local">local</a> :: (<a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> -&gt; <a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a>) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:local" class="selflink">#</a></p><p class="src"><a href="#v:reader">reader</a> :: (<a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> -&gt; a) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="#v:reader" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:XConfig" class="def">XConfig</a> l <a href="src/XMonad.Core.html#XConfig" class="link">Source</a> <a href="#t:XConfig" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:XConfig" class="def">XConfig</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:normalBorderColor" class="def">normalBorderColor</a> :: !<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></dfn><div class="doc"><p>Non focused windows border color. Default: &quot;#dddddd&quot;</p></div></li><li><dfn class="src"><a id="v:focusedBorderColor" class="def">focusedBorderColor</a> :: !<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></dfn><div class="doc"><p>Focused windows border color. Default: &quot;#ff0000&quot;</p></div></li><li><dfn class="src"><a id="v:terminal" class="def">terminal</a> :: !<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></dfn><div class="doc"><p>The preferred terminal application. Default: &quot;xterm&quot;</p></div></li><li><dfn class="src"><a id="v:layoutHook" class="def">layoutHook</a> :: !(l <a href="XMonad.html#t:Window" title="XMonad">Window</a>)</dfn><div class="doc"><p>The available layouts</p></div></li><li><dfn class="src"><a id="v:manageHook" class="def">manageHook</a> :: !<a href="XMonad-Core.html#t:ManageHook" title="XMonad.Core">ManageHook</a></dfn><div class="doc"><p>The action to run when a new window is opened</p></div></li><li><dfn class="src"><a id="v:handleEventHook" class="def">handleEventHook</a> :: !(<a href="/package/X11-1.9/docs/Graphics-X11-Xlib-Extras.html#t:Event" title="Graphics.X11.Xlib.Extras">Event</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="/package/base-4.11.1.0/docs/Data-Monoid.html#t:All" title="Data.Monoid">All</a>)</dfn><div class="doc"><p>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.</p></div></li><li><dfn class="src"><a id="v:workspaces" class="def">workspaces</a> :: ![<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a>]</dfn><div class="doc"><p>The list of workspaces' names</p></div></li><li><dfn class="src"><a id="v:modMask" class="def">modMask</a> :: !<a href="XMonad.html#t:KeyMask" title="XMonad">KeyMask</a></dfn><div class="doc"><p>the mod modifier</p></div></li><li><dfn class="src"><a id="v:keys" class="def">keys</a> :: !(<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> -&gt; <a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> (<a href="XMonad.html#t:ButtonMask" title="XMonad">ButtonMask</a>, <a href="XMonad.html#t:KeySym" title="XMonad">KeySym</a>) (<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</dfn><div class="doc"><p>The key binding: a map from key presses and actions</p></div></li><li><dfn class="src"><a id="v:mouseBindings" class="def">mouseBindings</a> :: !(<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> -&gt; <a href="/package/containers-0.5.11.0/docs/Data-Map-Strict.html#t:Map" title="Data.Map.Strict">Map</a> (<a href="XMonad.html#t:ButtonMask" title="XMonad">ButtonMask</a>, <a href="XMonad.html#t:Button" title="XMonad">Button</a>) (<a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()))</dfn><div class="doc"><p>The mouse bindings</p></div></li><li><dfn class="src"><a id="v:borderWidth" class="def">borderWidth</a> :: !<a href="XMonad.html#t:Dimension" title="XMonad">Dimension</a></dfn><div class="doc"><p>The border width</p></div></li><li><dfn class="src"><a id="v:logHook" class="def">logHook</a> :: !(<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ())</dfn><div class="doc"><p>The action to perform when the windows set is changed</p></div></li><li><dfn class="src"><a id="v:startupHook" class="def">startupHook</a> :: !(<a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ())</dfn><div class="doc"><p>The action to perform on startup</p></div></li><li><dfn class="src"><a id="v:focusFollowsMouse" class="def">focusFollowsMouse</a> :: !<a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></dfn><div class="doc"><p>Whether window entry events can change focus</p></div></li><li><dfn class="src"><a id="v:clickJustFocuses" class="def">clickJustFocuses</a> :: !<a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></dfn><div class="doc"><p>False to make a click which changes focus to be additionally passed to the window</p></div></li><li><dfn class="src"><a id="v:clientMask" class="def">clientMask</a> :: !<a href="XMonad.html#t:EventMask" title="XMonad">EventMask</a></dfn><div class="doc"><p>The client events that xmonad is interested in</p></div></li><li><dfn class="src"><a id="v:rootMask" class="def">rootMask</a> :: !<a href="XMonad.html#t:EventMask" title="XMonad">EventMask</a></dfn><div class="doc"><p>The root events that xmonad is interested in</p></div></li><li><dfn class="src"><a id="v:handleExtraArgs" class="def">handleExtraArgs</a> :: !([<a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a>] -&gt; <a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> -&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> (<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a>))</dfn><div class="doc"><p>Modify the configuration, complain about extra arguments etc. with arguments that are not handled by default</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><details id="i:XConfig" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:XConfig:Default:1"></span> a ~ <a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> (<a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> (<a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a>) <a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a>) =&gt; <a href="XMonad-Config.html#t:Default" title="XMonad.Config">Default</a> (<a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> a)</span> <a href="#t:Default" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:XConfig:Default:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Config.html">XMonad.Config</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:def">def</a> :: <a href="XMonad-Core.html#t:XConfig" title="XMonad.Core">XConfig</a> a <a href="#v:def" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:Show" title="Text.Show">Show</a> (layout a) =&gt; <a id="t:LayoutClass" class="def">LayoutClass</a> layout a <span class="keyword">where</span> <a href="src/XMonad.Core.html#LayoutClass" class="link">Source</a> <a href="#t:LayoutClass" class="selflink">#</a></p><div class="doc"><p>Every layout must be an instance of <code><a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a></code>, which defines
the basic layout operations along with a sensible default for each.</p><p>Minimal complete definition:</p><ul><li><code><a href="XMonad-Core.html#v:runLayout" title="XMonad.Core">runLayout</a></code> || ((<code><a href="XMonad-Core.html#v:doLayout" title="XMonad.Core">doLayout</a></code> || <code><a href="XMonad-Core.html#v:pureLayout" title="XMonad.Core">pureLayout</a></code>) &amp;&amp; <code><a href="XMonad-Core.html#v:emptyLayout" title="XMonad.Core">emptyLayout</a></code>), and</li><li><code><a href="XMonad-Core.html#v:handleMessage" title="XMonad.Core">handleMessage</a></code> || <code><a href="XMonad-Core.html#v:pureMessage" title="XMonad.Core">pureMessage</a></code></li></ul><p>You should also strongly consider implementing <code><a href="XMonad-Core.html#v:description" title="XMonad.Core">description</a></code>,
although it is not required.</p><p>Note that any code which <em>uses</em> <code><a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a></code> methods should only
ever call <code><a href="XMonad-Core.html#v:runLayout" title="XMonad.Core">runLayout</a></code>, <code><a href="XMonad-Core.html#v:handleMessage" title="XMonad.Core">handleMessage</a></code>, and <code><a href="XMonad-Core.html#v:description" title="XMonad.Core">description</a></code>! In
other words, the only calls to <code><a href="XMonad-Core.html#v:doLayout" title="XMonad.Core">doLayout</a></code>, <code><a href="XMonad-Core.html#v:pureMessage" title="XMonad.Core">pureMessage</a></code>, and other
such methods should be from the default implementations of
<code><a href="XMonad-Core.html#v:runLayout" title="XMonad.Core">runLayout</a></code>, <code><a href="XMonad-Core.html#v:handleMessage" title="XMonad.Core">handleMessage</a></code>, and so on. This ensures that the
proper methods will be used, regardless of the particular methods
that any <code><a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a></code> instance chooses to define.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:runLayout" class="def">runLayout</a> :: <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (layout a) a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (layout a)) <a href="src/XMonad.Core.html#runLayout" class="link">Source</a> <a href="#v:runLayout" class="selflink">#</a></p><div class="doc"><p>By default, <code><a href="XMonad-Core.html#v:runLayout" title="XMonad.Core">runLayout</a></code> calls <code><a href="XMonad-Core.html#v:doLayout" title="XMonad.Core">doLayout</a></code> if there are any
windows to be laid out, and <code><a href="XMonad-Core.html#v:emptyLayout" title="XMonad.Core">emptyLayout</a></code> otherwise. Most
instances of <code><a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a></code> probably do not need to implement
<code><a href="XMonad-Core.html#v:runLayout" title="XMonad.Core">runLayout</a></code>; it is only useful for layouts which wish to make
use of more of the <code><a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a></code> information (for example,
<a href="XMonad-Layout-PerWorkspace.html">XMonad.Layout.PerWorkspace</a>).</p></div><p class="src"><a id="v:doLayout" class="def">doLayout</a> :: layout a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (layout a)) <a href="src/XMonad.Core.html#doLayout" class="link">Source</a> <a href="#v:doLayout" class="selflink">#</a></p><div class="doc"><p>Given a <code><a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a></code> in which to place the windows, and a <code><a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a></code>
of windows, return a list of windows and their corresponding
Rectangles. If an element is not given a Rectangle by
<code><a href="XMonad-Core.html#v:doLayout" title="XMonad.Core">doLayout</a></code>, 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 <code>Just
newLayout</code>), if this layout needs to be modified (e.g. if it
keeps track of some sort of state). Return <code>Nothing</code> if the
layout does not need to be modified.</p><p>Layouts which do not need access to the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad (<code><a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a></code>, window
manager state, or configuration) and do not keep track of their
own state should implement <code><a href="XMonad-Core.html#v:pureLayout" title="XMonad.Core">pureLayout</a></code> instead of <code><a href="XMonad-Core.html#v:doLayout" title="XMonad.Core">doLayout</a></code>.</p></div><p class="src"><a id="v:pureLayout" class="def">pureLayout</a> :: layout a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; [(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)] <a href="src/XMonad.Core.html#pureLayout" class="link">Source</a> <a href="#v:pureLayout" class="selflink">#</a></p><div class="doc"><p>This is a pure version of <code><a href="XMonad-Core.html#v:doLayout" title="XMonad.Core">doLayout</a></code>, for cases where we
don't need access to the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad to determine how to lay out
the windows, and we don't need to modify the layout itself.</p></div><p class="src"><a id="v:emptyLayout" class="def">emptyLayout</a> :: layout a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (layout a)) <a href="src/XMonad.Core.html#emptyLayout" class="link">Source</a> <a href="#v:emptyLayout" class="selflink">#</a></p><div class="doc"><p><code><a href="XMonad-Core.html#v:emptyLayout" title="XMonad.Core">emptyLayout</a></code> is called when there are no windows.</p></div><p class="src"><a id="v:handleMessage" class="def">handleMessage</a> :: layout a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (layout a)) <a href="src/XMonad.Core.html#handleMessage" class="link">Source</a> <a href="#v:handleMessage" class="selflink">#</a></p><div class="doc"><p><code><a href="XMonad-Core.html#v:handleMessage" title="XMonad.Core">handleMessage</a></code> performs message handling. If
<code><a href="XMonad-Core.html#v:handleMessage" title="XMonad.Core">handleMessage</a></code> returns <code>Nothing</code>, then the layout did not
respond to the message and the screen is not refreshed.
Otherwise, <code><a href="XMonad-Core.html#v:handleMessage" title="XMonad.Core">handleMessage</a></code> returns an updated layout and the
screen is refreshed.</p><p>Layouts which do not need access to the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad to decide how
to handle messages should implement <code><a href="XMonad-Core.html#v:pureMessage" title="XMonad.Core">pureMessage</a></code> instead of
<code><a href="XMonad-Core.html#v:handleMessage" title="XMonad.Core">handleMessage</a></code> (this restricts the risk of error, and makes
testing much easier).</p></div><p class="src"><a id="v:pureMessage" class="def">pureMessage</a> :: layout a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (layout a) <a href="src/XMonad.Core.html#pureMessage" class="link">Source</a> <a href="#v:pureMessage" class="selflink">#</a></p><div class="doc"><p>Respond to a message by (possibly) changing our layout, but
taking no other action. If the layout changes, the screen will
be refreshed.</p></div><p class="src"><a id="v:description" class="def">description</a> :: layout a -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#description" class="link">Source</a> <a href="#v:description" class="selflink">#</a></p><div class="doc"><p>This should be a human-readable string that is used when
selecting layouts by name. The default implementation is
<code><a href="/package/base-4.11.1.0/docs/Text-Show.html#v:show" title="Text.Show">show</a></code>, which is in some cases a poor default.</p></div></div><div class="subs instances"><details id="i:LayoutClass" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:LayoutClass:LayoutClass:1"></span> <a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a></span> <a href="src/XMonad.Core.html#line-340" class="link">Source</a> <a href="#t:LayoutClass" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:LayoutClass:LayoutClass:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:runLayout">runLayout</a> :: <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>) <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(<a href="XMonad.html#t:Window" title="XMonad">Window</a>, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)) <a href="src/XMonad.Core.html#runLayout" class="link">Source</a> <a href="#v:runLayout" class="selflink">#</a></p><p class="src"><a href="#v:doLayout">doLayout</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(<a href="XMonad.html#t:Window" title="XMonad">Window</a>, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)) <a href="src/XMonad.Core.html#doLayout" class="link">Source</a> <a href="#v:doLayout" class="selflink">#</a></p><p class="src"><a href="#v:pureLayout">pureLayout</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; [(<a href="XMonad.html#t:Window" title="XMonad">Window</a>, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)] <a href="src/XMonad.Core.html#pureLayout" class="link">Source</a> <a href="#v:pureLayout" class="selflink">#</a></p><p class="src"><a href="#v:emptyLayout">emptyLayout</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(<a href="XMonad.html#t:Window" title="XMonad">Window</a>, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)) <a href="src/XMonad.Core.html#emptyLayout" class="link">Source</a> <a href="#v:emptyLayout" class="selflink">#</a></p><p class="src"><a href="#v:handleMessage">handleMessage</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)) <a href="src/XMonad.Core.html#handleMessage" class="link">Source</a> <a href="#v:handleMessage" class="selflink">#</a></p><p class="src"><a href="#v:pureMessage">pureMessage</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>) <a href="src/XMonad.Core.html#pureMessage" class="link">Source</a> <a href="#v:pureMessage" class="selflink">#</a></p><p class="src"><a href="#v:description">description</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#description" class="link">Source</a> <a href="#v:description" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:LayoutClass:LayoutClass:2"></span> <a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a</span> <a href="src/XMonad.Core.html#line-61" class="link">Source</a> <a href="#t:LayoutClass" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:LayoutClass:LayoutClass:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Layout.html">XMonad.Layout</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:runLayout">runLayout</a> :: <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a) a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a)) <a href="src/XMonad.Core.html#runLayout" class="link">Source</a> <a href="#v:runLayout" class="selflink">#</a></p><p class="src"><a href="#v:doLayout">doLayout</a> :: <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a)) <a href="src/XMonad.Core.html#doLayout" class="link">Source</a> <a href="#v:doLayout" class="selflink">#</a></p><p class="src"><a href="#v:pureLayout">pureLayout</a> :: <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; [(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)] <a href="src/XMonad.Core.html#pureLayout" class="link">Source</a> <a href="#v:pureLayout" class="selflink">#</a></p><p class="src"><a href="#v:emptyLayout">emptyLayout</a> :: <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a)) <a href="src/XMonad.Core.html#emptyLayout" class="link">Source</a> <a href="#v:emptyLayout" class="selflink">#</a></p><p class="src"><a href="#v:handleMessage">handleMessage</a> :: <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a)) <a href="src/XMonad.Core.html#handleMessage" class="link">Source</a> <a href="#v:handleMessage" class="selflink">#</a></p><p class="src"><a href="#v:pureMessage">pureMessage</a> :: <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a) <a href="src/XMonad.Core.html#pureMessage" class="link">Source</a> <a href="#v:pureMessage" class="selflink">#</a></p><p class="src"><a href="#v:description">description</a> :: <a href="XMonad-Layout.html#t:Tall" title="XMonad.Layout">Tall</a> a -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#description" class="link">Source</a> <a href="#v:description" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:LayoutClass:LayoutClass:3"></span> <a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> <a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a</span> <a href="src/XMonad.Core.html#line-49" class="link">Source</a> <a href="#t:LayoutClass" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:LayoutClass:LayoutClass:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Layout.html">XMonad.Layout</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:runLayout">runLayout</a> :: <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a) a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a)) <a href="src/XMonad.Core.html#runLayout" class="link">Source</a> <a href="#v:runLayout" class="selflink">#</a></p><p class="src"><a href="#v:doLayout">doLayout</a> :: <a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a)) <a href="src/XMonad.Core.html#doLayout" class="link">Source</a> <a href="#v:doLayout" class="selflink">#</a></p><p class="src"><a href="#v:pureLayout">pureLayout</a> :: <a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; [(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)] <a href="src/XMonad.Core.html#pureLayout" class="link">Source</a> <a href="#v:pureLayout" class="selflink">#</a></p><p class="src"><a href="#v:emptyLayout">emptyLayout</a> :: <a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a)) <a href="src/XMonad.Core.html#emptyLayout" class="link">Source</a> <a href="#v:emptyLayout" class="selflink">#</a></p><p class="src"><a href="#v:handleMessage">handleMessage</a> :: <a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a)) <a href="src/XMonad.Core.html#handleMessage" class="link">Source</a> <a href="#v:handleMessage" class="selflink">#</a></p><p class="src"><a href="#v:pureMessage">pureMessage</a> :: <a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a) <a href="src/XMonad.Core.html#pureMessage" class="link">Source</a> <a href="#v:pureMessage" class="selflink">#</a></p><p class="src"><a href="#v:description">description</a> :: <a href="XMonad-Layout.html#t:Full" title="XMonad.Layout">Full</a> a -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#description" class="link">Source</a> <a href="#v:description" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:LayoutClass:LayoutClass:4"></span> <a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> l a =&gt; <a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> (<a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l) a</span> <a href="src/XMonad.Core.html#line-120" class="link">Source</a> <a href="#t:LayoutClass" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:LayoutClass:LayoutClass:4"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Layout.html">XMonad.Layout</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:runLayout">runLayout</a> :: <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a) a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a)) <a href="src/XMonad.Core.html#runLayout" class="link">Source</a> <a href="#v:runLayout" class="selflink">#</a></p><p class="src"><a href="#v:doLayout">doLayout</a> :: <a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a)) <a href="src/XMonad.Core.html#doLayout" class="link">Source</a> <a href="#v:doLayout" class="selflink">#</a></p><p class="src"><a href="#v:pureLayout">pureLayout</a> :: <a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; [(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)] <a href="src/XMonad.Core.html#pureLayout" class="link">Source</a> <a href="#v:pureLayout" class="selflink">#</a></p><p class="src"><a href="#v:emptyLayout">emptyLayout</a> :: <a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a)) <a href="src/XMonad.Core.html#emptyLayout" class="link">Source</a> <a href="#v:emptyLayout" class="selflink">#</a></p><p class="src"><a href="#v:handleMessage">handleMessage</a> :: <a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a)) <a href="src/XMonad.Core.html#handleMessage" class="link">Source</a> <a href="#v:handleMessage" class="selflink">#</a></p><p class="src"><a href="#v:pureMessage">pureMessage</a> :: <a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a) <a href="src/XMonad.Core.html#pureMessage" class="link">Source</a> <a href="#v:pureMessage" class="selflink">#</a></p><p class="src"><a href="#v:description">description</a> :: <a href="XMonad-Layout.html#t:Mirror" title="XMonad.Layout">Mirror</a> l a -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#description" class="link">Source</a> <a href="#v:description" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:LayoutClass:LayoutClass:5"></span> (<a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> l a, <a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> r a) =&gt; <a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> (<a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r) a</span> <a href="src/XMonad.Core.html#line-174" class="link">Source</a> <a href="#t:LayoutClass" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:LayoutClass:LayoutClass:5"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Layout.html">XMonad.Layout</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:runLayout">runLayout</a> :: <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a) a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a)) <a href="src/XMonad.Core.html#runLayout" class="link">Source</a> <a href="#v:runLayout" class="selflink">#</a></p><p class="src"><a href="#v:doLayout">doLayout</a> :: <a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a)) <a href="src/XMonad.Core.html#doLayout" class="link">Source</a> <a href="#v:doLayout" class="selflink">#</a></p><p class="src"><a href="#v:pureLayout">pureLayout</a> :: <a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> a -&gt; [(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)] <a href="src/XMonad.Core.html#pureLayout" class="link">Source</a> <a href="#v:pureLayout" class="selflink">#</a></p><p class="src"><a href="#v:emptyLayout">emptyLayout</a> :: <a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(a, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a)) <a href="src/XMonad.Core.html#emptyLayout" class="link">Source</a> <a href="#v:emptyLayout" class="selflink">#</a></p><p class="src"><a href="#v:handleMessage">handleMessage</a> :: <a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a)) <a href="src/XMonad.Core.html#handleMessage" class="link">Source</a> <a href="#v:handleMessage" class="selflink">#</a></p><p class="src"><a href="#v:pureMessage">pureMessage</a> :: <a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a) <a href="src/XMonad.Core.html#pureMessage" class="link">Source</a> <a href="#v:pureMessage" class="selflink">#</a></p><p class="src"><a href="#v:description">description</a> :: <a href="XMonad-Layout.html#t:Choose" title="XMonad.Layout">Choose</a> l r a -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#description" class="link">Source</a> <a href="#v:description" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Layout" class="def">Layout</a> a <a href="src/XMonad.Core.html#Layout" class="link">Source</a> <a href="#t:Layout" class="selflink">#</a></p><div class="doc"><p>An existential type that can hold any object that is in <code><a href="/package/base-4.11.1.0/docs/Text-Read.html#t:Read" title="Text.Read">Read</a></code>
and <code><a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src">(<a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> l a, <a href="/package/base-4.11.1.0/docs/Text-Read.html#t:Read" title="Text.Read">Read</a> (l a)) =&gt; <a id="v:Layout" class="def">Layout</a> (l a)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:Layout" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Layout:LayoutClass:1"></span> <a href="XMonad-Core.html#t:LayoutClass" title="XMonad.Core">LayoutClass</a> <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a></span> <a href="src/XMonad.Core.html#line-340" class="link">Source</a> <a href="#t:Layout" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Layout:LayoutClass:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:runLayout">runLayout</a> :: <a href="XMonad-StackSet.html#t:Workspace" title="XMonad.StackSet">Workspace</a> <a href="XMonad-Core.html#t:WorkspaceId" title="XMonad.Core">WorkspaceId</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>) <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(<a href="XMonad.html#t:Window" title="XMonad">Window</a>, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)) <a href="src/XMonad.Core.html#runLayout" class="link">Source</a> <a href="#v:runLayout" class="selflink">#</a></p><p class="src"><a href="#v:doLayout">doLayout</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(<a href="XMonad.html#t:Window" title="XMonad">Window</a>, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)) <a href="src/XMonad.Core.html#doLayout" class="link">Source</a> <a href="#v:doLayout" class="selflink">#</a></p><p class="src"><a href="#v:pureLayout">pureLayout</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-StackSet.html#t:Stack" title="XMonad.StackSet">Stack</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; [(<a href="XMonad.html#t:Window" title="XMonad">Window</a>, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)] <a href="src/XMonad.Core.html#pureLayout" class="link">Source</a> <a href="#v:pureLayout" class="selflink">#</a></p><p class="src"><a href="#v:emptyLayout">emptyLayout</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ([(<a href="XMonad.html#t:Window" title="XMonad">Window</a>, <a href="XMonad.html#t:Rectangle" title="XMonad">Rectangle</a>)], <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)) <a href="src/XMonad.Core.html#emptyLayout" class="link">Source</a> <a href="#v:emptyLayout" class="selflink">#</a></p><p class="src"><a href="#v:handleMessage">handleMessage</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>)) <a href="src/XMonad.Core.html#handleMessage" class="link">Source</a> <a href="#v:handleMessage" class="selflink">#</a></p><p class="src"><a href="#v:pureMessage">pureMessage</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a>) <a href="src/XMonad.Core.html#pureMessage" class="link">Source</a> <a href="#v:pureMessage" class="selflink">#</a></p><p class="src"><a href="#v:description">description</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#description" class="link">Source</a> <a href="#v:description" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Layout:Show:2"></span> <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:Show" title="Text.Show">Show</a> (<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> a)</span> <a href="src/XMonad.Core.html#line-347" class="link">Source</a> <a href="#t:Layout" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Layout:Show:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="/package/base-4.11.1.0/docs/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> a -&gt; <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> a -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> a] -&gt; <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:readsLayout" class="def">readsLayout</a> :: <a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> a -&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; [(<a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a> a, <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a>)] <a href="src/XMonad.Core.html#readsLayout" class="link">Source</a> <a href="#v:readsLayout" class="selflink">#</a></p><div class="doc"><p>Using the <code><a href="XMonad-Core.html#t:Layout" title="XMonad.Core">Layout</a></code> as a witness, parse existentially wrapped windows
from a <code><a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></code>.</p></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:Typeable" class="def">Typeable</a> (a :: k) <a href="#t:Typeable" class="selflink">#</a></p><div class="doc"><p>The class <code><a href="XMonad-Core.html#t:Typeable" title="XMonad.Core">Typeable</a></code> allows a concrete representation of a type to
be calculated.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src">typeRep#</p></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="XMonad-Core.html#t:Typeable" title="XMonad.Core">Typeable</a> a =&gt; <a id="t:Message" class="def">Message</a> a <a href="src/XMonad.Core.html#Message" class="link">Source</a> <a href="#t:Message" class="selflink">#</a></p><div class="doc"><p>Based on ideas in /An Extensible Dynamically-Typed Hierarchy of
Exceptions/, Simon Marlow, 2006. Use extensible messages to the
<code><a href="XMonad-Core.html#v:handleMessage" title="XMonad.Core">handleMessage</a></code> handler.</p><p>User-extensible messages must be a member of this class.</p></div><div class="subs instances"><details id="i:Message" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Message:Message:1"></span> <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> <a href="/package/X11-1.9/docs/Graphics-X11-Xlib-Extras.html#t:Event" title="Graphics.X11.Xlib.Extras">Event</a></span> <a href="src/XMonad.Core.html#line-370" class="link">Source</a> <a href="#t:Message" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:Message:Message:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Message:Message:2"></span> <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> <a href="XMonad-Core.html#t:LayoutMessages" title="XMonad.Core">LayoutMessages</a></span> <a href="src/XMonad.Core.html#line-378" class="link">Source</a> <a href="#t:Message" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:Message:Message:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Message:Message:3"></span> <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> <a href="XMonad-Layout.html#t:ChangeLayout" title="XMonad.Layout">ChangeLayout</a></span> <a href="src/XMonad.Core.html#line-137" class="link">Source</a> <a href="#t:Message" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:Message:Message:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Layout.html">XMonad.Layout</a></p></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Message:Message:4"></span> <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> <a href="XMonad-Layout.html#t:IncMasterN" title="XMonad.Layout">IncMasterN</a></span> <a href="src/XMonad.Core.html#line-44" class="link">Source</a> <a href="#t:Message" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:Message:Message:4"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Layout.html">XMonad.Layout</a></p></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:Message:Message:5"></span> <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> <a href="XMonad-Layout.html#t:Resize" title="XMonad.Layout">Resize</a></span> <a href="src/XMonad.Core.html#line-43" class="link">Source</a> <a href="#t:Message" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:Message:Message:5"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Layout.html">XMonad.Layout</a></p></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SomeMessage" class="def">SomeMessage</a> <a href="src/XMonad.Core.html#SomeMessage" class="link">Source</a> <a href="#t:SomeMessage" class="selflink">#</a></p><div class="doc"><p>A wrapped value of some type in the <code><a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a></code> class.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> a =&gt; <a id="v:SomeMessage" class="def">SomeMessage</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a id="v:fromMessage" class="def">fromMessage</a> :: <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> m =&gt; <a href="XMonad-Core.html#t:SomeMessage" title="XMonad.Core">SomeMessage</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> m <a href="src/XMonad.Core.html#fromMessage" class="link">Source</a> <a href="#v:fromMessage" class="selflink">#</a></p><div class="doc"><p>And now, unwrap a given, unknown <code><a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a></code> type, performing a (dynamic)
type check on the result.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LayoutMessages" class="def">LayoutMessages</a> <a href="src/XMonad.Core.html#LayoutMessages" class="link">Source</a> <a href="#t:LayoutMessages" class="selflink">#</a></p><div class="doc"><p><code><a href="XMonad-Core.html#t:LayoutMessages" title="XMonad.Core">LayoutMessages</a></code> are core messages that all layouts (especially stateful
layouts) should consider handling.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Hide" class="def">Hide</a></td><td class="doc"><p>sent when a layout becomes non-visible</p></td></tr><tr><td class="src"><a id="v:ReleaseResources" class="def">ReleaseResources</a></td><td class="doc"><p>sent when xmonad is exiting or restarting</p></td></tr></table></div><div class="subs instances"><details id="i:LayoutMessages" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:LayoutMessages:Eq:1"></span> <a href="/package/base-4.11.1.0/docs/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> <a href="XMonad-Core.html#t:LayoutMessages" title="XMonad.Core">LayoutMessages</a></span> <a href="src/XMonad.Core.html#line-376" class="link">Source</a> <a href="#t:LayoutMessages" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:LayoutMessages:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="XMonad-Core.html#t:LayoutMessages" title="XMonad.Core">LayoutMessages</a> -&gt; <a href="XMonad-Core.html#t:LayoutMessages" title="XMonad.Core">LayoutMessages</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="XMonad-Core.html#t:LayoutMessages" title="XMonad.Core">LayoutMessages</a> -&gt; <a href="XMonad-Core.html#t:LayoutMessages" title="XMonad.Core">LayoutMessages</a> -&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:LayoutMessages:Message:2"></span> <a href="XMonad-Core.html#t:Message" title="XMonad.Core">Message</a> <a href="XMonad-Core.html#t:LayoutMessages" title="XMonad.Core">LayoutMessages</a></span> <a href="src/XMonad.Core.html#line-378" class="link">Source</a> <a href="#t:LayoutMessages" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:LayoutMessages:Message:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:StateExtension" class="def">StateExtension</a> <a href="src/XMonad.Core.html#StateExtension" class="link">Source</a> <a href="#t:StateExtension" class="selflink">#</a></p><div class="doc"><p>Existential type to store a state extension.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a href="XMonad-Core.html#t:ExtensionClass" title="XMonad.Core">ExtensionClass</a> a =&gt; <a id="v:StateExtension" class="def">StateExtension</a> a</td><td class="doc"><p>Non-persistent state extension</p></td></tr><tr><td class="src">(<a href="/package/base-4.11.1.0/docs/Text-Read.html#t:Read" title="Text.Read">Read</a> a, <a href="/package/base-4.11.1.0/docs/Text-Show.html#t:Show" title="Text.Show">Show</a> a, <a href="XMonad-Core.html#t:ExtensionClass" title="XMonad.Core">ExtensionClass</a> a) =&gt; <a id="v:PersistentExtension" class="def">PersistentExtension</a> a</td><td class="doc"><p>Persistent extension</p></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="XMonad-Core.html#t:Typeable" title="XMonad.Core">Typeable</a> a =&gt; <a id="t:ExtensionClass" class="def">ExtensionClass</a> a <span class="keyword">where</span> <a href="src/XMonad.Core.html#ExtensionClass" class="link">Source</a> <a href="#t:ExtensionClass" class="selflink">#</a></p><div class="doc"><p>Every module must make the data it wants to store
an instance of this class.</p><p>Minimal complete definition: initialValue</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="XMonad-Core.html#v:initialValue" title="XMonad.Core">initialValue</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:initialValue" class="def">initialValue</a> :: a <a href="src/XMonad.Core.html#initialValue" class="link">Source</a> <a href="#v:initialValue" class="selflink">#</a></p><div class="doc"><p>Defines an initial value for the state extension</p></div><p class="src"><a id="v:extensionType" class="def">extensionType</a> :: a -&gt; <a href="XMonad-Core.html#t:StateExtension" title="XMonad.Core">StateExtension</a> <a href="src/XMonad.Core.html#extensionType" class="link">Source</a> <a href="#v:extensionType" class="selflink">#</a></p><div class="doc"><p>Specifies whether the state extension should be
persistent. Setting this method to <code><a href="XMonad-Core.html#v:PersistentExtension" title="XMonad.Core">PersistentExtension</a></code>
will make the stored data survive restarts, but
requires a to be an instance of Read and Show.</p><p>It defaults to <code><a href="XMonad-Core.html#t:StateExtension" title="XMonad.Core">StateExtension</a></code>, i.e. no persistence.</p></div></div></div><div class="top"><p class="src"><a id="v:runX" class="def">runX</a> :: <a href="XMonad-Core.html#t:XConf" title="XMonad.Core">XConf</a> -&gt; <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> (a, <a href="XMonad-Core.html#t:XState" title="XMonad.Core">XState</a>) <a href="src/XMonad.Core.html#runX" class="link">Source</a> <a href="#v:runX" class="selflink">#</a></p><div class="doc"><p>Run the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad, given a chunk of <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad code, and an initial state
Return the result, and final state</p></div></div><div class="top"><p class="src"><a id="v:catchX" class="def">catchX</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="src/XMonad.Core.html#catchX" class="link">Source</a> <a href="#v:catchX" class="selflink">#</a></p><div class="doc"><p>Run in the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad, and in case of exception, and catch it and log it
to stderr, and run the error case.</p></div></div><div class="top"><p class="src"><a id="v:userCode" class="def">userCode</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> (<a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> a) <a href="src/XMonad.Core.html#userCode" class="link">Source</a> <a href="#v:userCode" class="selflink">#</a></p><div class="doc"><p>Execute the argument, catching all exceptions. Either this function or
<code><a href="XMonad-Core.html#v:catchX" title="XMonad.Core">catchX</a></code> should be used at all callsites of user customized code.</p></div></div><div class="top"><p class="src"><a id="v:userCodeDef" class="def">userCodeDef</a> :: a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="src/XMonad.Core.html#userCodeDef" class="link">Source</a> <a href="#v:userCodeDef" class="selflink">#</a></p><div class="doc"><p>Same as userCode but with a default argument to return instead of using
Maybe, provided for convenience.</p></div></div><div class="top"><p class="src"><a id="v:io" class="def">io</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> a -&gt; m a <a href="src/XMonad.Core.html#io" class="link">Source</a> <a href="#v:io" class="selflink">#</a></p><div class="doc"><p>General utilities</p><p>Lift an <code><a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a></code> action into the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad</p></div></div><div class="top"><p class="src"><a id="v:catchIO" class="def">catchIO</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> () -&gt; m () <a href="src/XMonad.Core.html#catchIO" class="link">Source</a> <a href="#v:catchIO" class="selflink">#</a></p><div class="doc"><p>Lift an <code><a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a></code> action into the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad. If the action results in an <code><a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a></code>
exception, log the exception to stderr and continue normal execution.</p></div></div><div class="top"><p class="src"><a id="v:installSignalHandlers" class="def">installSignalHandlers</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m () <a href="src/XMonad.Core.html#installSignalHandlers" class="link">Source</a> <a href="#v:installSignalHandlers" class="selflink">#</a></p><div class="doc"><p>Ignore SIGPIPE to avoid termination when a pipe is full, and SIGCHLD to
avoid zombie processes, and clean up any extant zombie processes.</p></div></div><div class="top"><p class="src"><a id="v:uninstallSignalHandlers" class="def">uninstallSignalHandlers</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m () <a href="src/XMonad.Core.html#uninstallSignalHandlers" class="link">Source</a> <a href="#v:uninstallSignalHandlers" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:withDisplay" class="def">withDisplay</a> :: (<a href="XMonad.html#t:Display" title="XMonad">Display</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="src/XMonad.Core.html#withDisplay" class="link">Source</a> <a href="#v:withDisplay" class="selflink">#</a></p><div class="doc"><p>Run a monad action with the current display settings</p></div></div><div class="top"><p class="src"><a id="v:withWindowSet" class="def">withWindowSet</a> :: (<a href="XMonad-Core.html#t:WindowSet" title="XMonad.Core">WindowSet</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="src/XMonad.Core.html#withWindowSet" class="link">Source</a> <a href="#v:withWindowSet" class="selflink">#</a></p><div class="doc"><p>Run a monadic action with the current stack set</p></div></div><div class="top"><p class="src"><a id="v:isRoot" class="def">isRoot</a> :: <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="src/XMonad.Core.html#isRoot" class="link">Source</a> <a href="#v:isRoot" class="selflink">#</a></p><div class="doc"><p>True if the given window is the root window</p></div></div><div class="top"><p class="src"><a id="v:runOnWorkspaces" class="def">runOnWorkspaces</a> :: (<a href="XMonad-Core.html#t:WindowSpace" title="XMonad.Core">WindowSpace</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad-Core.html#t:WindowSpace" title="XMonad.Core">WindowSpace</a>) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> () <a href="src/XMonad.Core.html#runOnWorkspaces" class="link">Source</a> <a href="#v:runOnWorkspaces" class="selflink">#</a></p><div class="doc"><p>This is basically a map function, running a function in the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad on
each workspace with the output of that function being the modified workspace.</p></div></div><div class="top"><p class="src"><a id="v:getAtom" class="def">getAtom</a> :: <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a> <a href="src/XMonad.Core.html#getAtom" class="link">Source</a> <a href="#v:getAtom" class="selflink">#</a></p><div class="doc"><p>Wrapper for the common case of atom internment</p></div></div><div class="top"><p class="src"><a id="v:spawn" class="def">spawn</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; m () <a href="src/XMonad.Core.html#spawn" class="link">Source</a> <a href="#v:spawn" class="selflink">#</a></p><div class="doc"><p>spawn. Launch an external application. Specifically, it double-forks and
runs the <code><a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a></code> you pass as a command to /bin/sh.</p><p>Note this function assumes your locale uses utf8.</p></div></div><div class="top"><p class="src"><a id="v:spawnPID" class="def">spawnPID</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; m <a href="/package/base-4.11.1.0/docs/System-Posix-Types.html#t:ProcessID" title="System.Posix.Types">ProcessID</a> <a href="src/XMonad.Core.html#spawnPID" class="link">Source</a> <a href="#v:spawnPID" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="XMonad-Core.html#v:spawn" title="XMonad.Core">spawn</a></code>, but returns the <code><a href="/package/base-4.11.1.0/docs/System-Posix-Types.html#t:ProcessID" title="System.Posix.Types">ProcessID</a></code> of the launched application</p></div></div><div class="top"><p class="src"><a id="v:xfork" class="def">xfork</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> () -&gt; m <a href="/package/base-4.11.1.0/docs/System-Posix-Types.html#t:ProcessID" title="System.Posix.Types">ProcessID</a> <a href="src/XMonad.Core.html#xfork" class="link">Source</a> <a href="#v:xfork" class="selflink">#</a></p><div class="doc"><p>A replacement for <code><a href="/package/unix-2.7.2.2/docs/System-Posix-Process-ByteString.html#v:forkProcess" title="System.Posix.Process.ByteString">forkProcess</a></code> which resets default signal handlers.</p></div></div><div class="top"><p class="src"><a id="v:recompile" class="def">recompile</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; m <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="src/XMonad.Core.html#recompile" class="link">Source</a> <a href="#v:recompile" class="selflink">#</a></p><div class="doc"><p>'recompile force', recompile the xmonad configuration file when
any of the following apply:</p><ul><li>force is <code><a href="/package/base-4.11.1.0/docs/Data-Bool.html#v:True" title="Data.Bool">True</a></code></li><li>the xmonad executable does not exist</li><li>the xmonad executable is older than xmonad.hs or any file in
the <code>lib</code> directory (under the configuration directory).</li></ul><p>The -i flag is used to restrict recompilation to the xmonad.hs file only,
and any files in the aforementioned <code>lib</code> directory.</p><p>Compilation errors (if any) are logged to the <code>xmonad.errors</code> file
in the xmonad data directory. If GHC indicates failure with a
non-zero exit code, an xmessage displaying that file is spawned.</p><p><code><a href="/package/base-4.11.1.0/docs/Data-Bool.html#v:False" title="Data.Bool">False</a></code> is returned if there are compilation errors.</p></div></div><div class="top"><p class="src"><a id="v:trace" class="def">trace</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; m () <a href="src/XMonad.Core.html#trace" class="link">Source</a> <a href="#v:trace" class="selflink">#</a></p><div class="doc"><p>A <code><a href="XMonad-Core.html#v:trace" title="XMonad.Core">trace</a></code> for the <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> monad. Logs a string to stderr. The result may
be found in your .xsession-errors file</p></div></div><div class="top"><p class="src"><a id="v:whenJust" class="def">whenJust</a> :: <a href="/package/base-4.11.1.0/docs/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m =&gt; <a href="/package/base-4.11.1.0/docs/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> a -&gt; (a -&gt; m ()) -&gt; m () <a href="src/XMonad.Core.html#whenJust" class="link">Source</a> <a href="#v:whenJust" class="selflink">#</a></p><div class="doc"><p>Conditionally run an action, using a <code>Maybe a</code> to decide.</p></div></div><div class="top"><p class="src"><a id="v:whenX" class="def">whenX</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="/package/base-4.11.1.0/docs/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> () -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> () <a href="src/XMonad.Core.html#whenX" class="link">Source</a> <a href="#v:whenX" class="selflink">#</a></p><div class="doc"><p>Conditionally run an action, using a <code><a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a></code> event to decide</p></div></div><div class="top"><p class="src"><a id="v:getXMonadDir" class="def">getXMonadDir</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#getXMonadDir" class="link">Source</a> <a href="#v:getXMonadDir" class="selflink">#</a></p><div class="doc"><p>Return the path to the xmonad configuration directory. This
directory is where user configuration files are stored (e.g, the
xmonad.hs file). You may also create a <code>lib</code> subdirectory in the
configuration directory and the default recompile command will add
it to the GHC include path.</p><p>Several directories are considered. In order of
preference:</p><ol><li>The directory specified in the <code>XMONAD_CONFIG_DIR</code> environment variable.</li><li>The <code>~/.xmonad</code> directory.</li><li>The <code>XDG_CONFIG_HOME/xmonad</code> directory.</li></ol><p>The first directory that exists will be used. If none of the
directories exist then (1) will be used if it is set, otherwise (2)
will be used. Either way, a directory will be created if necessary.</p></div></div><div class="top"><p class="src"><a id="v:getXMonadCacheDir" class="def">getXMonadCacheDir</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#getXMonadCacheDir" class="link">Source</a> <a href="#v:getXMonadCacheDir" class="selflink">#</a></p><div class="doc"><p>Return the path to the xmonad cache directory. This directory is
used to store temporary files that can easily be recreated. For
example, the XPrompt history file.</p><p>Several directories are considered. In order of preference:</p><ol><li>The directory specified in the <code>XMONAD_CACHE_DIR</code> environment variable.</li><li>The <code>~/.xmonad</code> directory.</li><li>The <code>XDG_CACHE_HOME/xmonad</code> directory.</li></ol><p>The first directory that exists will be used. If none of the
directories exist then (1) will be used if it is set, otherwise (2)
will be used. Either way, a directory will be created if necessary.</p></div></div><div class="top"><p class="src"><a id="v:getXMonadDataDir" class="def">getXMonadDataDir</a> :: <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m =&gt; m <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> <a href="src/XMonad.Core.html#getXMonadDataDir" class="link">Source</a> <a href="#v:getXMonadDataDir" class="selflink">#</a></p><div class="doc"><p>Return the path to the xmonad data directory. This directory is
used by XMonad to store data files such as the run-time state file
and the configuration binary generated by GHC.</p><p>Several directories are considered. In order of preference:</p><ol><li>The directory specified in the <code>XMONAD_DATA_DIR</code> environment variable.</li><li>The <code>~/.xmonad</code> directory.</li><li>The <code>XDG_DATA_HOME/xmonad</code> directory.</li></ol><p>The first directory that exists will be used. If none of the
directories exist then (1) will be used if it is set, otherwise (2)
will be used. Either way, a directory will be created if necessary.</p></div></div><div class="top"><p class="src"><a id="v:stateFileName" class="def">stateFileName</a> :: (<a href="/package/base-4.11.1.0/docs/Data-Functor.html#t:Functor" title="Data.Functor">Functor</a> m, <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> m) =&gt; m <a href="/package/base-4.11.1.0/docs/System-IO.html#t:FilePath" title="System.IO">FilePath</a> <a href="src/XMonad.Core.html#stateFileName" class="link">Source</a> <a href="#v:stateFileName" class="selflink">#</a></p><div class="doc"><p>Get the name of the file used to store the xmonad window state.</p></div></div><div class="top"><p class="src"><a id="v:atom_WM_STATE" class="def">atom_WM_STATE</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a> <a href="src/XMonad.Core.html#atom_WM_STATE" class="link">Source</a> <a href="#v:atom_WM_STATE" class="selflink">#</a></p><div class="doc"><p>Common non-predefined atoms</p></div></div><div class="top"><p class="src"><a id="v:atom_WM_PROTOCOLS" class="def">atom_WM_PROTOCOLS</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a> <a href="src/XMonad.Core.html#atom_WM_PROTOCOLS" class="link">Source</a> <a href="#v:atom_WM_PROTOCOLS" class="selflink">#</a></p><div class="doc"><p>Common non-predefined atoms</p></div></div><div class="top"><p class="src"><a id="v:atom_WM_DELETE_WINDOW" class="def">atom_WM_DELETE_WINDOW</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a> <a href="src/XMonad.Core.html#atom_WM_DELETE_WINDOW" class="link">Source</a> <a href="#v:atom_WM_DELETE_WINDOW" class="selflink">#</a></p><div class="doc"><p>Common non-predefined atoms</p></div></div><div class="top"><p class="src"><a id="v:atom_WM_TAKE_FOCUS" class="def">atom_WM_TAKE_FOCUS</a> :: <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> <a href="XMonad.html#t:Atom" title="XMonad">Atom</a> <a href="src/XMonad.Core.html#atom_WM_TAKE_FOCUS" class="link">Source</a> <a href="#v:atom_WM_TAKE_FOCUS" class="selflink">#</a></p><div class="doc"><p>Common non-predefined atoms</p></div></div><div class="top"><p class="src"><a id="v:withWindowAttributes" class="def">withWindowAttributes</a> :: <a href="XMonad.html#t:Display" title="XMonad">Display</a> -&gt; <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; (<a href="/package/X11-1.9/docs/Graphics-X11-Xlib-Extras.html#t:WindowAttributes" title="Graphics.X11.Xlib.Extras">WindowAttributes</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> ()) -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> () <a href="src/XMonad.Core.html#withWindowAttributes" class="link">Source</a> <a href="#v:withWindowAttributes" class="selflink">#</a></p><div class="doc"><p>Safely access window attributes.</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ManageHook" class="def">ManageHook</a> = <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> (<a href="/package/base-4.11.1.0/docs/Data-Monoid.html#t:Endo" title="Data.Monoid">Endo</a> <a href="XMonad-Core.html#t:WindowSet" title="XMonad.Core">WindowSet</a>) <a href="src/XMonad.Core.html#ManageHook" class="link">Source</a> <a href="#t:ManageHook" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Query" class="def">Query</a> a <a href="src/XMonad.Core.html#Query" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Query" class="def">Query</a> (<a href="/package/mtl-2.2.2/docs/Control-Monad-Reader.html#t:ReaderT" title="Control.Monad.Reader">ReaderT</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:Query" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Query:Monad:1"></span> <a href="/package/base-4.11.1.0/docs/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a></span> <a href="src/XMonad.Core.html#line-169" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Query:Monad:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(&gt;&gt;=)</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; (a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b) -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(&gt;&gt;)</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="/package/base-4.11.1.0/docs/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:fail" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Query:Functor:2"></span> <a href="/package/base-4.11.1.0/docs/Data-Functor.html#t:Functor" title="Data.Functor">Functor</a> <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a></span> <a href="src/XMonad.Core.html#line-169" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Query:Functor:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:-60--36-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Query:Applicative:3"></span> <a href="/package/base-4.11.1.0/docs/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a></span> <a href="src/XMonad.Core.html#line-169" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Query:Applicative:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> (a -&gt; b) -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:liftA2">liftA2</a> :: (a -&gt; b -&gt; c) -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> c <a href="#v:liftA2" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> b -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:-60--42-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Query:MonadIO:4"></span> <a href="XMonad.html#t:MonadIO" title="XMonad">MonadIO</a> <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a></span> <a href="src/XMonad.Core.html#line-169" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Query:MonadIO:4"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:liftIO">liftIO</a> :: <a href="/package/base-4.11.1.0/docs/System-IO.html#t:IO" title="System.IO">IO</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:liftIO" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Query:MonadReader:5"></span> <a href="XMonad.html#t:MonadReader" title="XMonad">MonadReader</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a></span> <a href="src/XMonad.Core.html#line-169" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Query:MonadReader:5"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:ask">ask</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> <a href="XMonad.html#t:Window" title="XMonad">Window</a> <a href="#v:ask" class="selflink">#</a></p><p class="src"><a href="#v:local">local</a> :: (<a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad.html#t:Window" title="XMonad">Window</a>) -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:local" class="selflink">#</a></p><p class="src"><a href="#v:reader">reader</a> :: (<a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; a) -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:reader" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Query:Semigroup:6"></span> <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Semigroup" title="Prelude">Semigroup</a> a =&gt; <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Semigroup" title="Prelude">Semigroup</a> (<a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a)</span> <a href="src/XMonad.Core.html#line-174" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Query:Semigroup:6"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="/package/base-4.11.1.0/docs/Data-List-NonEmpty.html#t:NonEmpty" title="Data.List.NonEmpty">NonEmpty</a> (<a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a) -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="/package/base-4.11.1.0/docs/Prelude.html#t:Integral" title="Prelude">Integral</a> b =&gt; b -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:stimes" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Query:Monoid:7"></span> <a href="/package/base-4.11.1.0/docs/Data-Monoid.html#t:Monoid" title="Data.Monoid">Monoid</a> a =&gt; <a href="/package/base-4.11.1.0/docs/Data-Monoid.html#t:Monoid" title="Data.Monoid">Monoid</a> (<a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a)</span> <a href="src/XMonad.Core.html#line-177" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Query:Monoid:7"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [<a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a] -&gt; <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:mconcat" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Query:Default:8"></span> <a href="XMonad-Config.html#t:Default" title="XMonad.Config">Default</a> a =&gt; <a href="XMonad-Config.html#t:Default" title="XMonad.Config">Default</a> (<a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a)</span> <a href="src/XMonad.Core.html#line-181" class="link">Source</a> <a href="#t:Query" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Query:Default:8"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="XMonad-Core.html">XMonad.Core</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:def">def</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a <a href="#v:def" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:runQuery" class="def">runQuery</a> :: <a href="XMonad-Core.html#t:Query" title="XMonad.Core">Query</a> a -&gt; <a href="XMonad.html#t:Window" title="XMonad">Window</a> -&gt; <a href="XMonad-Core.html#t:X" title="XMonad.Core">X</a> a <a href="src/XMonad.Core.html#runQuery" class="link">Source</a> <a href="#v:runQuery" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.20.0</p></div></body></html>