Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 420a649e6f65db30aa7451f64d08ff92 > files > 619

ghc-xmonad-contrib-devel-0.9.2-4.fc16.i686.rpm

<!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.Hooks.ManageDocks</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_XMonad-Hooks-ManageDocks.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/XMonad-Hooks-ManageDocks.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">xmonad-contrib-0.9.2: Third party extensions for xmonad</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>unportable</td></tr><tr><th>Stability</th><td>unstable</td></tr><tr><th>Maintainer</th><td>Joachim Breitner &lt;mail@joachim-breitner.de&gt;</td></tr></table><p class="caption">XMonad.Hooks.ManageDocks</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Usage
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides tools to automatically manage <code>dock</code> type programs,
 such as gnome-panel, kicker, dzen, and xmobar.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:manageDocks">manageDocks</a> :: ManageHook</li><li class="src short"><a href="#v:checkDock">checkDock</a> :: Query <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:AvoidStruts">AvoidStruts</a> a</li><li class="src short"><a href="#v:avoidStruts">avoidStruts</a> :: LayoutClass l a =&gt; l a -&gt; <a href="XMonad-Layout-LayoutModifier.html#t:ModifiedLayout">ModifiedLayout</a> <a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a> l a</li><li class="src short"><a href="#v:avoidStrutsOn">avoidStrutsOn</a> :: LayoutClass l a =&gt; [<a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a>] -&gt; l a -&gt; <a href="XMonad-Layout-LayoutModifier.html#t:ModifiedLayout">ModifiedLayout</a> <a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a> l a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:ToggleStruts">ToggleStruts</a> <ul class="subs"><li>= <a href="#v:ToggleStruts">ToggleStruts</a>  </li><li>| <a href="#v:ToggleStrut">ToggleStrut</a> <a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:SetStruts">SetStruts</a>  = <a href="#v:SetStruts">SetStruts</a> {<ul class="subs"><li><a href="#v:addedStruts">addedStruts</a> :: [<a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a>]</li><li><a href="#v:removedStruts">removedStruts</a> :: [<a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a>]</li></ul>}</li><li class="src short">module <a href="XMonad-Util-Types.html">XMonad.Util.Types</a></li><li class="src short"><a href="#v:calcGap">calcGap</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Set.html#t:Set">Set</a> <a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a> -&gt; X (<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib.html#t:Rectangle">Rectangle</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib.html#t:Rectangle">Rectangle</a>)</li></ul></div><div id="interface"><h1 id="g:1">Usage
</h1><div class="doc"><p>To use this module, add the following import to <code>~/.xmonad/xmonad.hs</code>:
</p><pre> import XMonad.Hooks.ManageDocks
</pre><p>The first component is a <code>ManageHook</code> which recognizes these
 windows and de-manages them, so that xmonad does not try to tile
 them.  To enable it:
</p><pre> manageHook = ... &lt;+&gt; 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 &quot;gap&quot; 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><code><a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a></code> 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 <code><a href="XMonad-Util-Types.html#v:D">D</a></code>, <code><a href="XMonad-Util-Types.html#v:L">L</a></code>, and <code><a href="XMonad-Util-Types.html#v:R">R</a></code> 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 <code><a href="XMonad-Hooks-ManageDocks.html#v:avoidStrutsOn">avoidStrutsOn</a></code>.  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 <code><a href="XMonad-Hooks-ManageDocks.html#t:ToggleStruts">ToggleStruts</a></code> 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></div><div class="top"><p class="src"><a name="v:manageDocks" class="def">manageDocks</a> :: ManageHook<a href="src/XMonad-Hooks-ManageDocks.html#manageDocks" class="link">Source</a></p><div class="doc"><p>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.
</p></div></div><div class="top"><p class="src"><a name="v:checkDock" class="def">checkDock</a> :: Query <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/XMonad-Hooks-ManageDocks.html#checkDock" class="link">Source</a></p><div class="doc"><p>Checks if a window is a DOCK or DESKTOP window
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:AvoidStruts" class="def">AvoidStruts</a> a <a href="src/XMonad-Hooks-ManageDocks.html#AvoidStruts" class="link">Source</a></p><div class="subs instances"><p id="control.i:AvoidStruts" class="caption collapser" onclick="toggleSection('i:AvoidStruts')">Instances</p><div id="section.i:AvoidStruts" class="show"><table><tr><td class="src"><a href="XMonad-Layout-LayoutModifier.html#t:LayoutModifier">LayoutModifier</a> <a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Read.html#t:Read">Read</a> (<a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> (<a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:avoidStruts" class="def">avoidStruts</a> :: LayoutClass l a =&gt; l a -&gt; <a href="XMonad-Layout-LayoutModifier.html#t:ModifiedLayout">ModifiedLayout</a> <a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a> l a<a href="src/XMonad-Hooks-ManageDocks.html#avoidStruts" class="link">Source</a></p><div class="doc"><p>Adjust layout automagically: don't cover up any docks, status
   bars, etc.
