Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 16551e78563a5b49ff9624ee1c8b8101 > files > 912

ghc-xmonad-contrib-devel-0.11-1.1.fc18.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.Util.Stack</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-Util-Stack.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/XMonad-Util-Stack.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>orphaned</td></tr><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">XMonad.Util.Stack</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">Conversions
</a></li><li><a href="#g:3"><code><a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a></code> manipulation functions
</a><ul><li><a href="#g:4">Insertion, movement
</a></li><li><a href="#g:5">Focus movement
</a></li><li><a href="#g:6">Extraction
</a></li><li><a href="#g:7">Sorting
</a></li><li><a href="#g:8">Maps
</a></li><li><a href="#g:9">Filters
</a></li><li><a href="#g:10">Folds
</a></li></ul></li><li><a href="#g:11">Other utility functions
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Utility functions for manipulating <code>Maybe Stack</code>s.
</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">type</span> <a href="#t:Zipper">Zipper</a> a = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-StackSet.html#t:Stack">Stack</a> a)</li><li class="src short"><a href="#v:emptyZ">emptyZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:singletonZ">singletonZ</a> ::  a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:fromIndex">fromIndex</a> ::  [a] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:toIndex">toIndex</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; ([a], <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><a href="#v:fromTags">fromTags</a> ::  [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a] -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:toTags">toTags</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a]</li><li class="src short"><a href="#v:insertUpZ">insertUpZ</a> ::  a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:insertDownZ">insertDownZ</a> ::  a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:swapUpZ">swapUpZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:swapDownZ">swapDownZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:swapMasterZ">swapMasterZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:focusUpZ">focusUpZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:focusDownZ">focusDownZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:focusMasterZ">focusMasterZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:getFocusZ">getFocusZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:getIZ">getIZ</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:sortZ">sortZ</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:sortByZ">sortByZ</a> ::  (a -&gt; a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:mapZ">mapZ</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; b) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> b</li><li class="src short"><a href="#v:mapZ_">mapZ_</a> ::  (a -&gt; b) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> b</li><li class="src short"><a href="#v:mapZM">mapZM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; m b) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; m (<a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> b)</li><li class="src short"><a href="#v:mapZM_">mapZM_</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; m (<a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> b)</li><li class="src short"><a href="#v:onFocusedZ">onFocusedZ</a> ::  (a -&gt; a) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:onFocusedZM">onFocusedZM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m a) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; m (<a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a)</li><li class="src short"><a href="#v:onIndexZ">onIndexZ</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; a) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:onIndexZM">onIndexZM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; m a) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; m (<a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a)</li><li class="src short"><a href="#v:filterZ">filterZ</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:filterZ_">filterZ_</a> ::  (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:deleteFocusedZ">deleteFocusedZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:deleteIndexZ">deleteIndexZ</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a</li><li class="src short"><a href="#v:foldrZ">foldrZ</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; b</li><li class="src short"><a href="#v:foldlZ">foldlZ</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; b -&gt; a -&gt; b) -&gt; b -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; b</li><li class="src short"><a href="#v:foldrZ_">foldrZ_</a> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; b</li><li class="src short"><a href="#v:foldlZ_">foldlZ_</a> ::  (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; b</li><li class="src short"><a href="#v:elemZ">elemZ</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:getI">getI</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; [a] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:tagBy">tagBy</a> ::  (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a</li><li class="src short"><a href="#v:fromE">fromE</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; a</li><li class="src short"><a href="#v:mapE">mapE</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> b b</li><li class="src short"><a href="#v:mapE_">mapE_</a> ::  (a -&gt; b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> b b</li><li class="src short"><a href="#v:mapEM">mapEM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; m b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; m (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> b b)</li><li class="src short"><a href="#v:mapEM_">mapEM_</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; m (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> b b)</li></ul></div><div id="interface"><h1 id="g:1">Usage
</h1><div class="doc"><p>This is a developer-oriented module, intended to be used
 for writing new extentions.
