<!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.GridVariants</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-GridVariants.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/XMonad-Layout-GridVariants.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.11: 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>nzeh@cs.dal.ca</td></tr><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">XMonad.Layout.GridVariants</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>Two layouts: one is a variant of the Grid layout that allows the desired aspect ratio of windows to be specified. The other is like Tall but places a grid with fixed number of rows and columns in the master area and uses an aspect-ratio-specified layout for the slaves. </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:ChangeMasterGridGeom">ChangeMasterGridGeom</a> <ul class="subs"><li>= <a href="#v:IncMasterRows">IncMasterRows</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> </li><li>| <a href="#v:IncMasterCols">IncMasterCols</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> </li><li>| <a href="#v:SetMasterRows">SetMasterRows</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> </li><li>| <a href="#v:SetMasterCols">SetMasterCols</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> </li><li>| <a href="#v:SetMasterFraction">SetMasterFraction</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:ChangeGridGeom">ChangeGridGeom</a> <ul class="subs"><li>= <a href="#v:SetGridAspect">SetGridAspect</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> </li><li>| <a href="#v:ChangeGridAspect">ChangeGridAspect</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Grid">Grid</a> a = <a href="#v:Grid">Grid</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:TallGrid">TallGrid</a> a = <a href="#v:TallGrid">TallGrid</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:SplitGrid">SplitGrid</a> a = <a href="#v:SplitGrid">SplitGrid</a> <a href="XMonad-Layout-GridVariants.html#t:Orientation">Orientation</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Orientation">Orientation</a> <ul class="subs"><li>= <a href="#v:T">T</a> </li><li>| <a href="#v:B">B</a> </li><li>| <a href="#v:L">L</a> </li><li>| <a href="#v:R">R</a> </li></ul></li></ul></div><div id="interface"><h1 id="g:1">Usage </h1><div class="doc"><p>This module can be used as follows: </p><pre> import XMonad.Layout.GridVariants </pre><p>Then add something like this to your layouts: </p><pre> Grid (16/10) </pre><p>for a 16:10 aspect ratio grid, or </p><pre> SplitGrid L 2 3 (2/3) (16/10) (5/100) </pre><p>for a layout with a 2x3 master grid that uses 2/3 of the screen, and a 16:10 aspect ratio slave grid to its right. The last parameter is again the percentage by which the split between master and slave area changes in response to Expand/Shrink messages. </p><p>To be able to change the geometry of the master grid, add something like this to your keybindings: </p><pre> ((modm .|. shiftMask, xK_equal), sendMessage $ IncMasterCols 1), ((modm .|. shiftMask, xK_minus), sendMessage $ IncMasterCols (-1)), ((modm .|. controlMask, xK_equal), sendMessage $ IncMasterRows 1), ((modm .|. controlMask, xK_minus), sendMessage $ IncMasterRows (-1)) </pre></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ChangeMasterGridGeom" class="def">ChangeMasterGridGeom</a> <a href="src/XMonad-Layout-GridVariants.html#ChangeMasterGridGeom" class="link">Source</a></p><div class="doc"><p>The geometry change message understood by the master grid </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:IncMasterRows" class="def">IncMasterRows</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>Change the number of master rows </p></td></tr><tr><td class="src"><a name="v:IncMasterCols" class="def">IncMasterCols</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>Change the number of master columns </p></td></tr><tr><td class="src"><a name="v:SetMasterRows" class="def">SetMasterRows</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>Set the number of master rows to absolute value </p></td></tr><tr><td class="src"><a name="v:SetMasterCols" class="def">SetMasterCols</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>Set the number of master columns to absolute value </p></td></tr><tr><td class="src"><a name="v:SetMasterFraction" class="def">SetMasterFraction</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></td><td class="doc"><p>Set the fraction of the screen used by the master grid </p></td></tr></table></div><div class="subs instances"><p id="control.i:ChangeMasterGridGeom" class="caption collapser" onclick="toggleSection('i:ChangeMasterGridGeom')">Instances</p><div id="section.i:ChangeMasterGridGeom" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="XMonad-Layout-GridVariants.html#t:ChangeMasterGridGeom">ChangeMasterGridGeom</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:Message">Message</a> <a href="XMonad-Layout-GridVariants.html#t:ChangeMasterGridGeom">ChangeMasterGridGeom</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:ChangeGridGeom" class="def">ChangeGridGeom</a> <a href="src/XMonad-Layout-GridVariants.html#ChangeGridGeom" class="link">Source</a></p><div class="doc"><p>Geometry change messages understood by Grid and SplitGrid </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:SetGridAspect" class="def">SetGridAspect</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:ChangeGridAspect" class="def">ChangeGridAspect</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ChangeGridGeom" class="caption collapser" onclick="toggleSection('i:ChangeGridGeom')">Instances</p><div id="section.i:ChangeGridGeom" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="XMonad-Layout-GridVariants.html#t:ChangeGridGeom">ChangeGridGeom</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:Message">Message</a> <a href="XMonad-Layout-GridVariants.html#t:ChangeGridGeom">ChangeGridGeom</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:Grid" class="def">Grid</a> a <a href="src/XMonad-Layout-GridVariants.html#Grid" class="link">Source</a></p><div class="doc"><p>Grid layout. The parameter is the desired x:y aspect ratio of windows </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Grid" class="def">Grid</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Grid" class="caption collapser" onclick="toggleSection('i:Grid')">Instances</p><div id="section.i:Grid" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:LayoutClass">LayoutClass</a> <a href="XMonad-Layout-GridVariants.html#t:Grid">Grid</a> a</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> (<a href="XMonad-Layout-GridVariants.html#t:Grid">Grid</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="XMonad-Layout-GridVariants.html#t:Grid">Grid</a> 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:TallGrid" class="def">TallGrid</a> a <a href="src/XMonad-Layout-GridVariants.html#TallGrid" class="link">Source</a></p><div class="doc"><p>TallGrid layout. Parameters are </p><ul><li> number of master rows - number of master columns - portion of screen used for master grid - x:y aspect ratio of slave windows - increment for resize messages </li></ul><p>This exists mostly because it was introduced in an earlier version. It's a fairly thin wrapper around <a href="SplitGrid L.html">SplitGrid L</a>. </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TallGrid" class="def">TallGrid</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:TallGrid" class="caption collapser" onclick="toggleSection('i:TallGrid')">Instances</p><div id="section.i:TallGrid" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:LayoutClass">LayoutClass</a> <a href="XMonad-Layout-GridVariants.html#t:TallGrid">TallGrid</a> a</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> (<a href="XMonad-Layout-GridVariants.html#t:TallGrid">TallGrid</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="XMonad-Layout-GridVariants.html#t:TallGrid">TallGrid</a> 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:SplitGrid" class="def">SplitGrid</a> a <a href="src/XMonad-Layout-GridVariants.html#SplitGrid" class="link">Source</a></p><div class="doc"><p>SplitGrid layout. Parameters are </p><ul><li> side where the master is - number of master rows - number of master columns - portion of screen used for master grid - x:y aspect ratio of slave windows - increment for resize messages </li></ul></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:SplitGrid" class="def">SplitGrid</a> <a href="XMonad-Layout-GridVariants.html#t:Orientation">Orientation</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Rational">Rational</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:SplitGrid" class="caption collapser" onclick="toggleSection('i:SplitGrid')">Instances</p><div id="section.i:SplitGrid" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-Core.html#t:LayoutClass">LayoutClass</a> <a href="XMonad-Layout-GridVariants.html#t:SplitGrid">SplitGrid</a> a</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> (<a href="XMonad-Layout-GridVariants.html#t:SplitGrid">SplitGrid</a> a)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="XMonad-Layout-GridVariants.html#t:SplitGrid">SplitGrid</a> 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:Orientation" class="def">Orientation</a> <a href="src/XMonad-Layout-GridVariants.html#Orientation" class="link">Source</a></p><div class="doc"><p>Type to specify the side of the screen that holds the master area of a SplitGrid. </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:T" class="def">T</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:B" class="def">B</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:L" class="def">L</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:R" class="def">R</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Orientation" class="caption collapser" onclick="toggleSection('i:Orientation')">Instances</p><div id="section.i:Orientation" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="XMonad-Layout-GridVariants.html#t:Orientation">Orientation</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> <a href="XMonad-Layout-GridVariants.html#t:Orientation">Orientation</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> <a href="XMonad-Layout-GridVariants.html#t:Orientation">Orientation</a></td><td class="doc empty"> </td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>