<!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.Actions.GridSelect</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-Actions-GridSelect.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/XMonad-Actions-GridSelect.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>Clemens Fruhwirth <clemens@endorphin.org></td></tr></table><p class="caption">XMonad.Actions.GridSelect</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Usage </a><ul><li><a href="#g:2">Customizing </a><ul><li><a href="#g:3">Using a common GSConfig </a></li><li><a href="#g:4">Custom keybindings </a></li></ul></li></ul></li><li><a href="#g:5">Configuration </a></li><li><a href="#g:6">Variations on <code><a href="XMonad-Actions-GridSelect.html#v:gridselect">gridselect</a></code> </a></li><li><a href="#g:7">Colorizers </a></li><li><a href="#g:8">Screenshots </a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>GridSelect displays items(e.g. the opened windows) in a 2D grid and lets the user select from it with the cursor/hjkl keys or the mouse. </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:GSConfig">GSConfig</a> a = <a href="#v:GSConfig">GSConfig</a> {<ul class="subs"><li><a href="#v:gs_cellheight">gs_cellheight</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a></li><li><a href="#v:gs_cellwidth">gs_cellwidth</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a></li><li><a href="#v:gs_cellpadding">gs_cellpadding</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a></li><li><a href="#v:gs_colorizer">gs_colorizer</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</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:gs_font">gs_font</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:gs_navigate">gs_navigate</a> :: <a href="XMonad-Actions-GridSelect.html#t:NavigateMap">NavigateMap</a></li><li><a href="#v:gs_originFractX">gs_originFractX</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a></li><li><a href="#v:gs_originFractY">gs_originFractY</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a></li></ul>}</li><li class="src short"><a href="#v:defaultGSConfig">defaultGSConfig</a> :: <a href="XMonad-Actions-GridSelect.html#t:HasColorizer">HasColorizer</a> a => <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> a</li><li class="src short"><span class="keyword">type</span> <a href="#t:NavigateMap">NavigateMap</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Map.html#t:Map">Map</a> (<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeyMask">KeyMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>) (<a href="XMonad-Actions-GridSelect.html#t:TwoDPosition">TwoDPosition</a> -> <a href="XMonad-Actions-GridSelect.html#t:TwoDPosition">TwoDPosition</a>)</li><li class="src short"><span class="keyword">type</span> <a href="#t:TwoDPosition">TwoDPosition</a> = (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a>)</li><li class="src short"><a href="#v:buildDefaultGSConfig">buildDefaultGSConfig</a> :: (a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)) -> <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> a</li><li class="src short"><a href="#v:gridselect">gridselect</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> a -> [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, a)] -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:gridselectWindow">gridselectWindow</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a>)</li><li class="src short"><a href="#v:withSelectedWindow">withSelectedWindow</a> :: (<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>) -> <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:bringSelected">bringSelected</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:goToSelected">goToSelected</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:spawnSelected">spawnSelected</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> [<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>] -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:runSelectedAction">runSelectedAction</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> (X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>) -> [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><span class="keyword">class</span> <a href="#t:HasColorizer">HasColorizer</a> a <span class="keyword">where</span><ul class="subs"><li><a href="#v:defaultColorizer">defaultColorizer</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)</li></ul></li><li class="src short"><a href="#v:fromClassName">fromClassName</a> :: <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)</li><li class="src short"><a href="#v:stringColorizer">stringColorizer</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)</li><li class="src short"><a href="#v:colorRangeFromClassName">colorRangeFromClassName</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>) -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>) -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>) -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>) -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>) -> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</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.Actions.GridSelect </pre><p>Then add a keybinding, e.g. </p><pre> , ((modm, xK_g), goToSelected defaultGSConfig) </pre><p>This module also supports displaying arbitrary information in a grid and letting the user select from it. E.g. to spawn an application from a given list, you can use the following: </p><pre> , ((modm, xK_s), spawnSelected defaultGSConfig ["xterm","gmplayer","gvim"]) </pre></div><h2 id="g:2">Customizing </h2><h3 id="g:3">Using a common GSConfig </h3><div class="doc"><p>It is possible to bind a <code>gsconfig</code> at top-level in your configuration. Like so: </p><pre> -- the top of your config {-# LANGUAGE NoMonomorphismRestriction #-} import XMonad ... gsconfig1 = defaultGSConfig { gs_cellheight = 30, gs_cellWidth = 100 } </pre><p>An example where <code><a href="XMonad-Actions-GridSelect.html#v:buildDefaultGSConfig">buildDefaultGSConfig</a></code> is used instead of <code><a href="XMonad-Actions-GridSelect.html#v:defaultGSConfig">defaultGSConfig</a></code> in order to specify a custom colorizer is <code>gsconfig2</code> (found in <a href="XMonad-Actions-GridSelect.html#Colorizers">XMonad.Actions.GridSelect</a>): </p><pre> gsconfig2 colorizer = (buildDefaultGSConfig colorizer) { gs_cellheight = 30, gs_cellWidth = 100 } </pre><pre> -- | A green monochrome colorizer based on window class greenColorizer = colorRangeFromClassName black -- lowest inactive bg (0x70,0xFF,0x70) -- highest inactive bg black -- active bg white -- inactive fg white -- active fg where black = minBound white = maxBound </pre><p>Then you can bind to: </p><pre> ,((modm, xK_g), goToSelected $ gsconfig2 myWinColorizer) ,((modm, xK_p), spawnSelected $ spawnSelected defaultColorizer) </pre></div><h3 id="g:4">Custom keybindings </h3><div class="doc"><p>Adding more keybindings for gridselect to listen to is similar: </p><p>At the top of your config: </p><pre> {-# LANGAUGE NoMonomorphismRestriction #-} import XMonad import qualified Data.Map as M </pre><p>Then define <code>gsconfig3</code> which may be used in exactly the same manner as <code>gsconfig1</code>: </p><pre> gsconfig3 = defaultGSConfig { gs_cellheight = 30 , gs_cellwidth = 100 , gs_navigate = M.unions [reset ,nethackKeys ,gs_navigate -- get the default navigation bindings $ defaultGSConfig `asTypeOf` gsconfig3 -- needed to fix an ambiguous type variable ] } where addPair (a,b) (x,y) = (a+x,b+y) nethackKeys = M.map addPair $ M.fromList [((0,xK_y),(-1,-1)) ,((0,xK_i),(1,-1)) ,((0,xK_n),(-1,1)) ,((0,xK_m),(1,1)) ] -- jump back to the center with the spacebar, regardless of the current position. reset = M.singleton (0,xK_space) (const (0,0)) </pre></div><h1 id="g:5">Configuration </h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:GSConfig" class="def">GSConfig</a> a <a href="src/XMonad-Actions-GridSelect.html#GSConfig" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:GSConfig" class="def">GSConfig</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:gs_cellheight" class="def">gs_cellheight</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:gs_cellwidth" class="def">gs_cellwidth</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:gs_cellpadding" class="def">gs_cellpadding</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:gs_colorizer" class="def">gs_colorizer</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:gs_font" class="def">gs_font</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:gs_navigate" class="def">gs_navigate</a> :: <a href="XMonad-Actions-GridSelect.html#t:NavigateMap">NavigateMap</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:gs_originFractX" class="def">gs_originFractX</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:gs_originFractY" class="def">gs_originFractY</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Double">Double</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:defaultGSConfig" class="def">defaultGSConfig</a> :: <a href="XMonad-Actions-GridSelect.html#t:HasColorizer">HasColorizer</a> a => <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> a<a href="src/XMonad-Actions-GridSelect.html#defaultGSConfig" class="link">Source</a></p><div class="doc"><p>A basic configuration for <code><a href="XMonad-Actions-GridSelect.html#v:gridselect">gridselect</a></code>, with the colorizer chosen based on the type. </p><p>If you want to replace the <code><a href="XMonad-Actions-GridSelect.html#v:gs_colorizer">gs_colorizer</a></code> field, use <code><a href="XMonad-Actions-GridSelect.html#v:buildDefaultGSConfig">buildDefaultGSConfig</a></code> instead, to avoid ambiguous type variables. </p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:NavigateMap" class="def">NavigateMap</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.0.0/Data-Map.html#t:Map">Map</a> (<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeyMask">KeyMask</a>, <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:KeySym">KeySym</a>) (<a href="XMonad-Actions-GridSelect.html#t:TwoDPosition">TwoDPosition</a> -> <a href="XMonad-Actions-GridSelect.html#t:TwoDPosition">TwoDPosition</a>)<a href="src/XMonad-Actions-GridSelect.html#NavigateMap" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:TwoDPosition" class="def">TwoDPosition</a> = (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a>)<a href="src/XMonad-Actions-GridSelect.html#TwoDPosition" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:buildDefaultGSConfig" class="def">buildDefaultGSConfig</a> :: (a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)) -> <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> a<a href="src/XMonad-Actions-GridSelect.html#buildDefaultGSConfig" class="link">Source</a></p><div class="doc"><p>Builds a default gs config from a colorizer function. </p></div></div><h1 id="g:6">Variations on <code><a href="XMonad-Actions-GridSelect.html#v:gridselect">gridselect</a></code> </h1><div class="top"><p class="src"><a name="v:gridselect" class="def">gridselect</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> a -> [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, a)] -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/XMonad-Actions-GridSelect.html#gridselect" class="link">Source</a></p><div class="doc"><p>Brings up a 2D grid of elements in the center of the screen, and one can select an element with cursors keys. The selected element is returned. </p></div></div><div class="top"><p class="src"><a name="v:gridselectWindow" class="def">gridselectWindow</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a>)<a href="src/XMonad-Actions-GridSelect.html#gridselectWindow" class="link">Source</a></p><div class="doc"><p>Like <code>gridSelect</code> but with the current windows and their titles as elements </p></div></div><div class="top"><p class="src"><a name="v:withSelectedWindow" class="def">withSelectedWindow</a> :: (<a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>) -> <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/XMonad-Actions-GridSelect.html#withSelectedWindow" class="link">Source</a></p><div class="doc"><p>Brings up a 2D grid of windows in the center of the screen, and one can select a window with cursors keys. The selected window is then passed to a callback function. </p></div></div><div class="top"><p class="src"><a name="v:bringSelected" class="def">bringSelected</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/XMonad-Actions-GridSelect.html#bringSelected" class="link">Source</a></p><div class="doc"><p>Brings selected window to the current workspace. </p></div></div><div class="top"><p class="src"><a name="v:goToSelected" class="def">goToSelected</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/XMonad-Actions-GridSelect.html#goToSelected" class="link">Source</a></p><div class="doc"><p>Switches to selected window's workspace and focuses that window. </p></div></div><div class="top"><p class="src"><a name="v:spawnSelected" class="def">spawnSelected</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> [<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>] -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/XMonad-Actions-GridSelect.html#spawnSelected" class="link">Source</a></p><div class="doc"><p>Select an application to spawn from a given list </p></div></div><div class="top"><p class="src"><a name="v:runSelectedAction" class="def">runSelectedAction</a> :: <a href="XMonad-Actions-GridSelect.html#t:GSConfig">GSConfig</a> (X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>) -> [(<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)] -> X <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/XMonad-Actions-GridSelect.html#runSelectedAction" class="link">Source</a></p><div class="doc"><p>Select an action and run it in the X monad </p></div></div><h1 id="g:7">Colorizers </h1><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:HasColorizer" class="def">HasColorizer</a> a <span class="keyword">where</span><a href="src/XMonad-Actions-GridSelect.html#HasColorizer" class="link">Source</a></p><div class="doc"><p>That is <code><a href="XMonad-Actions-GridSelect.html#v:fromClassName">fromClassName</a></code> if you are selecting a <code><a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a></code>, or <code><a href="XMonad-Actions-GridSelect.html#v:defaultColorizer">defaultColorizer</a></code> if you are selecting a <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></code>. The catch-all instance <code>HasColorizer a</code> uses the <code>focusedBorderColor</code> and <code>normalBorderColor</code> colors. </p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:defaultColorizer" class="def">defaultColorizer</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)<a href="src/XMonad-Actions-GridSelect.html#defaultColorizer" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:HasColorizer" class="caption collapser" onclick="toggleSection('i:HasColorizer')">Instances</p><div id="section.i:HasColorizer" class="show"><table><tr><td class="src"><a href="XMonad-Actions-GridSelect.html#t:HasColorizer">HasColorizer</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 href="XMonad-Actions-GridSelect.html#t:HasColorizer">HasColorizer</a> a</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="XMonad-Actions-GridSelect.html#t:HasColorizer">HasColorizer</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></table></div></div></div><div class="top"><p class="src"><a name="v:fromClassName" class="def">fromClassName</a> :: <a href="/usr/share/doc/ghc/html/libraries/X11-1.5.0.0/Graphics-X11-Types.html#t:Window">Window</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)<a href="src/XMonad-Actions-GridSelect.html#fromClassName" class="link">Source</a></p><div class="doc"><p>Colorize a window depending on it's className. </p></div></div><div class="top"><p class="src"><a name="v:stringColorizer" class="def">stringColorizer</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a> -> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>)<a href="src/XMonad-Actions-GridSelect.html#stringColorizer" class="link">Source</a></p><div class="doc"><p>Default colorizer for Strings </p></div></div><div class="top"><p class="src"><a name="v:colorRangeFromClassName" class="def">colorRangeFromClassName</a><a href="src/XMonad-Actions-GridSelect.html#colorRangeFromClassName" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>)</td><td class="doc"><p>Beginning of the color range </p></td></tr><tr><td class="src">-> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>)</td><td class="doc"><p>End of the color range </p></td></tr><tr><td class="src">-> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>)</td><td class="doc"><p>Background of the active window </p></td></tr><tr><td class="src">-> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>)</td><td class="doc"><p>Inactive text color </p></td></tr><tr><td class="src">-> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Word.html#t:Word8">Word8</a>)</td><td class="doc"><p>Active text color </p></td></tr><tr><td class="src">-> <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/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> X (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</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></table></div><div class="doc"><p>A colorizer that picks a color inside a range, and depending on the window's class. </p></div></div><h1 id="g:8">Screenshots </h1><div class="doc"><p>Selecting a workspace: </p><p><img src="http://haskell.org/sitewiki/images/a/a9/Xmonad-gridselect-workspace.png" /> </p><p>Selecting a window by title: </p><p><img src="http://haskell.org/sitewiki/images/3/35/Xmonad-gridselect-window-aavogt.png" /> </p></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>