Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 97b7e04d4a67814e1160568251f09714 > files > 464

ghc-xmonad-contrib-devel-0.9.1-8.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>XMonad.Layout.Gaps</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-Layout-Gaps.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-Layout-Gaps.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.Layout.Gaps</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"
>&lt;byorgey@gmail.com&gt;</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"
><P
>Create manually-sized gaps along edges of the screen which will not
 be used for tiling, along with support for toggling gaps on and
 off.
</P
><P
>Note that <A HREF="XMonad-Hooks-ManageDocks.html"
>XMonad.Hooks.ManageDocks</A
> is the preferred solution for
 leaving space for your dock-type applications (status bars,
 toolbars, docks, etc.), since it automatically sets up appropriate
 gaps, allows them to be toggled, etc.  However, this module may
 still be useful in some situations where the automated approach of
 ManageDocks does not work; for example, to work with a dock-type
 application that does not properly set the STRUTS property, or to
 leave part of the screen blank which is truncated by a projector,
 and so on.
</P
></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"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADirection2D"
>Direction2D</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AU"
>U</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AD"
>D</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AR"
>R</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AL"
>L</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AGapSpec"
>GapSpec</A
> = [(<A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
>, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>)]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agaps"
>gaps</A
> ::  <A HREF="XMonad-Layout-Gaps.html#t%3AGapSpec"
>GapSpec</A
> -&gt; l a -&gt; <A HREF="XMonad-Layout-LayoutModifier.html#t%3AModifiedLayout"
>ModifiedLayout</A
> Gaps 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%3AGapMessage"
>GapMessage</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AToggleGaps"
>ToggleGaps</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AToggleGap"
>ToggleGap</A
> !<A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIncGap"
>IncGap</A
> !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> !<A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ADecGap"
>DecGap</A
> !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> !<A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></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
>You can use this module by importing it into your <TT
>~/.xmonad/xmonad.hs</TT
> file:
</P
><PRE
> import XMonad.Layout.Gaps
</PRE
><P
>and applying the <TT
><A HREF="XMonad-Layout-Gaps.html#v%3Agaps"
>gaps</A
></TT
> modifier to your layouts as follows (for
 example):
</P
><PRE
> layoutHook = gaps [(U,18), (R,23)] $ Tall 1 (3/100) (1/2) ||| Full  -- leave gaps at the top and right
</PRE
><P
>You can additionally add some keybindings to toggle or modify the gaps,
 for example:
</P
><PRE
> , ((modm .|. controlMask, xK_g), sendMessage $ ToggleGaps)  -- toggle all gaps
 , ((modm .|. controlMask, xK_t), sendMessage $ ToggleGap U) -- toggle the top gap
 , ((modm .|. controlMask, xK_w), sendMessage $ IncGap R 5)  -- increment the right-hand gap
 , ((modm .|. controlMask, xK_q), sendMessage $ DecGap R 5)  -- decrement the right-hand gap
</PRE
><P
>If you want complete control over all gaps, you could include
 something like this in your keybindings, assuming in this case you
 are using XMonad.Util.EZConfig.mkKeymap or
 XMonad.Util.EZConfig.additionalKeysP from <A HREF="XMonad-Util-EZConfig.html"
>XMonad.Util.EZConfig</A
>
 for string keybinding specifications:
</P
><PRE
> ++
 [ (&quot;M-g &quot; ++ f ++ &quot; &quot; ++ k, sendMessage $ m d)
     | (k, d) &lt;- [(&quot;a&quot;,L), (&quot;s&quot;,D), (&quot;w&quot;,U), (&quot;d&quot;,R)]
     , (f, m) &lt;- [(&quot;v&quot;, ToggleGap), (&quot;h&quot;, IncGap 10), (&quot;f&quot;, DecGap 10)]
 ]
</PRE
><P
>Given the above keybinding definition, for example, you could type
 <TT
>M-g, v, a</TT
> to toggle the top gap.
</P
><P
>To configure gaps differently per-screen, use
 <A HREF="XMonad-Layout-PerScreen.html"
>XMonad.Layout.PerScreen</A
> (coming soon).
</P
></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:Direction2D"
><A NAME="t%3ADirection2D"
></A
></A
><B
>Direction2D</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Util-Types.html#Direction2D"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Two-dimensional directions:
</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:U"
><A NAME="v%3AU"
></A
></A
><B
>U</B
></TD
><TD CLASS="rdoc"
>Up
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:D"
><A NAME="v%3AD"
></A
></A
><B
>D</B
></TD
><TD CLASS="rdoc"
>Down
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:R"
><A NAME="v%3AR"
></A
></A
><B
>R</B
></TD
><TD CLASS="rdoc"
>Right
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:L"
><A NAME="v%3AL"
></A
></A
><B
>L</B
></TD
><TD CLASS="rdoc"
>Left
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Direction2D')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Direction2D" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ABounded"
>Bounded</A
> <A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AEnum"
>Enum</A
> <A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</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-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</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-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</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-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:GapSpec"
><A NAME="t%3AGapSpec"
></A
></A
><B
>GapSpec</B
> = [(<A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
>, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>)]</TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Layout-Gaps.html#GapSpec"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A manual gap configuration.  Each side of the screen on which a
   gap is enabled is paired with a size in pixels.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:gaps"
><A NAME="v%3Agaps"
></A
></A
><B
>gaps</B
></TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Layout-Gaps.html#gaps"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="XMonad-Layout-Gaps.html#t%3AGapSpec"
>GapSpec</A
></TD
><TD CLASS="rdoc"
>The gaps to allow, paired with their initial sizes.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; l a</TD
><TD CLASS="rdoc"
>The layout to modify.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="XMonad-Layout-LayoutModifier.html#t%3AModifiedLayout"
>ModifiedLayout</A
> Gaps l a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Add togglable manual gaps to a layout.
</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:GapMessage"
><A NAME="t%3AGapMessage"
></A
></A
><B
>GapMessage</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/XMonad-Layout-Gaps.html#GapMessage"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Messages which can be sent to a gap modifier.
</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:ToggleGaps"
><A NAME="v%3AToggleGaps"
></A
></A
><B
>ToggleGaps</B
></TD
><TD CLASS="rdoc"
>Toggle all gaps.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ToggleGap"
><A NAME="v%3AToggleGap"
></A
></A
><B
>ToggleGap</B
> !<A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
><TD CLASS="rdoc"
>Toggle a single gap.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:IncGap"
><A NAME="v%3AIncGap"
></A
></A
><B
>IncGap</B
> !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> !<A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
><TD CLASS="rdoc"
>Increase a gap by a certain number of pixels.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:DecGap"
><A NAME="v%3ADecGap"
></A
></A
><B
>DecGap</B
> !<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> !<A HREF="XMonad-Layout-Gaps.html#t%3ADirection2D"
>Direction2D</A
></TD
><TD CLASS="rdoc"
>Decrease a gap.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GapMessage')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:GapMessage" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> <A HREF="XMonad-Layout-Gaps.html#t%3AGapMessage"
>GapMessage</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-Layout-Gaps.html#t%3AGapMessage"
>GapMessage</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>