<!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.Layout.IM</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-Layout-IM.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/XMonad-Layout-IM.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>Roman Cheplyaka <roma@ro-che.info></td></tr></table><p class="caption">XMonad.Layout.IM</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Usage </a></li><li><a href="#g:2">Hints </a></li><li><a href="#g:3">TODO </a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Layout modfier suitable for workspace with multi-windowed instant messenger (like Psi or Tkabber). </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"><span class="keyword">data</span> <a href="#t:Property">Property</a> <ul class="subs"><li>= <a href="#v:Title">Title</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> </li><li>| <a href="#v:ClassName">ClassName</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> </li><li>| <a href="#v:Resource">Resource</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> </li><li>| <a href="#v:Role">Role</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> </li><li>| <a href="#v:Machine">Machine</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> </li><li>| <a href="#v:And">And</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a> </li><li>| <a href="#v:Or">Or</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a> </li><li>| <a href="#v:Not">Not</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a> </li><li>| <a href="#v:Const">Const</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:IM">IM</a> a = <a href="#v:IM">IM</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Rational">Rational</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a></li><li class="src short"><a href="#v:withIM">withIM</a> :: LayoutClass l a => <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Rational">Rational</a> -> <a href="XMonad-Layout-IM.html#t:Property">Property</a> -> l a -> <a href="XMonad-Layout-LayoutModifier.html#t:ModifiedLayout">ModifiedLayout</a> AddRoster l a</li><li class="src short"><a href="#v:gridIM">gridIM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Rational">Rational</a> -> <a href="XMonad-Layout-IM.html#t:Property">Property</a> -> <a href="XMonad-Layout-LayoutModifier.html#t:ModifiedLayout">ModifiedLayout</a> AddRoster <a href="XMonad-Layout-Grid.html#t:Grid">Grid</a> a</li></ul></div><div id="interface"><h1 id="g:1">Usage </h1><div class="doc"><p>You can use this module with the following in your <code>~/.xmonad/xmonad.hs</code>: </p><pre> import XMonad.Layout.IM import Data.Ratio ((%)) </pre><p>Then edit your <code>layoutHook</code> by adding IM modifier to layout which you prefer for managing your chat windows (Grid in this example, another useful choice to consider is Tabbed layout). </p><pre> myLayout = withIM (1%7) (ClassName "Tkabber") Grid ||| Full ||| etc.. main = xmonad defaultConfig { layoutHook = myLayout } </pre><p>Here <code>1%7</code> is the part of the screen which your roster will occupy, <code>ClassName "Tkabber"</code> tells xmonad which window is actually your roster. </p><p>Screenshot: <a href="http://haskell.org/haskellwiki/Image:Xmonad-layout-im.png">http://haskell.org/haskellwiki/Image:Xmonad-layout-im.png</a> </p><p>For more detailed instructions on editing the layoutHook see: </p><p><a href="XMonad-Doc-Extending.html#Editing_the_layout_hook">XMonad.Doc.Extending</a> </p></div><h1 id="g:2">Hints </h1><div class="doc"><p>To launch IM layout automatically on your IM workspace use <a href="XMonad-Layout-PerWorkspace.html">XMonad.Layout.PerWorkspace</a>. </p><p>By default the roster window will appear on the left side. To place roster window on the right side, use <code>reflectHoriz</code> from <a href="XMonad-Layout-Reflect.html">XMonad.Layout.Reflect</a> module. </p></div><h1 id="g:3">TODO </h1><div class="doc"><p>This item are questionable. Please let me know if you find them useful. </p><ul><li> shrink/expand </li></ul></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Property" class="def">Property</a> <a href="src/XMonad-Util-WindowProperties.html#Property" class="link">Source</a></p><div class="doc"><p>Most of the property constructors are quite self-explaining. </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Title" class="def">Title</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:ClassName" class="def">ClassName</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Resource" class="def">Resource</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Role" class="def">Role</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></td><td class="doc"><p>WM_WINDOW_ROLE property </p></td></tr><tr><td class="src"><a name="v:Machine" class="def">Machine</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></td><td class="doc"><p>WM_CLIENT_MACHINE property </p></td></tr><tr><td class="src"><a name="v:And" class="def">And</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Or" class="def">Or</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Not" class="def">Not</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Const" class="def">Const</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Property" class="caption collapser" onclick="toggleSection('i:Property')">Instances</p><div id="section.i:Property" 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-Layout-IM.html#t:Property">Property</a></td><td class="doc empty"> </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-Layout-IM.html#t:Property">Property</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:IM" class="def">IM</a> a <a href="src/XMonad-Layout-IM.html#IM" class="link">Source</a></p><div class="doc"><p>This is for compatibility with old configs only and will be removed in future versions! </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:IM" class="def">IM</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Rational">Rational</a> <a href="XMonad-Layout-IM.html#t:Property">Property</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:IM" class="caption collapser" onclick="toggleSection('i:IM')">Instances</p><div id="section.i:IM" class="show"><table><tr><td class="src">LayoutClass <a href="XMonad-Layout-IM.html#t:IM">IM</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a></td><td class="doc empty"> </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-Layout-IM.html#t:IM">IM</a> a)</td><td class="doc empty"> </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-Layout-IM.html#t:IM">IM</a> a)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:withIM" class="def">withIM</a> :: LayoutClass l a => <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Rational">Rational</a> -> <a href="XMonad-Layout-IM.html#t:Property">Property</a> -> l a -> <a href="XMonad-Layout-LayoutModifier.html#t:ModifiedLayout">ModifiedLayout</a> AddRoster l a<a href="src/XMonad-Layout-IM.html#withIM" class="link">Source</a></p><div class="doc"><p>Modifier which converts given layout to IM-layout (with dedicated space for roster and original layout for chat windows) </p></div></div><div class="top"><p class="src"><a name="v:gridIM" class="def">gridIM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Rational">Rational</a> -> <a href="XMonad-Layout-IM.html#t:Property">Property</a> -> <a href="XMonad-Layout-LayoutModifier.html#t:ModifiedLayout">ModifiedLayout</a> AddRoster <a href="XMonad-Layout-Grid.html#t:Grid">Grid</a> a<a href="src/XMonad-Layout-IM.html#gridIM" class="link">Source</a></p><div class="doc"><p>IM layout modifier applied to the Grid layout </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>