</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Zipper" class="def">Zipper</a> a = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/xmonad-0.11/XMonad-StackSet.html#t:Stack">Stack</a> a)<a href="src/XMonad-Util-Stack.html#Zipper" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:emptyZ" class="def">emptyZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#emptyZ" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:singletonZ" class="def">singletonZ</a> ::  a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#singletonZ" class="link">Source</a></p></div><h1 id="g:2">Conversions
</h1><div class="top"><p class="src"><a name="v:fromIndex" class="def">fromIndex</a> ::  [a] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#fromIndex" class="link">Source</a></p><div class="doc"><p>Create a stack from a list, and the 0-based index of the focused element.
 If the index is out of bounds, focus will go to the first element.
</p></div></div><div class="top"><p class="src"><a name="v:toIndex" class="def">toIndex</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; ([a], <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>)<a href="src/XMonad-Util-Stack.html#toIndex" class="link">Source</a></p><div class="doc"><p>Turn a stack into a list and the index of its focused element.
</p></div></div><div class="top"><p class="src"><a name="v:fromTags" class="def">fromTags</a> ::  [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a] -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#fromTags" class="link">Source</a></p><div class="doc"><p>Create a stack from a list of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a></code>-tagged values. Focus will go to
 the first <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Right">Right</a></code> value, or if there is none, to the first <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Left">Left</a></code> one.
</p></div></div><div class="top"><p class="src"><a name="v:toTags" class="def">toTags</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a]<a href="src/XMonad-Util-Stack.html#toTags" class="link">Source</a></p><div class="doc"><p>Turn a stack into an <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a></code>-tagged list. The focused element
 will be tagged with <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Right">Right</a></code>, the others with <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Left">Left</a></code>.
</p></div></div><h1 id="g:3"><code><a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a></code> manipulation functions
</h1><h2 id="g:4">Insertion, movement
</h2><div class="top"><p class="src"><a name="v:insertUpZ" class="def">insertUpZ</a> ::  a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#insertUpZ" class="link">Source</a></p><div class="doc"><p>Insert an element before the focused one, and focus it
</p></div></div><div class="top"><p class="src"><a name="v:insertDownZ" class="def">insertDownZ</a> ::  a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#insertDownZ" class="link">Source</a></p><div class="doc"><p>Insert an element after the focused one, and focus it
</p></div></div><div class="top"><p class="src"><a name="v:swapUpZ" class="def">swapUpZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#swapUpZ" class="link">Source</a></p><div class="doc"><p>Swap the focused element with the previous one
</p></div></div><div class="top"><p class="src"><a name="v:swapDownZ" class="def">swapDownZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#swapDownZ" class="link">Source</a></p><div class="doc"><p>Swap the focused element with the next one
</p></div></div><div class="top"><p class="src"><a name="v:swapMasterZ" class="def">swapMasterZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#swapMasterZ" class="link">Source</a></p><div class="doc"><p>Swap the focused element with the first one
</p></div></div><h2 id="g:5">Focus movement
</h2><div class="top"><p class="src"><a name="v:focusUpZ" class="def">focusUpZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#focusUpZ" class="link">Source</a></p><div class="doc"><p>Move the focus to the previous element
</p></div></div><div class="top"><p class="src"><a name="v:focusDownZ" class="def">focusDownZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#focusDownZ" class="link">Source</a></p><div class="doc"><p>Move the focus to the next element
</p></div></div><div class="top"><p class="src"><a name="v:focusMasterZ" class="def">focusMasterZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#focusMasterZ" class="link">Source</a></p><div class="doc"><p>Move the focus to the first element
</p></div></div><h2 id="g:6">Extraction
</h2><div class="top"><p class="src"><a name="v:getFocusZ" class="def">getFocusZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/XMonad-Util-Stack.html#getFocusZ" class="link">Source</a></p><div class="doc"><p>Get the focused element
</p></div></div><div class="top"><p class="src"><a name="v:getIZ" class="def">getIZ</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/XMonad-Util-Stack.html#getIZ" class="link">Source</a></p><div class="doc"><p>Get the element at a given index
</p></div></div><h2 id="g:7">Sorting
</h2><div class="top"><p class="src"><a name="v:sortZ" class="def">sortZ</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#sortZ" class="link">Source</a></p><div class="doc"><p>Sort a stack of elements supporting <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:sortByZ" class="def">sortByZ</a> ::  (a -&gt; a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ordering">Ordering</a>) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#sortByZ" class="link">Source</a></p><div class="doc"><p>Sort a stack with an arbitrary sorting function
</p></div></div><h2 id="g:8">Maps
</h2><div class="top"><p class="src"><a name="v:mapZ" class="def">mapZ</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; b) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> b<a href="src/XMonad-Util-Stack.html#mapZ" class="link">Source</a></p><div class="doc"><p>Map a function over a stack. The boolean argument indcates whether
 the current element is the focused one
</p></div></div><div class="top"><p class="src"><a name="v:mapZ_" class="def">mapZ_</a> ::  (a -&gt; b) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> b<a href="src/XMonad-Util-Stack.html#mapZ_" class="link">Source</a></p><div class="doc"><p><code><a href="XMonad-Util-Stack.html#v:mapZ">mapZ</a></code> without the <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></code> argument
</p></div></div><div class="top"><p class="src"><a name="v:mapZM" class="def">mapZM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; m b) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; m (<a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> b)<a href="src/XMonad-Util-Stack.html#mapZM" class="link">Source</a></p><div class="doc"><p>Monadic version of <code><a href="XMonad-Util-Stack.html#v:mapZ">mapZ</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:mapZM_" class="def">mapZM_</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; m (<a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> b)<a href="src/XMonad-Util-Stack.html#mapZM_" class="link">Source</a></p><div class="doc"><p>Monadic version of <code><a href="XMonad-Util-Stack.html#v:mapZ_">mapZ_</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:onFocusedZ" class="def">onFocusedZ</a> ::  (a -&gt; a) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#onFocusedZ" class="link">Source</a></p><div class="doc"><p>Apply a function to the focused element
</p></div></div><div class="top"><p class="src"><a name="v:onFocusedZM" class="def">onFocusedZM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m a) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; m (<a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a)<a href="src/XMonad-Util-Stack.html#onFocusedZM" class="link">Source</a></p><div class="doc"><p>Monadic version of <code><a href="XMonad-Util-Stack.html#v:onFocusedZ">onFocusedZ</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:onIndexZ" class="def">onIndexZ</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; a) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#onIndexZ" class="link">Source</a></p><div class="doc"><p>Apply a function to the element at the given index
</p></div></div><div class="top"><p class="src"><a name="v:onIndexZM" class="def">onIndexZM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; m a) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; m (<a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a)<a href="src/XMonad-Util-Stack.html#onIndexZM" class="link">Source</a></p><div class="doc"><p>Monadic version of <code><a href="XMonad-Util-Stack.html#v:onIndexZ">onIndexZ</a></code>
</p></div></div><h2 id="g:9">Filters
</h2><div class="top"><p class="src"><a name="v:filterZ" class="def">filterZ</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#filterZ" class="link">Source</a></p><div class="doc"><p>Fiter a stack according to a predicate. The refocusing behavior
 mimics XMonad's usual one. The boolean argument indicates whether the current
 element is the focused one.
