<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >XMonad.Hooks.ManageDocks</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_XMonad-Hooks-ManageDocks.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >xmonad-contrib-0.9.1: Third party extensions for xmonad</TD ><TD CLASS="topbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html" >Source code</A ></TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >XMonad.Hooks.ManageDocks</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >unportable</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >unstable</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >Joachim Breitner <mail@joachim-breitner.de></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><B >Contents</B ></TD ></TR ><TR ><TD ><DL ><DT ><A HREF="#1" >Usage </A ></DT ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >This module provides tools to automatically manage dock type programs, such as gnome-panel, kicker, dzen, and xmobar. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AmanageDocks" >manageDocks</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AManageHook" >ManageHook</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcheckDock" >checkDock</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AQuery" >Query</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AAvoidStruts" >AvoidStruts</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AavoidStruts" >avoidStruts</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > l a => l a -> <A HREF="XMonad-Layout-LayoutModifier.html#t%3AModifiedLayout" >ModifiedLayout</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A > l a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AavoidStrutsOn" >avoidStrutsOn</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > l a => [<A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A >] -> l a -> <A HREF="XMonad-Layout-LayoutModifier.html#t%3AModifiedLayout" >ModifiedLayout</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A > l a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AToggleStruts" >ToggleStruts</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AToggleStruts" >ToggleStruts</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AToggleStrut" >ToggleStrut</A > <A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ASetStruts" >SetStruts</A > = <A HREF="#v%3ASetStruts" >SetStruts</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AaddedStruts" >addedStruts</A > :: [<A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AremovedStruts" >removedStruts</A > :: [<A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A >]</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="XMonad-Util-Types.html" >XMonad.Util.Types</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcalcGap" >calcGap</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Set.html#t%3ASet" >Set</A > <A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="1" ><A NAME="1" >Usage </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="doc" ><P >To use this module, add the following import to <TT >~/.xmonad/xmonad.hs</TT >: </P ><PRE > import XMonad.Hooks.ManageDocks </PRE ><P >The first component is a <TT ><A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AManageHook" >ManageHook</A ></TT > which recognizes these windows and de-manages them, so that xmonad does not try to tile them. To enable it: </P ><PRE > manageHook = ... <+> manageDocks </PRE ><P >The second component is a layout modifier that prevents windows from overlapping these dock windows. It is intended to replace xmonad's so-called "gap" support. First, you must add it to your list of layouts: </P ><PRE > layoutHook = avoidStruts (tall ||| mirror tall ||| ...) where tall = Tall 1 (3/100) (1/2) </PRE ><P ><TT ><A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A ></TT > also supports toggling the dock gaps; add a keybinding similar to: </P ><PRE > ,((modm, xK_b ), sendMessage ToggleStruts) </PRE ><P >If you have multiple docks, you can toggle their gaps individually. For example, to toggle only the top gap: </P ><PRE > ,((modm .|. controlMask, xK_t), sendMessage $ ToggleStrut U) </PRE ><P >Similarly, you can use <TT ><A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Operations.html#t%3AD" >D</A ></TT >, <TT ><A HREF="XMonad-Util-Types.html#v%3AL" >L</A ></TT >, and <TT ><A HREF="XMonad-Util-Types.html#v%3AR" >R</A ></TT > to individually toggle gaps on the bottom, left, or right. </P ><P >If you want certain docks to be avoided but others to be covered by default, you can manually specify the sides of the screen on which docks should be avoided, using <TT ><A HREF="XMonad-Hooks-ManageDocks.html#v%3AavoidStrutsOn" >avoidStrutsOn</A ></TT >. For example: </P ><PRE > layoutHook = avoidStrutsOn [U,L] (tall ||| mirror tall ||| ...) </PRE ><P ><EM >Important note</EM >: if you are switching from manual gaps (defaultGaps in your config) to avoidStruts (recommended, since manual gaps will probably be phased out soon), be sure to switch off all your gaps (with mod-b) <EM >before</EM > reloading your config with avoidStruts! Toggling struts with a <TT ><A HREF="XMonad-Hooks-ManageDocks.html#t%3AToggleStruts" >ToggleStruts</A ></TT > message will not work unless your gaps are set to zero. </P ><P >For detailed instructions on editing your key bindings, see <A HREF="XMonad-Doc-Extending.html#Editing_key_bindings" >XMonad.Doc.Extending</A >. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:manageDocks" ><A NAME="v%3AmanageDocks" ></A ></A ><B >manageDocks</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AManageHook" >ManageHook</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html#manageDocks" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Detects if the given window is of type DOCK and if so, reveals it, but does not manage it. If the window has the STRUT property set, adjust the gap accordingly. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:checkDock" ><A NAME="v%3AcheckDock" ></A ></A ><B >checkDock</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AQuery" >Query</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html#checkDock" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Checks if a window is a DOCK or DESKTOP window </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:AvoidStruts" ><A NAME="t%3AAvoidStruts" ></A ></A ><B >AvoidStruts</B > a </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html#AvoidStruts" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:AvoidStruts')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:AvoidStruts" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="XMonad-Layout-LayoutModifier.html#t%3ALayoutModifier" >LayoutModifier</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A > a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > (<A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:avoidStruts" ><A NAME="v%3AavoidStruts" ></A ></A ><B >avoidStruts</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > l a => l a -> <A HREF="XMonad-Layout-LayoutModifier.html#t%3AModifiedLayout" >ModifiedLayout</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A > l a</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html#avoidStruts" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Adjust layout automagically: don't cover up any docks, status bars, etc. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:avoidStrutsOn" ><A NAME="v%3AavoidStrutsOn" ></A ></A ><B >avoidStrutsOn</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3ALayoutClass" >LayoutClass</A > l a => [<A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A >] -> l a -> <A HREF="XMonad-Layout-LayoutModifier.html#t%3AModifiedLayout" >ModifiedLayout</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A > l a</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html#avoidStrutsOn" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Adjust layout automagically: don't cover up docks, status bars, etc. on the indicated sides of the screen. Valid sides are U (top), D (bottom), R (right), or L (left). </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ToggleStruts" ><A NAME="t%3AToggleStruts" ></A ></A ><B >ToggleStruts</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html#ToggleStruts" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Message type which can be sent to an <TT ><A HREF="XMonad-Hooks-ManageDocks.html#t%3AAvoidStruts" >AvoidStruts</A ></TT > layout modifier to alter its behavior. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:ToggleStruts" ><A NAME="v%3AToggleStruts" ></A ></A ><B >ToggleStruts</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ToggleStrut" ><A NAME="v%3AToggleStrut" ></A ></A ><B >ToggleStrut</B > <A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ToggleStruts')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:ToggleStruts" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AToggleStruts" >ToggleStruts</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AToggleStruts" >ToggleStruts</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable" >Typeable</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AToggleStruts" >ToggleStruts</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AMessage" >Message</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3AToggleStruts" >ToggleStruts</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:SetStruts" ><A NAME="t%3ASetStruts" ></A ></A ><B >SetStruts</B > </TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html#SetStruts" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >SetStruts is a message constructor used to set or unset specific struts, regardless of whether or not the struts were originally set. Here are some example bindings: </P ><P >Show all gaps: </P ><PRE > ,((modm .|. shiftMask ,xK_b),sendMessage $ SetStruts [minBound .. maxBound] []) </PRE ><P >Hide all gaps: </P ><PRE > ,((modm .|. controlMask,xK_b),sendMessage $ SetStruts [] [minBound .. maxBound]) </PRE ><P >Show only upper and left gaps: </P ><PRE > ,((modm .|. controlMask .|. shiftMask,xK_b),sendMessage $ SetStruts [U,L] [minBound .. maxBound]) </PRE ><P >Hide the bottom keeping whatever the other values were: </P ><PRE > ,((modm .|. controlMask .|. shiftMask,xK_g),sendMessage $ SetStruts [] [D]) </PRE ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:SetStruts" ><A NAME="v%3ASetStruts" ></A ></A ><B >SetStruts</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:addedStruts" ><A NAME="v%3AaddedStruts" ></A ></A ><B >addedStruts</B > :: [<A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:removedStruts" ><A NAME="v%3AremovedStruts" ></A ></A ><B >removedStruts</B > :: [<A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A >]</TD ><TD CLASS="rdoc" >These are removed from the currently set struts before <TT ><A HREF="XMonad-Hooks-ManageDocks.html#v%3AaddedStruts" >addedStruts</A ></TT > are added. </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SetStruts')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:SetStruts" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3ASetStruts" >SetStruts</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3ASetStruts" >SetStruts</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable" >Typeable</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3ASetStruts" >SetStruts</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AMessage" >Message</A > <A HREF="XMonad-Hooks-ManageDocks.html#t%3ASetStruts" >SetStruts</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="XMonad-Util-Types.html" >XMonad.Util.Types</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:calcGap" ><A NAME="v%3AcalcGap" ></A ></A ><B >calcGap</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Set.html#t%3ASet" >Set</A > <A HREF="XMonad-Util-Types.html#t%3ADirection2D" >Direction2D</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/xmonad-0.9.1/XMonad-Core.html#t%3AX" >X</A > (<A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib-Types.html#t%3ARectangle" >Rectangle</A >)</TD ><TD CLASS="declbut" ><A HREF="src/XMonad-Hooks-ManageDocks.html#calcGap" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Goes through the list of windows and find the gap so that all STRUT settings are satisfied. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >