Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > cbed4e2528cdf527c82a0e95aec0d683 > files > 80

ghc-xmonad-devel-0.9.1-5.fc14.i686.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
<title>XMonad/Config.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-comment'>{-# OPTIONS -fno-warn-missing-signatures #-}</span>
<a name="line-2"></a><span class='hs-comment'>-----------------------------------------------------------------------------</span>
<a name="line-3"></a><span class='hs-comment'>-- |</span>
<a name="line-4"></a><span class='hs-comment'>-- Module      :  XMonad.Config</span>
<a name="line-5"></a><span class='hs-comment'>-- Copyright   :  (c) Spencer Janssen 2007</span>
<a name="line-6"></a><span class='hs-comment'>-- License     :  BSD3-style (see LICENSE)</span>
<a name="line-7"></a><span class='hs-comment'>--</span>
<a name="line-8"></a><span class='hs-comment'>-- Maintainer  :  dons@galois.com</span>
<a name="line-9"></a><span class='hs-comment'>-- Stability   :  stable</span>
<a name="line-10"></a><span class='hs-comment'>-- Portability :  portable</span>
<a name="line-11"></a><span class='hs-comment'>--</span>
<a name="line-12"></a><span class='hs-comment'>-- This module specifies the default configuration values for xmonad.</span>
<a name="line-13"></a><span class='hs-comment'>--</span>
<a name="line-14"></a><span class='hs-comment'>-- DO NOT MODIFY THIS FILE!  It won't work.  You may configure xmonad</span>
<a name="line-15"></a><span class='hs-comment'>-- by providing your own @~\/.xmonad\/xmonad.hs@ that overrides</span>
<a name="line-16"></a><span class='hs-comment'>-- specific fields in 'defaultConfig'.  For a starting point, you can</span>
<a name="line-17"></a><span class='hs-comment'>-- copy the @xmonad.hs@ found in the @man@ directory, or look at</span>
<a name="line-18"></a><span class='hs-comment'>-- examples on the xmonad wiki.</span>
<a name="line-19"></a><span class='hs-comment'>--</span>
<a name="line-20"></a><span class='hs-comment'>------------------------------------------------------------------------</span>
<a name="line-21"></a>
<a name="line-22"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-conid'>Config</span> <span class='hs-layout'>(</span><span class='hs-varid'>defaultConfig</span><span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-23"></a>
<a name="line-24"></a><span class='hs-comment'>--</span>
<a name="line-25"></a><span class='hs-comment'>-- Useful imports</span>
<a name="line-26"></a><span class='hs-comment'>--</span>
<a name="line-27"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-conid'>Core</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>XMonad</span> <span class='hs-varid'>hiding</span>
<a name="line-28"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>workspaces</span><span class='hs-layout'>,</span><span class='hs-varid'>manageHook</span><span class='hs-layout'>,</span><span class='hs-varid'>numlockMask</span><span class='hs-layout'>,</span><span class='hs-varid'>keys</span><span class='hs-layout'>,</span><span class='hs-varid'>logHook</span><span class='hs-layout'>,</span><span class='hs-varid'>startupHook</span><span class='hs-layout'>,</span><span class='hs-varid'>borderWidth</span><span class='hs-layout'>,</span><span class='hs-varid'>mouseBindings</span>
<a name="line-29"></a>    <span class='hs-layout'>,</span><span class='hs-varid'>layoutHook</span><span class='hs-layout'>,</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span><span class='hs-varid'>terminal</span><span class='hs-layout'>,</span><span class='hs-varid'>normalBorderColor</span><span class='hs-layout'>,</span><span class='hs-varid'>focusedBorderColor</span><span class='hs-layout'>,</span><span class='hs-varid'>focusFollowsMouse</span>
<a name="line-30"></a>    <span class='hs-layout'>,</span><span class='hs-varid'>handleEventHook</span><span class='hs-layout'>)</span>
<a name="line-31"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-conid'>Core</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>XMonad</span>
<a name="line-32"></a>    <span class='hs-layout'>(</span><span class='hs-varid'>workspaces</span><span class='hs-layout'>,</span><span class='hs-varid'>manageHook</span><span class='hs-layout'>,</span><span class='hs-varid'>numlockMask</span><span class='hs-layout'>,</span><span class='hs-varid'>keys</span><span class='hs-layout'>,</span><span class='hs-varid'>logHook</span><span class='hs-layout'>,</span><span class='hs-varid'>startupHook</span><span class='hs-layout'>,</span><span class='hs-varid'>borderWidth</span><span class='hs-layout'>,</span><span class='hs-varid'>mouseBindings</span>
<a name="line-33"></a>    <span class='hs-layout'>,</span><span class='hs-varid'>layoutHook</span><span class='hs-layout'>,</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span><span class='hs-varid'>terminal</span><span class='hs-layout'>,</span><span class='hs-varid'>normalBorderColor</span><span class='hs-layout'>,</span><span class='hs-varid'>focusedBorderColor</span><span class='hs-layout'>,</span><span class='hs-varid'>focusFollowsMouse</span>
<a name="line-34"></a>    <span class='hs-layout'>,</span><span class='hs-varid'>handleEventHook</span><span class='hs-layout'>)</span>
<a name="line-35"></a>
<a name="line-36"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-conid'>Layout</span>
<a name="line-37"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-conid'>Operations</span>
<a name="line-38"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-conid'>ManageHook</span>
<a name="line-39"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-conid'>StackSet</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>W</span>
<a name="line-40"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Bits</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varop'>.|.</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-41"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Monoid</span>
<a name="line-42"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Map</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>M</span>
<a name="line-43"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>System</span><span class='hs-varop'>.</span><span class='hs-conid'>Exit</span>
<a name="line-44"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>X11</span><span class='hs-varop'>.</span><span class='hs-conid'>Xlib</span>
<a name="line-45"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Graphics</span><span class='hs-varop'>.</span><span class='hs-conid'>X11</span><span class='hs-varop'>.</span><span class='hs-conid'>Xlib</span><span class='hs-varop'>.</span><span class='hs-conid'>Extras</span>
<a name="line-46"></a>
<a name="line-47"></a><a name="workspaces"></a><span class='hs-comment'>-- | The default number of workspaces (virtual screens) and their names.</span>
<a name="line-48"></a><span class='hs-comment'>-- By default we use numeric strings, but any string may be used as a</span>
<a name="line-49"></a><span class='hs-comment'>-- workspace name. The number of workspaces is determined by the length</span>
<a name="line-50"></a><span class='hs-comment'>-- of this list.</span>
<a name="line-51"></a><span class='hs-comment'>--</span>
<a name="line-52"></a><span class='hs-comment'>-- A tagging example:</span>
<a name="line-53"></a><span class='hs-comment'>--</span>
<a name="line-54"></a><span class='hs-comment'>-- &gt; workspaces = ["web", "irc", "code" ] ++ map show [4..9]</span>
<a name="line-55"></a><span class='hs-comment'>--</span>
<a name="line-56"></a><span class='hs-definition'>workspaces</span> <span class='hs-keyglyph'>::</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>WorkspaceId</span><span class='hs-keyglyph'>]</span>
<a name="line-57"></a><span class='hs-definition'>workspaces</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>map</span> <span class='hs-varid'>show</span> <span class='hs-keyglyph'>[</span><span class='hs-num'>1</span> <span class='hs-keyglyph'>..</span> <span class='hs-num'>9</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Int</span><span class='hs-keyglyph'>]</span>
<a name="line-58"></a>
<a name="line-59"></a><a name="defaultModMask"></a><span class='hs-comment'>-- | modMask lets you specify which modkey you want to use. The default</span>
<a name="line-60"></a><span class='hs-comment'>-- is mod1Mask ("left alt").  You may also consider using mod3Mask</span>
<a name="line-61"></a><span class='hs-comment'>-- ("right alt"), which does not conflict with emacs keybindings. The</span>
<a name="line-62"></a><span class='hs-comment'>-- "windows key" is usually mod4Mask.</span>
<a name="line-63"></a><span class='hs-comment'>--</span>
<a name="line-64"></a><span class='hs-definition'>defaultModMask</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>KeyMask</span>
<a name="line-65"></a><span class='hs-definition'>defaultModMask</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>mod1Mask</span>
<a name="line-66"></a>
<a name="line-67"></a><a name="numlockMask"></a><span class='hs-comment'>-- | The mask for the numlock key. Numlock status is "masked" from the</span>
<a name="line-68"></a><span class='hs-comment'>-- current modifier status, so the keybindings will work with numlock on or</span>
<a name="line-69"></a><span class='hs-comment'>-- off. You may need to change this on some systems.</span>
<a name="line-70"></a><span class='hs-comment'>--</span>
<a name="line-71"></a><span class='hs-comment'>-- You can find the numlock modifier by running "xmodmap" and looking for a</span>
<a name="line-72"></a><span class='hs-comment'>-- modifier with Num_Lock bound to it:</span>
<a name="line-73"></a><span class='hs-comment'>--</span>
<a name="line-74"></a><span class='hs-comment'>-- &gt; $ xmodmap | grep Num</span>
<a name="line-75"></a><span class='hs-comment'>-- &gt; mod2        Num_Lock (0x4d)</span>
<a name="line-76"></a><span class='hs-comment'>--</span>
<a name="line-77"></a><span class='hs-comment'>-- Set numlockMask = 0 if you don't have a numlock key, or want to treat</span>
<a name="line-78"></a><span class='hs-comment'>-- numlock status separately.</span>
<a name="line-79"></a><span class='hs-comment'>--</span>
<a name="line-80"></a><span class='hs-definition'>numlockMask</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>KeyMask</span>
<a name="line-81"></a><span class='hs-definition'>numlockMask</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>mod2Mask</span>
<a name="line-82"></a>
<a name="line-83"></a><a name="borderWidth"></a><span class='hs-comment'>-- | Width of the window border in pixels.</span>
<a name="line-84"></a><span class='hs-comment'>--</span>
<a name="line-85"></a><span class='hs-definition'>borderWidth</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Dimension</span>
<a name="line-86"></a><span class='hs-definition'>borderWidth</span> <span class='hs-keyglyph'>=</span> <span class='hs-num'>1</span>
<a name="line-87"></a>
<a name="line-88"></a><a name="normalBorderColor"></a><span class='hs-comment'>-- | Border colors for unfocused and focused windows, respectively.</span>
<a name="line-89"></a><span class='hs-comment'>--</span>
<a name="line-90"></a><span class='hs-definition'>normalBorderColor</span><span class='hs-layout'>,</span> <span class='hs-varid'>focusedBorderColor</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span>
<a name="line-91"></a><span class='hs-definition'>normalBorderColor</span>  <span class='hs-keyglyph'>=</span> <span class='hs-str'>"gray"</span> <span class='hs-comment'>-- "#dddddd"</span>
<a name="line-92"></a><a name="focusedBorderColor"></a><span class='hs-definition'>focusedBorderColor</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"red"</span>  <span class='hs-comment'>-- "#ff0000" don't use hex, not &lt;24 bit safe</span>
<a name="line-93"></a>
<a name="line-94"></a><span class='hs-comment'>------------------------------------------------------------------------</span>
<a name="line-95"></a><span class='hs-comment'>-- Window rules</span>
<a name="line-96"></a>
<a name="line-97"></a><a name="manageHook"></a><span class='hs-comment'>-- | Execute arbitrary actions and WindowSet manipulations when managing</span>
<a name="line-98"></a><span class='hs-comment'>-- a new window. You can use this to, for example, always float a</span>
<a name="line-99"></a><span class='hs-comment'>-- particular program, or have a client always appear on a particular</span>
<a name="line-100"></a><span class='hs-comment'>-- workspace.</span>
<a name="line-101"></a><span class='hs-comment'>--</span>
<a name="line-102"></a><span class='hs-comment'>-- To find the property name associated with a program, use</span>
<a name="line-103"></a><span class='hs-comment'>--  xprop | grep WM_CLASS</span>
<a name="line-104"></a><span class='hs-comment'>-- and click on the client you're interested in.</span>
<a name="line-105"></a><span class='hs-comment'>--</span>
<a name="line-106"></a><span class='hs-definition'>manageHook</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>ManageHook</span>
<a name="line-107"></a><span class='hs-definition'>manageHook</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>composeAll</span>
<a name="line-108"></a>                <span class='hs-keyglyph'>[</span> <span class='hs-varid'>className</span> <span class='hs-varop'>=?</span> <span class='hs-str'>"MPlayer"</span>        <span class='hs-varop'>--&gt;</span> <span class='hs-varid'>doFloat</span>
<a name="line-109"></a>                <span class='hs-layout'>,</span> <span class='hs-varid'>className</span> <span class='hs-varop'>=?</span> <span class='hs-str'>"Gimp"</span>           <span class='hs-varop'>--&gt;</span> <span class='hs-varid'>doFloat</span> <span class='hs-keyglyph'>]</span>
<a name="line-110"></a>
<a name="line-111"></a><span class='hs-comment'>------------------------------------------------------------------------</span>
<a name="line-112"></a><span class='hs-comment'>-- Logging</span>
<a name="line-113"></a>
<a name="line-114"></a><a name="logHook"></a><span class='hs-comment'>-- | Perform an arbitrary action on each internal state change or X event.</span>
<a name="line-115"></a><span class='hs-comment'>-- Examples include:</span>
<a name="line-116"></a><span class='hs-comment'>--</span>
<a name="line-117"></a><span class='hs-comment'>--      * do nothing</span>
<a name="line-118"></a><span class='hs-comment'>--</span>
<a name="line-119"></a><span class='hs-comment'>--      * log the state to stdout</span>
<a name="line-120"></a><span class='hs-comment'>--</span>
<a name="line-121"></a><span class='hs-comment'>-- See the 'DynamicLog' extension for examples.</span>
<a name="line-122"></a><span class='hs-comment'>--</span>
<a name="line-123"></a><span class='hs-definition'>logHook</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>X</span> <span class='hs-conid'>()</span>
<a name="line-124"></a><span class='hs-definition'>logHook</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-125"></a>
<a name="line-126"></a><span class='hs-comment'>------------------------------------------------------------------------</span>
<a name="line-127"></a><span class='hs-comment'>-- Event handling</span>
<a name="line-128"></a>
<a name="line-129"></a><a name="handleEventHook"></a><span class='hs-comment'>-- | Defines a custom handler function for X Events. The function should</span>
<a name="line-130"></a><span class='hs-comment'>-- return (All True) if the default handler is to be run afterwards.</span>
<a name="line-131"></a><span class='hs-comment'>-- To combine event hooks, use mappend or mconcat from Data.Monoid.</span>
<a name="line-132"></a><span class='hs-definition'>handleEventHook</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Event</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>X</span> <span class='hs-conid'>All</span>
<a name="line-133"></a><span class='hs-definition'>handleEventHook</span> <span class='hs-keyword'>_</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>return</span> <span class='hs-layout'>(</span><span class='hs-conid'>All</span> <span class='hs-conid'>True</span><span class='hs-layout'>)</span>
<a name="line-134"></a>
<a name="line-135"></a><a name="startupHook"></a><span class='hs-comment'>-- | Perform an arbitrary action at xmonad startup.</span>
<a name="line-136"></a><span class='hs-definition'>startupHook</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>X</span> <span class='hs-conid'>()</span>
<a name="line-137"></a><span class='hs-definition'>startupHook</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>return</span> <span class='hs-conid'>()</span>
<a name="line-138"></a>
<a name="line-139"></a><span class='hs-comment'>------------------------------------------------------------------------</span>
<a name="line-140"></a><span class='hs-comment'>-- Extensible layouts</span>
<a name="line-141"></a><span class='hs-comment'>--</span>
<a name="line-142"></a><span class='hs-comment'>-- You can specify and transform your layouts by modifying these values.</span>
<a name="line-143"></a><span class='hs-comment'>-- If you change layout bindings be sure to use 'mod-shift-space' after</span>
<a name="line-144"></a><span class='hs-comment'>-- restarting (with 'mod-q') to reset your layout state to the new</span>
<a name="line-145"></a><span class='hs-comment'>-- defaults, as xmonad preserves your old layout settings by default.</span>
<a name="line-146"></a><span class='hs-comment'>--</span>
<a name="line-147"></a>
<a name="line-148"></a><a name="layout"></a><span class='hs-comment'>-- | The available layouts.  Note that each layout is separated by |||, which</span>
<a name="line-149"></a><span class='hs-comment'>-- denotes layout choice.</span>
<a name="line-150"></a><span class='hs-definition'>layout</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>tiled</span> <span class='hs-varop'>|||</span> <span class='hs-conid'>Mirror</span> <span class='hs-varid'>tiled</span> <span class='hs-varop'>|||</span> <span class='hs-conid'>Full</span>
<a name="line-151"></a>  <span class='hs-keyword'>where</span>
<a name="line-152"></a>     <span class='hs-comment'>-- default tiling algorithm partitions the screen into two panes</span>
<a name="line-153"></a>     <span class='hs-varid'>tiled</span>   <span class='hs-keyglyph'>=</span> <span class='hs-conid'>Tall</span> <span class='hs-varid'>nmaster</span> <span class='hs-varid'>delta</span> <span class='hs-varid'>ratio</span>
<a name="line-154"></a>
<a name="line-155"></a>     <span class='hs-comment'>-- The default number of windows in the master pane</span>
<a name="line-156"></a>     <span class='hs-varid'>nmaster</span> <span class='hs-keyglyph'>=</span> <span class='hs-num'>1</span>
<a name="line-157"></a>
<a name="line-158"></a>     <span class='hs-comment'>-- Default proportion of screen occupied by master pane</span>
<a name="line-159"></a>     <span class='hs-varid'>ratio</span>   <span class='hs-keyglyph'>=</span> <span class='hs-num'>1</span><span class='hs-varop'>/</span><span class='hs-num'>2</span>
<a name="line-160"></a>
<a name="line-161"></a>     <span class='hs-comment'>-- Percent of screen to increment by when resizing panes</span>
<a name="line-162"></a>     <span class='hs-varid'>delta</span>   <span class='hs-keyglyph'>=</span> <span class='hs-num'>3</span><span class='hs-varop'>/</span><span class='hs-num'>100</span>
<a name="line-163"></a>
<a name="line-164"></a><span class='hs-comment'>------------------------------------------------------------------------</span>
<a name="line-165"></a><span class='hs-comment'>-- Key bindings:</span>
<a name="line-166"></a>
<a name="line-167"></a><a name="terminal"></a><span class='hs-comment'>-- | The preferred terminal program, which is used in a binding below and by</span>
<a name="line-168"></a><span class='hs-comment'>-- certain contrib modules.</span>
<a name="line-169"></a><span class='hs-definition'>terminal</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span>
<a name="line-170"></a><span class='hs-definition'>terminal</span> <span class='hs-keyglyph'>=</span> <span class='hs-str'>"xterm"</span>
<a name="line-171"></a>
<a name="line-172"></a><a name="focusFollowsMouse"></a><span class='hs-comment'>-- | Whether focus follows the mouse pointer.</span>
<a name="line-173"></a><span class='hs-definition'>focusFollowsMouse</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>Bool</span>
<a name="line-174"></a><span class='hs-definition'>focusFollowsMouse</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>True</span>
<a name="line-175"></a>
<a name="line-176"></a><a name="keys"></a><span class='hs-comment'>-- | The xmonad key bindings. Add, modify or remove key bindings here.</span>
<a name="line-177"></a><span class='hs-comment'>--</span>
<a name="line-178"></a><span class='hs-comment'>-- (The comment formatting character is used when generating the manpage)</span>
<a name="line-179"></a><span class='hs-comment'>--</span>
<a name="line-180"></a><span class='hs-definition'>keys</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>XConfig</span> <span class='hs-conid'>Layout</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>M</span><span class='hs-varop'>.</span><span class='hs-conid'>Map</span> <span class='hs-layout'>(</span><span class='hs-conid'>KeyMask</span><span class='hs-layout'>,</span> <span class='hs-conid'>KeySym</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>X</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-181"></a><span class='hs-definition'>keys</span> <span class='hs-varid'>conf</span><span class='hs-keyglyph'>@</span><span class='hs-layout'>(</span><span class='hs-conid'>XConfig</span> <span class='hs-layout'>{</span><span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>modMask</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>modMask</span><span class='hs-layout'>}</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>M</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span>
<a name="line-182"></a>    <span class='hs-comment'>-- launching and killing programs</span>
<a name="line-183"></a>    <span class='hs-keyglyph'>[</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_Return</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>spawn</span> <span class='hs-varop'>$</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>terminal</span> <span class='hs-varid'>conf</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Launch terminal</span>
<a name="line-184"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_p</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>spawn</span> <span class='hs-str'>"exe=`dmenu_path | dmenu` &amp;&amp; eval \"exec $exe\""</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Launch dmenu</span>
<a name="line-185"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_p</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>spawn</span> <span class='hs-str'>"gmrun"</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Launch gmrun</span>
<a name="line-186"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_c</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>kill</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Close the focused window</span>
<a name="line-187"></a>
<a name="line-188"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_space</span> <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>sendMessage</span> <span class='hs-conid'>NextLayout</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Rotate through the available layout algorithms</span>
<a name="line-189"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_space</span> <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>setLayout</span> <span class='hs-varop'>$</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>layoutHook</span> <span class='hs-varid'>conf</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %!  Reset the layouts on the current workspace to default</span>
<a name="line-190"></a>
<a name="line-191"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_n</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>refresh</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Resize viewed windows to the correct size</span>
<a name="line-192"></a>
<a name="line-193"></a>    <span class='hs-comment'>-- move focus up or down the window stack</span>
<a name="line-194"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_Tab</span>   <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>focusDown</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Move focus to the next window</span>
<a name="line-195"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_Tab</span>   <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>focusUp</span>  <span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Move focus to the previous window</span>
<a name="line-196"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_j</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>focusDown</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Move focus to the next window</span>
<a name="line-197"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_k</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>focusUp</span>  <span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Move focus to the previous window</span>
<a name="line-198"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_m</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>focusMaster</span>  <span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Move focus to the master window</span>
<a name="line-199"></a>
<a name="line-200"></a>    <span class='hs-comment'>-- modifying the window order</span>
<a name="line-201"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_Return</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>swapMaster</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Swap the focused window and the master window</span>
<a name="line-202"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_j</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>swapDown</span>  <span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Swap the focused window with the next window</span>
<a name="line-203"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_k</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>swapUp</span>    <span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Swap the focused window with the previous window</span>
<a name="line-204"></a>
<a name="line-205"></a>    <span class='hs-comment'>-- resizing the master/slave ratio</span>
<a name="line-206"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_h</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>sendMessage</span> <span class='hs-conid'>Shrink</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Shrink the master area</span>
<a name="line-207"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_l</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>sendMessage</span> <span class='hs-conid'>Expand</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Expand the master area</span>
<a name="line-208"></a>
<a name="line-209"></a>    <span class='hs-comment'>-- floating layer support</span>
<a name="line-210"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span>               <span class='hs-varid'>xK_t</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>withFocused</span> <span class='hs-varop'>$</span> <span class='hs-varid'>windows</span> <span class='hs-varop'>.</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>sink</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Push window back into tiling</span>
<a name="line-211"></a>
<a name="line-212"></a>    <span class='hs-comment'>-- increase or decrease number of windows in the master area</span>
<a name="line-213"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span>              <span class='hs-layout'>,</span> <span class='hs-varid'>xK_comma</span> <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>sendMessage</span> <span class='hs-layout'>(</span><span class='hs-conid'>IncMasterN</span> <span class='hs-num'>1</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Increment the number of windows in the master area</span>
<a name="line-214"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span>              <span class='hs-layout'>,</span> <span class='hs-varid'>xK_period</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>sendMessage</span> <span class='hs-layout'>(</span><span class='hs-conid'>IncMasterN</span> <span class='hs-layout'>(</span><span class='hs-comment'>-</span><span class='hs-num'>1</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Deincrement the number of windows in the master area</span>
<a name="line-215"></a>
<a name="line-216"></a>    <span class='hs-comment'>-- toggle the status bar gap</span>
<a name="line-217"></a>    <span class='hs-comment'>--, ((modMask              , xK_b     ), modifyGap (\i n -&gt; let x = (XMonad.defaultGaps conf ++ repeat (0,0,0,0)) !! i in if n == x then (0,0,0,0) else x)) -- %! Toggle the status bar gap</span>
<a name="line-218"></a>
<a name="line-219"></a>    <span class='hs-comment'>-- quit, or restart</span>
<a name="line-220"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_q</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>io</span> <span class='hs-layout'>(</span><span class='hs-varid'>exitWith</span> <span class='hs-conid'>ExitSuccess</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Quit xmonad</span>
<a name="line-221"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span>              <span class='hs-layout'>,</span> <span class='hs-varid'>xK_q</span>     <span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>spawn</span> <span class='hs-str'>"xmonad --recompile &amp;&amp; xmonad --restart"</span><span class='hs-layout'>)</span> <span class='hs-comment'>-- %! Restart xmonad</span>
<a name="line-222"></a>    <span class='hs-keyglyph'>]</span>
<a name="line-223"></a>    <span class='hs-varop'>++</span>
<a name="line-224"></a>    <span class='hs-comment'>-- mod-[1..9] %! Switch to workspace N</span>
<a name="line-225"></a>    <span class='hs-comment'>-- mod-shift-[1..9] %! Move client to workspace N</span>
<a name="line-226"></a>    <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>m</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>modMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>k</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>windows</span> <span class='hs-varop'>$</span> <span class='hs-varid'>f</span> <span class='hs-varid'>i</span><span class='hs-layout'>)</span>
<a name="line-227"></a>        <span class='hs-keyglyph'>|</span> <span class='hs-layout'>(</span><span class='hs-varid'>i</span><span class='hs-layout'>,</span> <span class='hs-varid'>k</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>zip</span> <span class='hs-layout'>(</span><span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>workspaces</span> <span class='hs-varid'>conf</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>xK_1</span> <span class='hs-keyglyph'>..</span> <span class='hs-varid'>xK_9</span><span class='hs-keyglyph'>]</span>
<a name="line-228"></a>        <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-varid'>f</span><span class='hs-layout'>,</span> <span class='hs-varid'>m</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>greedyView</span><span class='hs-layout'>,</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>shift</span><span class='hs-layout'>,</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span><span class='hs-keyglyph'>]</span>
<a name="line-229"></a>    <span class='hs-varop'>++</span>
<a name="line-230"></a>    <span class='hs-comment'>-- mod-{w,e,r} %! Switch to physical/Xinerama screens 1, 2, or 3</span>
<a name="line-231"></a>    <span class='hs-comment'>-- mod-shift-{w,e,r} %! Move client to screen 1, 2, or 3</span>
<a name="line-232"></a>    <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>m</span> <span class='hs-varop'>.|.</span> <span class='hs-varid'>modMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>key</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>screenWorkspace</span> <span class='hs-varid'>sc</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>flip</span> <span class='hs-varid'>whenJust</span> <span class='hs-layout'>(</span><span class='hs-varid'>windows</span> <span class='hs-varop'>.</span> <span class='hs-varid'>f</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-233"></a>        <span class='hs-keyglyph'>|</span> <span class='hs-layout'>(</span><span class='hs-varid'>key</span><span class='hs-layout'>,</span> <span class='hs-varid'>sc</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-varid'>zip</span> <span class='hs-keyglyph'>[</span><span class='hs-varid'>xK_w</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_e</span><span class='hs-layout'>,</span> <span class='hs-varid'>xK_r</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>[</span><span class='hs-num'>0</span><span class='hs-keyglyph'>..</span><span class='hs-keyglyph'>]</span>
<a name="line-234"></a>        <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-varid'>f</span><span class='hs-layout'>,</span> <span class='hs-varid'>m</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>&lt;-</span> <span class='hs-keyglyph'>[</span><span class='hs-layout'>(</span><span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>view</span><span class='hs-layout'>,</span> <span class='hs-num'>0</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>shift</span><span class='hs-layout'>,</span> <span class='hs-varid'>shiftMask</span><span class='hs-layout'>)</span><span class='hs-keyglyph'>]</span><span class='hs-keyglyph'>]</span>
<a name="line-235"></a>
<a name="line-236"></a><a name="mouseBindings"></a><span class='hs-comment'>-- | Mouse bindings: default actions bound to mouse events</span>
<a name="line-237"></a><span class='hs-comment'>--</span>
<a name="line-238"></a><span class='hs-definition'>mouseBindings</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>XConfig</span> <span class='hs-conid'>Layout</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>M</span><span class='hs-varop'>.</span><span class='hs-conid'>Map</span> <span class='hs-layout'>(</span><span class='hs-conid'>KeyMask</span><span class='hs-layout'>,</span> <span class='hs-conid'>Button</span><span class='hs-layout'>)</span> <span class='hs-layout'>(</span><span class='hs-conid'>Window</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>X</span> <span class='hs-conid'>()</span><span class='hs-layout'>)</span>
<a name="line-239"></a><span class='hs-definition'>mouseBindings</span> <span class='hs-layout'>(</span><span class='hs-conid'>XConfig</span> <span class='hs-layout'>{</span><span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>modMask</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>modMask</span><span class='hs-layout'>}</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>M</span><span class='hs-varop'>.</span><span class='hs-varid'>fromList</span> <span class='hs-varop'>$</span>
<a name="line-240"></a>    <span class='hs-comment'>-- mod-button1 %! Set the window to floating mode and move by dragging</span>
<a name="line-241"></a>    <span class='hs-keyglyph'>[</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>button1</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>w</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>focus</span> <span class='hs-varid'>w</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>mouseMoveWindow</span> <span class='hs-varid'>w</span>
<a name="line-242"></a>                                          <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>shiftMaster</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-243"></a>    <span class='hs-comment'>-- mod-button2 %! Raise the window to the top of the stack</span>
<a name="line-244"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>button2</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>w</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>focus</span> <span class='hs-varid'>w</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>shiftMaster</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-245"></a>    <span class='hs-comment'>-- mod-button3 %! Set the window to floating mode and resize by dragging</span>
<a name="line-246"></a>    <span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-layout'>(</span><span class='hs-varid'>modMask</span><span class='hs-layout'>,</span> <span class='hs-varid'>button3</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>w</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>focus</span> <span class='hs-varid'>w</span> <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>mouseResizeWindow</span> <span class='hs-varid'>w</span>
<a name="line-247"></a>                                          <span class='hs-varop'>&gt;&gt;</span> <span class='hs-varid'>windows</span> <span class='hs-conid'>W</span><span class='hs-varop'>.</span><span class='hs-varid'>shiftMaster</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-248"></a>    <span class='hs-comment'>-- you may also bind events to the mouse scroll wheel (button4 and button5)</span>
<a name="line-249"></a>    <span class='hs-keyglyph'>]</span>
<a name="line-250"></a>
<a name="line-251"></a><a name="defaultConfig"></a><span class='hs-comment'>-- | And, finally, the default set of configuration values itself</span>
<a name="line-252"></a><span class='hs-definition'>defaultConfig</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>XConfig</span>
<a name="line-253"></a>    <span class='hs-layout'>{</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>borderWidth</span>        <span class='hs-keyglyph'>=</span> <span class='hs-varid'>borderWidth</span>
<a name="line-254"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>workspaces</span>         <span class='hs-keyglyph'>=</span> <span class='hs-varid'>workspaces</span>
<a name="line-255"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>layoutHook</span>         <span class='hs-keyglyph'>=</span> <span class='hs-varid'>layout</span>
<a name="line-256"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>terminal</span>           <span class='hs-keyglyph'>=</span> <span class='hs-varid'>terminal</span>
<a name="line-257"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>normalBorderColor</span>  <span class='hs-keyglyph'>=</span> <span class='hs-varid'>normalBorderColor</span>
<a name="line-258"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>focusedBorderColor</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>focusedBorderColor</span>
<a name="line-259"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>numlockMask</span>        <span class='hs-keyglyph'>=</span> <span class='hs-varid'>numlockMask</span>
<a name="line-260"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>modMask</span>            <span class='hs-keyglyph'>=</span> <span class='hs-varid'>defaultModMask</span>
<a name="line-261"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>keys</span>               <span class='hs-keyglyph'>=</span> <span class='hs-varid'>keys</span>
<a name="line-262"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>logHook</span>            <span class='hs-keyglyph'>=</span> <span class='hs-varid'>logHook</span>
<a name="line-263"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>startupHook</span>        <span class='hs-keyglyph'>=</span> <span class='hs-varid'>startupHook</span>
<a name="line-264"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>mouseBindings</span>      <span class='hs-keyglyph'>=</span> <span class='hs-varid'>mouseBindings</span>
<a name="line-265"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>manageHook</span>         <span class='hs-keyglyph'>=</span> <span class='hs-varid'>manageHook</span>
<a name="line-266"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>handleEventHook</span>    <span class='hs-keyglyph'>=</span> <span class='hs-varid'>handleEventHook</span>
<a name="line-267"></a>    <span class='hs-layout'>,</span> <span class='hs-conid'>XMonad</span><span class='hs-varop'>.</span><span class='hs-varid'>focusFollowsMouse</span>  <span class='hs-keyglyph'>=</span> <span class='hs-varid'>focusFollowsMouse</span> <span class='hs-layout'>}</span>
</pre></body>
</html>