</p></div></div><div class="top"><p class="src"><a name="v:avoidStrutsOn" class="def">avoidStrutsOn</a> :: LayoutClass l a =&gt; [<a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a>] -&gt; l a -&gt; <a href="XMonad-Layout-LayoutModifier.html#t:ModifiedLayout">ModifiedLayout</a> <a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a> l a<a href="src/XMonad-Hooks-ManageDocks.html#avoidStrutsOn" class="link">Source</a></p><div class="doc"><p>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).
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ToggleStruts" class="def">ToggleStruts</a>  <a href="src/XMonad-Hooks-ManageDocks.html#ToggleStruts" class="link">Source</a></p><div class="doc"><p>Message type which can be sent to an <code><a href="XMonad-Hooks-ManageDocks.html#t:AvoidStruts">AvoidStruts</a></code> layout
   modifier to alter its behavior.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ToggleStruts" class="def">ToggleStruts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ToggleStrut" class="def">ToggleStrut</a> <a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ToggleStruts" class="caption collapser" onclick="toggleSection('i:ToggleStruts')">Instances</p><div id="section.i:ToggleStruts" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Read.html#t:Read">Read</a> <a href="XMonad-Hooks-ManageDocks.html#t:ToggleStruts">ToggleStruts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="XMonad-Hooks-ManageDocks.html#t:ToggleStruts">ToggleStruts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Typeable.html#t:Typeable">Typeable</a> <a href="XMonad-Hooks-ManageDocks.html#t:ToggleStruts">ToggleStruts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Message <a href="XMonad-Hooks-ManageDocks.html#t:ToggleStruts">ToggleStruts</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:SetStruts" class="def">SetStruts</a>  <a href="src/XMonad-Hooks-ManageDocks.html#SetStruts" class="link">Source</a></p><div class="doc"><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></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:SetStruts" class="def">SetStruts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:addedStruts" class="def">addedStruts</a> :: [<a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:removedStruts" class="def">removedStruts</a> :: [<a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a>]</dt><dd class="doc"><p>These are removed from the currently set struts before <code><a href="XMonad-Hooks-ManageDocks.html#v:addedStruts">addedStruts</a></code> are added.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:SetStruts" class="caption collapser" onclick="toggleSection('i:SetStruts')">Instances</p><div id="section.i:SetStruts" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Read.html#t:Read">Read</a> <a href="XMonad-Hooks-ManageDocks.html#t:SetStruts">SetStruts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="XMonad-Hooks-ManageDocks.html#t:SetStruts">SetStruts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Typeable.html#t:Typeable">Typeable</a> <a href="XMonad-Hooks-ManageDocks.html#t:SetStruts">SetStruts</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Message <a href="XMonad-Hooks-ManageDocks.html#t:SetStruts">SetStruts</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src">module <a href="XMonad-Util-Types.html">XMonad.Util.Types</a></p></div><div class="top"><p class="src"><a name="v:calcGap" class="def">calcGap</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Set.html#t:Set">Set</a> <a href="XMonad-Util-Types.html#t:Direction2D">Direction2D</a> -&gt; X (<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib.html#t:Rectangle">Rectangle</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Xlib.html#t:Rectangle">Rectangle</a>)<a href="src/XMonad-Hooks-ManageDocks.html#calcGap" class="link">Source</a></p><div class="doc"><p>Goes through the list of windows and find the gap so that all
   STRUT settings are satisfied.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>