</p></div></div><div class="top"><p class="src"><a name="v:filterZ_" class="def">filterZ_</a> ::  (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#filterZ_" class="link">Source</a></p><div class="doc"><p><code><a href="XMonad-Util-Stack.html#v:filterZ">filterZ</a></code> without the <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></code> argument
</p></div></div><div class="top"><p class="src"><a name="v:deleteFocusedZ" class="def">deleteFocusedZ</a> ::  <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#deleteFocusedZ" class="link">Source</a></p><div class="doc"><p>Delete the focused element
</p></div></div><div class="top"><p class="src"><a name="v:deleteIndexZ" class="def">deleteIndexZ</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a<a href="src/XMonad-Util-Stack.html#deleteIndexZ" class="link">Source</a></p><div class="doc"><p>Delete the ith element
</p></div></div><h2 id="g:10">Folds
</h2><div class="top"><p class="src"><a name="v:foldrZ" class="def">foldrZ</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; b<a href="src/XMonad-Util-Stack.html#foldrZ" class="link">Source</a></p><div class="doc"><p>Analogous to <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-List.html#v:foldr">foldr</a></code>. The <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></code> argument to the step functions indicates
 whether the current element is the focused one
</p></div></div><div class="top"><p class="src"><a name="v:foldlZ" class="def">foldlZ</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; b -&gt; a -&gt; b) -&gt; b -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; b<a href="src/XMonad-Util-Stack.html#foldlZ" class="link">Source</a></p><div class="doc"><p>Analogous to <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-List.html#v:foldl">foldl</a></code>. The <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></code> argument to the step functions indicates
 whether the current element is the focused one
</p></div></div><div class="top"><p class="src"><a name="v:foldrZ_" class="def">foldrZ_</a> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; b<a href="src/XMonad-Util-Stack.html#foldrZ_" class="link">Source</a></p><div class="doc"><p><code><a href="XMonad-Util-Stack.html#v:foldrZ">foldrZ</a></code> without the <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></code> argument.
</p></div></div><div class="top"><p class="src"><a name="v:foldlZ_" class="def">foldlZ_</a> ::  (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; b<a href="src/XMonad-Util-Stack.html#foldlZ_" class="link">Source</a></p><div class="doc"><p><code><a href="XMonad-Util-Stack.html#v:foldlZ">foldlZ</a></code> without the <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></code> argument.
</p></div></div><div class="top"><p class="src"><a name="v:elemZ" class="def">elemZ</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a =&gt; a -&gt; <a href="XMonad-Util-Stack.html#t:Zipper">Zipper</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/XMonad-Util-Stack.html#elemZ" class="link">Source</a></p><div class="doc"><p>Find whether an element is present in a stack.
</p></div></div><h1 id="g:11">Other utility functions
</h1><div class="top"><p class="src"><a name="v:getI" class="def">getI</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; [a] -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/XMonad-Util-Stack.html#getI" class="link">Source</a></p><div class="doc"><p>Safe version of <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-List.html#v:-33--33-">!!</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:tagBy" class="def">tagBy</a> ::  (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a<a href="src/XMonad-Util-Stack.html#tagBy" class="link">Source</a></p><div class="doc"><p>Tag the element with <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Right">Right</a></code> if the property is true, <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Left">Left</a></code> otherwise
</p></div></div><div class="top"><p class="src"><a name="v:fromE" class="def">fromE</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; a<a href="src/XMonad-Util-Stack.html#fromE" class="link">Source</a></p><div class="doc"><p>Get the <code>a</code> from an <code>Either a a</code>
</p></div></div><div class="top"><p class="src"><a name="v:mapE" class="def">mapE</a> ::  (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> b b<a href="src/XMonad-Util-Stack.html#mapE" class="link">Source</a></p><div class="doc"><p>Map a function across both <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Left">Left</a></code>s and <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Right">Right</a></code>s.
 The <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></code> argument is <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#v:True">True</a></code> in a <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Right">Right</a></code>, <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#v:False">False</a></code>
 in a <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#v:Left">Left</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:mapE_" class="def">mapE_</a> ::  (a -&gt; b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> b b<a href="src/XMonad-Util-Stack.html#mapE_" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:mapEM" class="def">mapEM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; m b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; m (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> b b)<a href="src/XMonad-Util-Stack.html#mapEM" class="link">Source</a></p><div class="doc"><p>Monadic version of <code><a href="XMonad-Util-Stack.html#v:mapE">mapE</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:mapEM_" class="def">mapEM_</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> a a -&gt; m (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> b b)<a href="src/XMonad-Util-Stack.html#mapEM_" class="link">Source</a></p></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>