Hi,<br>I am interested to use loghook in FBpanel or any other panel like perl-panel. I have fbpanel now. I like the plain script lohook that shows workspace-names and tile-names. I know this can be ported to gnome-panel through a loghook applet, but would prefer to use fbpanel. NOt sure how to make a loghook applet for fbpanel. Is there a simple script to link the loghook to EWMH in fbpanel? <br>
thanks,<br>Jan Snyder<br><br><div class="gmail_quote">On Fri, Nov 20, 2009 at 7:25 PM,  <span dir="ltr">&lt;<a href="mailto:xmonad-request@haskell.org">xmonad-request@haskell.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Send xmonad mailing list submissions to<br>
        <a href="mailto:xmonad@haskell.org">xmonad@haskell.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://www.haskell.org/mailman/listinfo/xmonad" target="_blank">http://www.haskell.org/mailman/listinfo/xmonad</a><br>
or, via email, send a message with subject or body &#39;help&#39; to<br>
        <a href="mailto:xmonad-request@haskell.org">xmonad-request@haskell.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:xmonad-owner@haskell.org">xmonad-owner@haskell.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than &quot;Re: Contents of xmonad digest...&quot;<br>
<br>
<br>
Today&#39;s Topics:<br>
<br>
   1. darcs patch: X.H.DynamicLog: fix xmonadPropLog<br>
      double-encoding of U... (Tomas Janousek)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Sat, 21 Nov 2009 01:50:11 +0100<br>
From: Tomas Janousek &lt;<a href="mailto:tomi@nomi.cz">tomi@nomi.cz</a>&gt;<br>
Subject: [xmonad] darcs patch: X.H.DynamicLog: fix xmonadPropLog<br>
        double-encoding of U...<br>
To: <a href="mailto:xmonad@haskell.org">xmonad@haskell.org</a><br>
Message-ID: &lt;<a href="mailto:20091121005011.GA10957@notes.lisk.in">20091121005011.GA10957@notes.lisk.in</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
Sat Nov 21 01:48:29 CET 2009  Tomas Janousek &lt;<a href="mailto:tomi@nomi.cz">tomi@nomi.cz</a>&gt;<br>
  * X.H.DynamicLog: fix xmonadPropLog double-encoding of UTF-8<br>
<br>
  dynamicLogString utf-8 encodes its output, xmonadPropLog shouldn&#39;t do that<br>
  again.<br>
<br>
--<br>
Tomáš Janoušek, a.k.a. Liskni_si, <a href="http://work.lisk.in/" target="_blank">http://work.lisk.in/</a><br>
-------------- next part --------------<br>
<br>
New patches:<br>
<br>
[X.H.DynamicLog: fix xmonadPropLog double-encoding of UTF-8<br>
Tomas Janousek &lt;<a href="mailto:tomi@nomi.cz">tomi@nomi.cz</a>&gt;**20091121004829<br>
 Ignore-this: bde612bbd1a19951f9718a03e737c4ac<br>
<br>
 dynamicLogString utf-8 encodes its output, xmonadPropLog shouldn&#39;t do that<br>
 again.<br>
] {<br>
hunk ./XMonad/Hooks/DynamicLog.hs 61<br>
 --<br>
 import XMonad<br>
 import Control.Monad<br>
-import Data.Char ( isSpace )<br>
+import Data.Char ( isSpace, ord )<br>
 import Data.Maybe ( isJust, catMaybes )<br>
 import Data.List<br>
 import qualified Data.Map as M<br>
hunk ./XMonad/Hooks/DynamicLog.hs 69<br>
 import qualified XMonad.StackSet as S<br>
 import System.IO<br>
<br>
-import qualified Codec.Binary.UTF8.String as UTF8<br>
 import Foreign.C (CChar)<br>
<br>
 import XMonad.Util.WorkspaceCompare<br>
hunk ./XMonad/Hooks/DynamicLog.hs 207<br>
     keys&#39; = (`M.singleton` sendMessage ToggleStruts) . k<br>
<br>
 -- | Write a string to the property _XMONAD_LOG on the root window.  This<br>
--- property is of type UTF8_STRING.<br>
+-- property is of type UTF8_STRING. The string must have been processed by<br>
+-- encodeString (dynamicLogString does this).<br>
 xmonadPropLog :: String -&gt; X ()<br>
 xmonadPropLog msg = do<br>
     d &lt;- asks display<br>
hunk ./XMonad/Hooks/DynamicLog.hs 218<br>
     io $ changeProperty8 d r xlog ustring propModeReplace (encodeCChar msg)<br>
  where<br>
     encodeCChar :: String -&gt; [CChar]<br>
-    encodeCChar = map fromIntegral . UTF8.encode<br>
+    encodeCChar = map (fromIntegral . ord)<br>
<br>
 -- |<br>
 -- Helper function which provides ToggleStruts keybinding<br>
}<br>
<br>
Context:<br>
<br>
[X.H.ManageDocks: ignore struts that cover an entire screen on that screen<br>
Tomas Janousek &lt;<a href="mailto:tomi@nomi.cz">tomi@nomi.cz</a>&gt;**20091119145043<br>
 Ignore-this: ad7bbf10c49c9f3e938cdc3d8588e202<br>
<br>
 Imagine a screen layout like this:<br>
<br>
   11111111<br>
   11111111<br>
   11111111<br>
    222222    &lt;--- xmobar here<br>
    222222<br>
    222222<br>
<br>
 When placing xmobar as indicated, the partial strut property indicates that an<br>
 entire height of screen 1 is covered by the strut, as well as a few lines at<br>
 the top of screen 2. The original code would create a screen rectangle of<br>
 negative height and wreak havoc. This patch causes such strut to be ignored on<br>
 the screen it covers entirely, resulting in the desired behaviour of a small<br>
 strut at the top of screen 2.<br>
<br>
 Please note that this semantics of _NET_WM_STRUT and _NET_WM_STRUT_PARTIAL is<br>
 different to what is in wm-spec. The &quot;correct&quot; thing to do would be to discard<br>
 the covered portion of screen 1 leaving two narrow areas at the sides, but<br>
 this new behaviour is probably more desirable in many cases, at least for<br>
 xmonad/xmobar users.<br>
<br>
 The correct solution of having separate _NET_WM_STRUT_PARTIAL for each<br>
 Xinerama screen was mentioned in wm-spec maillist in 2007, but has never<br>
 really been proposed, discussed and included in wm-spec. Hence this &quot;hack&quot;.<br>
]<br>
[Use imported &#39;fi&#39; in PositionStoreHooks<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091119103112<br>
 Ignore-this: 6563a3093083667c79aa491a6f59b805<br>
]<br>
[Changed interface of X.U.ExtensibleState<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091116171013<br>
 Ignore-this: 9a830f9341e461628974890bab0bd65b<br>
<br>
 Changed the interface of X.U.ExtensibleState to resemble that of<br>
 Control.Monad.State and modified the modules that use it accordingly.<br>
]<br>
[PositionStoreFloat - a floating layout with support hooks<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20091115184833<br>
 Ignore-this: 8b1d0fcef1465356d72cb5f1f32413b6<br>
]<br>
[PositionStore utility to store information about position and size of a window<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20091108195735<br>
 Ignore-this: 2f6e68a490deb75cba5d007b30c93fb2<br>
]<br>
[X.H.Urgencyhook fix minor doc bug<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20091115131121<br>
 Ignore-this: 18b63bccedceb66c77b345a9300f1ac3<br>
]<br>
[X.H.DynamicLog fix minor indentation oddness<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20091115130707<br>
 Ignore-this: 7f2c49eae5527874ca4499767f4167c4<br>
]<br>
[X.A.CycleWS cycle by tag group<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20091115130217<br>
 Ignore-this: 909da8c00b47a31d04f59bd3751c60bc<br>
 Allow grouping of workspaces, so that a user can cycle through those in the same group. Grouping is done by using a special character in the tag.<br>
]<br>
[Use less short names in X.Prompt<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091115025647<br>
 Ignore-this: 1d27b8efc4d829a5642717c6f6426336<br>
]<br>
[Use io instead of liftIO in Prompt<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091115025301<br>
 Ignore-this: cd4031b74cd5bb874cd2c3cc2cb087f2<br>
]<br>
[&#39;io&#39; and &#39;fi&#39; are defined outside of Prompt<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091115024001<br>
 Ignore-this: 3426056362db9cbfde7d2f4edbfe6f36<br>
]<br>
[Use zipWithM_ instead of recursion in Prompt.printComplList<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091115023451<br>
 Ignore-this: 2457500ed871ef120653a3d4ada13441<br>
]<br>
[Minor style changes in DynamicWorkspaces<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091115022751<br>
 Ignore-this: 1a6018ab134e4420a949354575a8a110<br>
]<br>
[X.A.DynamicWorkspaces fix doc and add behaviour<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20091113233903<br>
 Ignore-this: ab7c20a9c1b43ebc6a7f4700d988fb73<br>
 Before this patch the documentation claims that it won&#39;t do anything on non-empty workspaces when it actually does. This patch fixes the documentation to reflect the actual behaviour, but also adds the behaviour promised by the documentation in other functions. It does not break configs. In addition it also provides functions to help removing empty workspaces when leaving them.<br>

]<br>
[rework XMonad.Util.Dzen<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20091114051509<br>
 Ignore-this: 16d93f91c54f7d195b1a418e6c0351c5<br>
]<br>
[generalize IO actions to MonadIO m =&gt; m actions<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20091114023616<br>
 Ignore-this: 2c801a27b0ffee34a2f0daca3778613a<br>
<br>
 This should not cause any working configs to stop working, because IO is an instance of MonadIO, and because complete configs will pin down the type of the call to IO.  Note that XMonad.Config.Arossato is not a complete config, and so it needed some tweaks; with a main function, this should not be a problem.<br>

]<br>
[fix documentation to match implementation<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20091114021328<br>
 Ignore-this: 6dbbb118b139f443c40a573445a48d07<br>
]<br>
[Bypass more of stringToKeysym in U.Paste<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091114223726<br>
 Ignore-this: 617c922647e9f49f5ecefa0eb1c65d3c<br>
]<br>
[Don&#39;t erase floating information with H.InsertPosition (Issue 334)<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091113161402<br>
 Ignore-this: de1c03eb860ea25b390ee5c756b02997<br>
]<br>
[Rename gridselectViewWorkspace to gridselectWorkspace, add another example.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091112211435<br>
 Ignore-this: 462cf1c7f66ab97a1ce642977591a910<br>
<br>
 The name should be more general to suggest uses other than just viewing other<br>
 workspaces.<br>
]<br>
[X.A.DynamicWorkspaces: fix addWorkspace and friends so they never add another copy of an existing workspace<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20091112201351<br>
 Ignore-this: 5bfe8129707b038ed04383b7566b2323<br>
]<br>
[Trim whitespace in H.FloatNext<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091111022702<br>
 Ignore-this: 1ad52678246fa1ac951169c2356ce10b<br>
]<br>
[Use ExtensibleState in H.FloatNext<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091111022513<br>
 Ignore-this: 760d95a685af080466cb4164d1096423<br>
]<br>
[Make a haddock link direct in C.Desktop.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091111013810<br>
 Ignore-this: da724a7974c3de60f49996c1fe92d3fb<br>
]<br>
[Change A.TopicSpace haddocks to use block quotes.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091111013241<br>
 Ignore-this: 6f7f43d2715cfde62b9c05c7d9a0da2<br>
]<br>
[Add defaultTopicConfig, to allow adding more fields to TopicSpace later.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091111012915<br>
 Ignore-this: 6dad95769651a9a1ef8d771f81c91f8e<br>
]<br>
[X.A.WindowGo: fix haddock markup<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091111003256<br>
 Ignore-this: c6a06de900ca8b67498abf5152e3d9ea<br>
]<br>
[Minor style corrections in X.U.SpawnOnce<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091109201543<br>
 Ignore-this: 1264852c23b4f84b2580bf4567529c68<br>
]<br>
[Add gridselectViewWorkspace in X.A.GridSelect<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091109155815<br>
 Ignore-this: 5543211e9e3fd325cb798b004635a525<br>
]<br>
[minor-doc-fix-in-ManageHelpers<br>
`Henrique Abreu &lt;<a href="mailto:hgabreu@gmail.com">hgabreu@gmail.com</a>&gt;&#39;**20091104172727<br>
 Ignore-this: 231ad417541bc3c17a1cb2dff139d55d<br>
]<br>
[Set buffering to LineBuffering in scripts/xmonadpropread.hs<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091108204106<br>
 Ignore-this: 4e593fc1461fbbfb5b147c7c7702584e<br>
<br>
 (Required for the script to work properly with tools like dzen)<br>
]<br>
[X.U.ExtensibleState: style<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091108182858<br>
 Ignore-this: f189da75ad2c57ae9cca48eaf69a6bad<br>
]<br>
[X.A.DynamicWorkspaces: new &#39;addWorkspacePrompt&#39; method<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20091108170503<br>
 Ignore-this: a3992b1b7938be80d8fd2a5a503a4042<br>
]<br>
[Remove defaulting when using NoMonomorphismRestriction in H.EwmhDesktops<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091107195255<br>
 Ignore-this: ca3939842639c94ca4fd1ff6624319c1<br>
]<br>
[Update A.TopicSpace to use extensible state. No config changes required.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091107194502<br>
 Ignore-this: 7a82aad512bb727b3447de0faa4a210f<br>
]<br>
[Inline tupadd function in A.GridSelect<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091101190312<br>
 Ignore-this: 458968154303ab865c304f387d6ac83b<br>
]<br>
[Alphabetize exposed-modules<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091107174946<br>
 Ignore-this: 919684aea7747a756b303f9b34a2870b<br>
]<br>
[Use X.U.SpawnOnce in my config<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091107174615<br>
 Ignore-this: fe8f5f75136128280942771ec429f09a<br>
]<br>
[Add XMonad.Util.SpawnOnce<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091107173820<br>
 Ignore-this: 8d4657bbaa8dbeb1d0f9d22293bfef19<br>
]<br>
[Store deserialized data after reading in X.U.ExtensibleState<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091107103832<br>
 Ignore-this: 192beca56e9437292bd3f16451ae9e66<br>
]<br>
[Fixed conflict between X.U.ExtensibleState and X.C.Sjanssen<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091107103619<br>
 Ignore-this: 80f4bb218574d7c528af17473c6e4f66<br>
]<br>
[Use X.U.ExtensibleState instead of IORefs<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091106115601<br>
 Ignore-this: e0e80e31e51dfe76f2b2ed597892cbba<br>
<br>
 This patch changes SpawnOn, DynamicHooks and UrgencyHooks to<br>
 use X.U.ExtensibleState instead of IORefs. This simplifies the<br>
 usage of those modules thus also breaking current configs.<br>
]<br>
[Add X.U.ExtensibleState<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091106115336<br>
 Ignore-this: d80d9d0c10a53fb71a375e432bd29344<br>
]<br>
[My config uses xmonadPropLog now<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091107005230<br>
 Ignore-this: 8f16b8bea86dfcd3739f1566f5897578<br>
]<br>
[Add xmonadpropread script<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091107004858<br>
 Ignore-this: 8cc7ed36ec1126d0139638148f9642e8<br>
]<br>
[Add experimental xmonadPropLog function<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091107004624<br>
 Ignore-this: f09b2c11b16a3af993b63d1b39566120<br>
]<br>
[XMonad.Actions.Search: imdb search URL tweak for bug #33<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20091103222330<br>
 Ignore-this: bae5e6d3ec6c4b6591016ece9dffb202<br>
]<br>
[Clean imports for L.BoringWindows<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091103140649<br>
 Ignore-this: 56946a652329390dbdd63746ca23ee8e<br>
]<br>
[I maintain L.BoringWindows<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091103140509<br>
 Ignore-this: de853972b4c1c4cefa2dc29e68828d5d<br>
]<br>
[Implement hasProperty in terms of runQuery in U.WindowProperties<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091031154945<br>
 Ignore-this: 1c351bc436e0e323dc25d8f5ff734dcb<br>
<br>
 This addresses issue 302 for unicode titles by actually using the complicated<br>
 XMonad.ManageHook.title code, instead of reimplementing it with stringProperty<br>
 (which doesn&#39;t appear to handle unicode).<br>
]<br>
[Add functions to access the current input in X.Prompt<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091030235033<br>
 Ignore-this: 3f568c1266d85dcaa5722b19bbbd61dd<br>
]<br>
[Remove putSelection, fixes #317<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091030224354<br>
 Ignore-this: 6cfd6d92e1d133bc9e3cbb7c8339f735<br>
]<br>
[Fix typo in H.FadeInactive documentation<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091029165736<br>
 Ignore-this: b2af487cd382416160d5540b7f210464<br>
]<br>
[X.L.MultiCol constructor 0 NWin bugfig<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20091029105633<br>
 Ignore-this: e6a24f581593424461a8675984d14d25<br>
 Fix bug where the constructor did not accept catch-all columns. Also some minor cleaning.<br>
]<br>
[X.H.ManageHelpers: added currentWs that returns the current workspace<br>
Ismael Carnales &lt;<a href="mailto:icarnales@gmail.com">icarnales@gmail.com</a>&gt;**20091028193519<br>
 Ignore-this: dcd3dac6bd741d26747807691f125637<br>
]<br>
[X.L.MultiColumns bugfix and formating<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20091027131741<br>
 Ignore-this: 6978f485d18adb8bf81cf6c8e0d0332<br>
 Fix bug where a column list of insufficient length could be used to find the column of the window. Also fix formating to conform better with standards.<br>
]<br>
[X.L.MultiColumns NWin shrinkning fix<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20091027005932<br>
 Ignore-this: 9ba40ee14ec12c3885173817eac2b564<br>
 Fixed a bug where the list containing the number of windows in each column was allowed the shrink if a column was unused.<br>
]<br>
[New Layout X.L.MultiColumns<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20091024175155<br>
 Ignore-this: a2d3d2eee52c28eab7d125f6b621cada<br>
 New layout inspired the realization that I was switching between Mirror Tall and Mirror ThreeCol depending on how many windows there were on the workspace. This layout will make those changes automatically.<br>
]<br>
[Changing behaviour of ppUrgent with X.H.DynamicLog<br>
<a href="mailto:mail@n-sch.de">mail@n-sch.de</a>**20090910010411<br>
 Ignore-this: 3882f36d5c49e53628485c1570bf136a<br>
<br>
 Currently, the ppUrgent method is an addition to the ppHidden method.<br>
 This doesn&#39;t make any sense since it is in fact possible to get urgent<br>
 windows on the current and visible screens. So I&#39;ve raised the ppUrgent<br>
 printer to be above ppCurrent/ppVisible and dropped its dependency on<br>
 ppHidden.<br>
<br>
 In addition to that this makes it a lot more easier to define a more<br>
 custom ppUrgent printer, since you don&#39;t have to &quot;undo&quot; the ppHidden<br>
 printer anymore. This also basicly removes the need for dzenStrip,<br>
 although I just changed the description.<br>
<br>
 -- McManiaC / Nils<br>
<br>
]<br>
[TAG 0.9<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091026013449<br>
 Ignore-this: 542b6105d6deed65e12d1f91c666b0b2<br>
]<br>
[Bump version to 0.9<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091026004850<br>
 Ignore-this: e9d2eee4ec5df8f52bf8f593ff0d2605<br>
]<br>
[fix window rectangle calculation in X.A.UpdatePointer<br>
Tomas Janousek &lt;<a href="mailto:tomi@nomi.cz">tomi@nomi.cz</a>&gt;**20091026154918<br>
 Ignore-this: ad0c3a020b802854919c7827faa001ad<br>
]<br>
[fix X.U.Run.spawnPipe fd leak<br>
Tomas Janousek &lt;<a href="mailto:tomi@nomi.cz">tomi@nomi.cz</a>&gt;**20091025210246<br>
 Ignore-this: 24375912d505963fafc917a63d0e79a0<br>
]<br>
[README Update to point to wiki changelog, prettify<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20091024203550<br>
 Ignore-this: 8a0a1824e67c5b2dbbb23e5061d01ece<br>
]<br>
[Doc namespace minor updates<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20091023184905<br>
 Ignore-this: b3fd7de477f0a9ba6af1d8c78eb47754<br>
 Most signifigant changes are use unversioned links to external html,<br>
 fix a couple of key binding examples, and double quotes that should<br>
 have been single.<br>
]<br>
[Docs: use myLayout like template rather than plural<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20091023042651<br>
 Ignore-this: 8f1814c42e90e18af636a14751ae2f58<br>
 Despite myLayouts currently being more popular in examples, make<br>
 them all myLayout as in man/xmonad.hs to avoid mixing them in the<br>
 same module as was done a few places, leading to confusion for some users.<br>
]<br>
[Use &#39;ewmh&#39; in relevant configs<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091023035043<br>
 Ignore-this: 7cac9c6c3795a3fb60899db29cc65d08<br>
]<br>
[Add ewmh function to set all EWMH settings in one step<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20091023034630<br>
 Ignore-this: 4d79c1e156f56882036ce43e70cce6f2<br>
]<br>
[Refer to modm as the current modMask<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091022041126<br>
 Ignore-this: d097c7dc1746c55e1d4078a7148f9d5a<br>
<br>
 This makes the config suggestions consistent with the current template.<br>
]<br>
[Resolve conflicts between Justin Bogner&#39;s C.Desktop patch and latest head.<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091022115849<br>
 Ignore-this: ba805e9889d6bda5ea873e3537b0111f<br>
]<br>
[Move EWMH support initialization to a startupHook<br>
Justin Bogner &lt;<a href="mailto:mail@justinbogner.com">mail@justinbogner.com</a>&gt;**20091011053538<br>
 Ignore-this: bd35654d0afb0a2fec73b16ab7ac38b1<br>
<br>
 Set EWMH support atoms and the window manager name in a startup hook,<br>
 rather than in the log hook: the log hook occurs far too frequently<br>
 for it to make sense to set constants with it.<br>
]<br>
[C.Desktop fix bad escaping and typo<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20091022100156<br>
 Ignore-this: 70b51a2d8b4443fa364414630ed074c0<br>
]<br>
[C.Desktop doc explaining common desktop config customizations<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20091022042748<br>
 Ignore-this: 83d1f026ae4f4b7f5796269b51e98349<br>
 To close <a href="http://code.google.com/p/xmonad/issues/detail?id=174" target="_blank">http://code.google.com/p/xmonad/issues/detail?id=174</a><br>
]<br>
[Clean keymask in GridSelect(solves issue 318)<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091021223404<br>
 Ignore-this: 2c315539bf1ae8c427b7856b5fdb2e49<br>
]<br>
[Share one StdGen between RGB channels in A.RandomBackground<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091020165924<br>
 Ignore-this: 15eef05c9a73d578f5513550757bb8bb<br>
]<br>
[Document A.RandomBackground<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091020165205<br>
 Ignore-this: cb6fb4567abde474fd975a25dca5adc2<br>
]<br>
[Bump X11 dependency to 1.4.6.1, to access cursor definitions.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091020161914<br>
 Ignore-this: 60728999fe041302379326494df30921<br>
]<br>
[C.Gnome combine with instead of replace Desktop startupHook<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20091020092010<br>
 Ignore-this: 99af07c4d36a575570935a0421a0e241<br>
 Now that C.Desktop sets startupHook do both rather than only<br>
 gnomeRegister.<br>
]<br>
[Remove H.SetCursor: U.Cursor is preferred<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091019235722<br>
 Ignore-this: 5796fe86879c2ce02ef12150e0a8603a<br>
]<br>
[Add some haddock formatting in U.Cursor<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091019233036<br>
 Ignore-this: 744c36a128b403980e3bc62c9e99d432<br>
]<br>
[XMonadContrib: set the default cursor to left_ptr for the Desktop config<br>
Andres Salomon &lt;<a href="mailto:dilinger@collabora.co.uk">dilinger@collabora.co.uk</a>&gt;**20090915165753<br>
 Ignore-this: a4f7417c8a4190a0cabdadbd359e217<br>
]<br>
[XMonadContrib: add a utility module to set the default cursor<br>
Andres Salomon &lt;<a href="mailto:dilinger@collabora.co.uk">dilinger@collabora.co.uk</a>&gt;**20090915165604<br>
 Ignore-this: b0559b7b2617db90506492aa1479cde<br>
<br>
 This adds XMonad.Util.Cursor, which defines a function that allows setting<br>
 the default mouse cursor.  This can be useful for (for example) gnomeConfig,<br>
 to ensure that the root cursor is changed from X_cursor to left_ptr.<br>
<br>
]<br>
[More docs formatting in A.GridSelect<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091016203132<br>
 Ignore-this: a0a489c2b65fa2d755b4aca544c3d73a<br>
]<br>
[In A.GridSelect correct haddocks<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091016171159<br>
 Ignore-this: f7f714c42544d9230eb9c9bec86cd36a<br>
]<br>
[Describe parameters to subLayouts more<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091016164937<br>
 Ignore-this: d09f236cb17adf7a9092f1b0e646def3<br>
]<br>
[Refer to modMask as modm in L.SubLayouts sample keybinds<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091016164737<br>
 Ignore-this: 3a8366f7d8f337be750b4db61a454991<br>
]<br>
[Format L.SubLayout TODO<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091016155837<br>
 Ignore-this: 4dfa10aa2f7087658b6a93299f75310<br>
]<br>
[Add more links in L.SubLayout documentation<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091016155518<br>
 Ignore-this: 70347cc0bcf4966e6c07f45740882087<br>
]<br>
[Link a screenshot in L.SubLayouts from the haskellwiki<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091016150539<br>
 Ignore-this: c58b64c5c5f28f4d71c9e8498965ca9e<br>
]<br>
[Added focusMaster to BoringWindows<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20091015233518<br>
 Ignore-this: 7f99337fc63cdc7c861fdc3c2ab2d3d1<br>
]<br>
[Remove NamedFieldPuns from L.LimitWindows<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091015010123<br>
 Ignore-this: 228ca5b5ac067876c3b2809fc03b6016<br>
<br>
 This is more ugly, but otherwise we have lots of trouble for ghc-6.8<br>
 compatibility (due to the recomended flag having changed)<br>
]<br>
[added prop_select_two_consec to test_Selective.hs<br>
Max Rabkin &lt;<a href="mailto:max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt;**20091001155853<br>
 Ignore-this: 80e2b5d8658dc053c66993be970e6247<br>
]<br>
[Note L.Minimize in L.LimitWindows haddocks.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091014205326<br>
 Ignore-this: 83a809d2467a286e0c1a133be947add9<br>
]<br>
[Move limitSelect into L.LimitWindows<br>
Max Rabkin &lt;<a href="mailto:max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt;**20091014202213<br>
 Ignore-this: 51d6e9da4a6a4f683cd145371e90be17<br>
]<br>
[added haddocks for L.Selective<br>
Max Rabkin &lt;<a href="mailto:max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt;**20091002112720<br>
 Ignore-this: d29016f1261d0176634bb040fcc1836a<br>
]<br>
[Support IncMasterN in Selective<br>
Max Rabkin &lt;<a href="mailto:max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt;**20090929173346<br>
 Ignore-this: 3fd288d0062905177c06006ea4066f6d<br>
]<br>
[removed commented-out code<br>
Max Rabkin &lt;<a href="mailto:max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt;**20090929163509<br>
 Ignore-this: 776b1566626660b639f8933980f5a3a1<br>
]<br>
[Test that update preserves invariants of Selection<br>
Max Rabkin &lt;<a href="mailto:max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt;**20090929163139<br>
 Ignore-this: 340b2a1465b9fc98cdc386b511ce26bb<br>
]<br>
[move updateSel from test_Selective into Selective<br>
Max Rabkin &lt;<a href="mailto:max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt;**20090929160420<br>
 Ignore-this: 6636f2f2d5aa15a6d0ef6d45ee38aa42<br>
]<br>
[Add &quot;Selective&quot; layout modifier<br>
Max Rabkin &lt;<a href="mailto:max.rabkin@gmail.com">max.rabkin@gmail.com</a>&gt;**20090929160207<br>
 Ignore-this: ded23208563ca8c8d411916d01351132<br>
]<br>
[Filter extra modifier bits some layouts set in XMonad.Prompt<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091012132814<br>
 Ignore-this: c0898809766061700c11f6da84c74bed<br>
]<br>
[Cleanup L.BorderResize<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012055532<br>
 Ignore-this: 7d369ed3050543a5c30a64991b7bf6f5<br>
]<br>
[Layout modifier to resize windows by dragging their borders with the mouse<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20091011222214<br>
 Ignore-this: 5cf197ea14b7c502fa13a16773215762<br>
]<br>
[Add U.Replace which implements a --replace behavior.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012052306<br>
 Ignore-this: bd519abe3250a01507f225a29c08048a<br>
]<br>
[Update D.Extending module lists with help of a script (also added)<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012044918<br>
 Ignore-this: c280d3047355be962e8ef706d598aa43<br>
]<br>
[Correct erroneous haddock link in U.XSelection<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012043133<br>
 Ignore-this: e5c905104741d14dbb411272c37e0e29<br>
]<br>
[Make L.Mosaic explicit imports compatible with haskell-src-exts<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012042859<br>
 Ignore-this: 85ca9ff7fc924e6291edb05f4a1de77c<br>
]<br>
[Put screenshots inline for L.ThreeColumns and L.Roledex<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012042651<br>
 Ignore-this: df314db757ad09bb7185c16cca8649d3<br>
]<br>
[Use LANGUAGE pragma instead of -fglasgow-exts in L.Minimize<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012042457<br>
 Ignore-this: cbb454ab573b1e1f931d79c322fa1303<br>
]<br>
[Add a description to L.LayoutScreens<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012042231<br>
 Ignore-this: beceb2f65206079fae6421c5df0fb439<br>
]<br>
[Add Portability and Stability boilerplate for a couple modules.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012041055<br>
 Ignore-this: 7d875c5e47535a11e26f9a604a01fe88<br>
<br>
 Needed for automating the generation of the Doc.Extending module summaries.<br>
]<br>
[Correct hyperlink in A.DeManage<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012040340<br>
 Ignore-this: db08eba0253f94e5ce9cbcf3632b387a<br>
]<br>
[NoFrillsDecoration - most basic version of decoration for windows<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20091011220512<br>
 Ignore-this: accda53da08f37d6b4091d1c6e17e2c1<br>
]<br>
[Split A.TopicSpace documentation into sections<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091012004730<br>
 Ignore-this: 312066f68e7051a8ee89cbbec40ce2a0<br>
]<br>
[Use hyperlinks in WorkspaceCursors documentation.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091008032047<br>
 Ignore-this: d698d86d01d9a69652fa3aa732873299<br>
]<br>
[Minor haddock formatting correction in L.Tabbed<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091008024839<br>
 Ignore-this: 8084aebbae198eda3d455ab541e94169<br>
]<br>
[Hyperlink the reference to ResizableTile in MouseResizableTile<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091005175303<br>
 Ignore-this: 8d98176fd0b78ef3565a6f9556e220b8<br>
]<br>
[Finish a sentence in H.ManageDocks haddocks.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091005165312<br>
 Ignore-this: 43f4ffc627b3db204d74ed361ef939cf<br>
]<br>
[Add a SetStruts message to H.ManageDocks.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091005164221<br>
 Ignore-this: 98a76bb48b8a569b459cadc4e6412c06<br>
<br>
 This patch also uses Data.Set instead of [] for the AvoidStruts<br>
 constructor to simplify the SetStruts implementation.<br>
]<br>
[Derive Enum for U.Types.Direction2D<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091005163132<br>
 Ignore-this: 258e35a6f23f46039b9a8ee45187cdff<br>
]<br>
[Rearrange the GSCONFIG class in A.Gridselect<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091005023227<br>
 Ignore-this: 875080c8beabb81e19de44f7e60ca19d<br>
]<br>
[Add a GSCONFIG class to overload defaultGSConfig.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091003193804<br>
 Ignore-this: 220a13bf1ee145b18f28c66e32c79266<br>
<br>
 This uses -XOverlappingInstances to provide a fallback instance which uses the<br>
 focusedBorderColor and normalBorderColor, but that part is optional.<br>
<br>
 User&#39;s configs should use -XNoMonomorphismRestriction if they want to avoid<br>
 writing a type signature for myGSConfig.<br>
<br>
 Also, type variables become ambiguous in expressions like:<br>
<br>
 &gt; myGSConfig = defaultGSConfig { gs_navigate = neiu `M.union` gs_navigate defaultGSConfig }<br>
 &gt;     where neiu = M.map (\(x,y) (a,b) -&gt; (x+a,y+b)) $ M.fromList<br>
 &gt;             [((0,xK_n),(-1,0)) ,((0,xK_e),(0,1)) ,((0,xK_i),(1,0)) ,((0,xK_u),(0,-1))]<br>
<br>
 But that can be resolved with the appropriate (`asTypeOf`myGSConfig) applied to<br>
 the second defaultGSConfig, or the use of some other method for modifying<br>
 existing fields.<br>
]<br>
[Add a screenshots section in the A.GridSelect haddocks<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091004160816<br>
 Ignore-this: be358c0173df3d02b45526c134604f4e<br>
]<br>
[Fixed guard in WorkspaceByPos - condition got switched during transformation<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20091004085232<br>
 Ignore-this: 6685ef8ddff55c7758c2b77cfc65cbba<br>
]<br>
[A.CycleWindows update docs, use lib fn second instead of custom lambda<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20090926154700<br>
 Ignore-this: 7ec0d6a46d4a6255870b1e9c4a25c1bb<br>
]<br>
[Group functions in GridSelect haddock, add an inline screenshot.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091003181927<br>
 Ignore-this: 3c6f1c5aff4fe197aa965cbda23e1be7<br>
]<br>
[minor hlint cleanup of Prompt and XMonad.Prompt.* sub-modules<br>
<a href="mailto:sean.escriva@gmail.com">sean.escriva@gmail.com</a>**20090928204443<br>
 Ignore-this: 25e71f59bdcc5bf94c2d6f476833216b<br>
]<br>
[New module : X.H.SetCursor<br>
<a href="mailto:mail@n-sch.de">mail@n-sch.de</a>**20090915101327<br>
 Ignore-this: 2f0641155ada05dae955cd6941d52b70<br>
 Idea from Andres Salomon<br>
 (<a href="http://www.haskell.org/pipermail/xmonad/2009-September/008553.html" target="_blank">http://www.haskell.org/pipermail/xmonad/2009-September/008553.html</a>).<br>
]<br>
[Hyperlink modules named in WindowMenu, RestoreMinimized, and Minimize<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091003151325<br>
 Ignore-this: 5eb1496fd258fa0c43fb0a58136ccfff<br>
]<br>
[Mention X.L.Maximize and X.L.Minimize in WindowMenu documentation<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20091003111330<br>
 Ignore-this: 3a00a896509aa8646ae718005d7a1fc1<br>
]<br>
[Small style change in L.SimplestFloat<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091002001552<br>
 Ignore-this: d8be5d01d47833c70d220e0f1555c42f<br>
]<br>
[Use <a href="http://U.XUtils.fi" target="_blank">U.XUtils.fi</a> to make WindowMenu clearer<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20091001225736<br>
 Ignore-this: 63e73cd7c5de22b3e30e63c1e588e403<br>
]<br>
[Extended GridSelect<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090930152741<br>
 Ignore-this: 2999d891387e4db9746061b1a42264a4<br>
 1) Added another convenience wrapper that allows to select an X() action<br>
    from a given list.<br>
 2) Implemented the option to change the position of the selection diamond.<br>
 (Re-recorded from Bluetile repo, rebased to current darcs)<br>
]<br>
[WindowMenu based on GridSelect that displays actions for the focused window (re-recorded from Bluetile repo).<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090930155343<br>
 Ignore-this: b12a06c0321f3e9689ab8109a1fac0ac<br>
]<br>
[Use default handler in XMonad.Prompt.eventLoop<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20091001180402<br>
 Ignore-this: 10c9c856aec515d57f0f0a42bc727f1<br>
]<br>
[Remove redundant parentheses from L.MouseResizableTile<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090930212110<br>
 Ignore-this: 1853cde69ec03ce5b88726b4de05f2b0<br>
]<br>
[Use ErrorT instead of nested case for H.WorkspaceByPos<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090930204914<br>
 Ignore-this: c3f96fbbf0ce917c4962b297dea3b174<br>
]<br>
[Note that ManageDocks is preferred to A.DeManage<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090930204443<br>
 Ignore-this: dcb9e069a65980f83941ca58607a6ce5<br>
]<br>
[Factor out redundancy in L.MouseResizableTile.handleResize<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090930204151<br>
 Ignore-this: 77d8e635a06237b220f427fa64045a3a<br>
]<br>
[In a multi-head setup, move windows with a non-zero position upon creation to the right workspace.<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090930123341<br>
 Ignore-this: 4efdb9d64f33d70c48fb3797b635513e<br>
 Useful in a dual-head setup: Looks at the requested geometry of<br>
 new windows and moves them to the workspace of the non-focused<br>
 screen if necessary.<br>
]<br>
[Use LANGUAGE instead of -fglasgow-exts in L.MouseResizableTile<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090930200443<br>
 Ignore-this: 861364005402c2c34a20495dd2bb81f8<br>
]<br>
[Remove redundant ($) in A.Commands<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090930200311<br>
 Ignore-this: 63084d42007481b0e0ca5fd99d3ba083<br>
]<br>
[Fix haddock parse error in MouseResizableTile<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090930200143<br>
 Ignore-this: 34d9bbabcf48424121387e87931bf973<br>
]<br>
[A ResizableTile-like layout that can be resized using the mouse.<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090930121105<br>
 Ignore-this: 8941ecfb0e5653663db29e9f195e23f2<br>
 All separations between windows can be dragged to modify the layout.<br>
 Keyboard commands can also be used to achieve the same effect.<br>
]<br>
[Replaced more stuff in X.L.Maximize with pure versions<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090516233557<br>
 Ignore-this: ffafa9ce65efb2639a147493fb49c7e1<br>
]<br>
[Expanded on X.L.Maximize functionality<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090503001052<br>
 Ignore-this: b0d765b3bf6fc1e72cedebfd564236fc<br>
 1. Move maximized window into the background when it&#39;s not focused.<br>
 2. Changed semantics so that maximizing a different window will<br>
    automatically restore the currently maximized window and maximize the<br>
    new one (previously this had to be done in two seperate steps).<br>
]<br>
[EventHook to restore minimized windows from taskbar (re-recorded from Bluetile repo)<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090928231549<br>
 Ignore-this: 673b003c4e07b591046ed01e5f27a7ec<br>
]<br>
[LayoutModifier to minimize windows (re-recorded from Bluetile repo)<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090928231320<br>
 Ignore-this: 45830f2bf3bb8473c569582593844253<br>
]<br>
[Correctly check completionKey field in XMonad.Prompt<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090928093215<br>
 Ignore-this: 99e68a63fe156650cc8e96d31e6d1f5a<br>
]<br>
[Fix for issue 315<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090928091946<br>
 Ignore-this: 7de748d6cbd143b073451ba92ecec659<br>
]<br>
[Only use search history for completion in X.A.Search<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090920221455<br>
 Ignore-this: 807fcd4fa14a25ecc9787940f9950736<br>
]<br>
[Fix regression in XMonad.Prompt&#39;s completion<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090920205711<br>
 Ignore-this: 3c0e5a1f843be1981ecc3d40d43530d1<br>
]<br>
[Clean keymask before use in XMonad.Prompt<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090920201229<br>
 Ignore-this: 80903452f15352aef025b9979793fb8a<br>
]<br>
[Export moveCursor in XMonad.Prompt<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090920192513<br>
 Ignore-this: 7732b0444b26cd653190bb3a6e69346c<br>
]<br>
[U.EZConfig: Correct additionalKeysP M2-M5 values<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20090906070503<br>
 Ignore-this: 938c9739a8e00c07195890938e7c12fc<br>
 Was 8,9,10,11,12 rather than needed 8,16,32,64,128<br>
]<br>
[Factor out direction types and put them in X.U.Types<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090919191717<br>
 Ignore-this: b2255ec2754fcdf797b1ce2c082642ba<br>
<br>
 This patch factors out commonly used direction types like<br>
 data Direction = Prev | Next<br>
 and moves them to X.U.Types.<br>
]<br>
[Add function to disable focusFollowsMouse conditionally<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090829212916<br>
 Ignore-this: de73003672f76d955fe4476ca279cded<br>
<br>
 This patch adds an event hook to have the focus follow the mouse only<br>
 if a given condition is true.<br>
]<br>
[Make the keymap of XMonad.Prompt customizable<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090910160828<br>
 Ignore-this: 37c04043518d7e4e06b821b3438cbe03<br>
<br>
 This patch allows the user to change the keymap XMonad.Prompt and<br>
 related modules use to be customized using the XPConfig structure.<br>
]<br>
[Run gnomeRegister from startupHook<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090918023410<br>
 Ignore-this: 419959a33840264674d2c8034882b689<br>
]<br>
[Use U.Run.safeSpawn in C.Gnome<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090917233953<br>
 Ignore-this: b2476a239089a3fd3fe9001cf48e8f09<br>
]<br>
[Add gnomeRegister to C.Gnome.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090917232150<br>
 Ignore-this: 5b2960004418c04bdbb921e3aa777fc2<br>
<br>
 Credit to Joachim Breitner here:<br>
 <a href="http://www.haskell.org/pipermail/xmonad/2009-May/007984.html" target="_blank">http://www.haskell.org/pipermail/xmonad/2009-May/007984.html</a><br>
]<br>
[Remove excess broadcastMessage ReleaseResources from A.Commands<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090904010259<br>
 Ignore-this: e55e16750bd1ee116760559680495b46<br>
<br>
 XMonad.Operations.restart tells the layouts to release resources.  There&#39;s no<br>
 sense in duplicating it in contrib code anymore.<br>
]<br>
[Mark modules last-modified in 2007 as stable<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090904005147<br>
 Ignore-this: 53f7fde5684cd9f105cf4e3ce0d849d2<br>
<br>
 <a href="http://www.haskell.org/pipermail/xmonad/2009-July/008328.html" target="_blank">http://www.haskell.org/pipermail/xmonad/2009-July/008328.html</a><br>
]<br>
[Minor changes to my config<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090901024802<br>
 Ignore-this: 5196fb217e72153fc4fb32fb40ab18f<br>
]<br>
[Return True in X.H.FadeInactive.isUnfocused if current workspace is empty. (dschoepe)<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090828214537<br>
 Ignore-this: 56a3dac874f6430f10ad23870a4be38a<br>
]<br>
[Actually execute the correct command when giving user-defined commands to ServerMode<br>
Jan Vornberger &lt;<a href="mailto:jan.vornberger@informatik.uni-oldenburg.de">jan.vornberger@informatik.uni-oldenburg.de</a>&gt;**20090825233828<br>
 Ignore-this: 571e4d3ec5bcae56987c6e3b85b800b6<br>
]<br>
[Preserve backwards compatibility with H.ServerMode<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090825220348<br>
 Ignore-this: cd5df0c49e1d0f07ede1994da9c4c865<br>
]<br>
[Let the user decide which commands to use in X.H.ServerMode<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090825101630<br>
 Ignore-this: 3a1b95f85253ce6059f4528e23c5a3d3<br>
]<br>
[Improve/correct documentation in X.A.TagWindows<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090823131229<br>
 Ignore-this: e9adb7bf77eeebff42f564390c6ceedc<br>
]<br>
[Replace nextEvent with maskEvent to prevent GridSelect from swallowing unrelated events (such as map/unmap)<br>
Clemens Fruhwirth &lt;<a href="mailto:clemens@endorphin.org">clemens@endorphin.org</a>&gt;**20090809131055<br>
 Ignore-this: 6c3bc2487e4f011e0febe0935c223f2<br>
]<br>
[Better default for ppUrgent in xmobarPP<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090822183416<br>
 Ignore-this: ffdfad360d8fd5c5bfa38fd0549b8f19<br>
<br>
 Most users would expect workspaces with urgent windows to be highlighted in<br>
 xmobar when they set up an UrgencyHook. Hence, doing this by default in xmobarPP<br>
 makes sense. (dzenPP does the same)<br>
]<br>
[Add backwards compatability in X.H.FadeInactive<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090821225646<br>
 Ignore-this: d2ef91429d80fde5126b2aa8f0de9b1f<br>
]<br>
[More flexible interface for X.H.FadeInactive<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090821203936<br>
 Ignore-this: e905086d3fb640cbccf4eec2f11f293<br>
<br>
 This patch allows setting the opacity on a per-window basis and lets the<br>
 user specify it as a percentage instead of an Integer between 0 and 2^32-1.<br>
]<br>
[U.Scratchpad: doc add disable-factory flag to gnome-terminal example<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20090818192503<br>
 Ignore-this: 6fd874a236121b5669b0ec5944caf205<br>
 Few systems have --disable-factory on by default, but it&#39;s needed to<br>
 set custom resource string.<br>
 <a href="http://code.google.com/p/xmonad/issues/detail?id=308" target="_blank">http://code.google.com/p/xmonad/issues/detail?id=308</a><br>
]<br>
[A.CycleWS: add toggleOrView fns, fix doc, prevent head exception<br>
Wirt Wolff &lt;<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>&gt;**20090817215549<br>
 Ignore-this: 35acc32e696e665aca900721d309d1d3<br>
]<br>
[Add -fwarn-tabs to ghc-options for the regular build<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090814022108<br>
 Ignore-this: 203ea4e54936f8bb6c3c28446d069f88<br>
]<br>
[Don&#39;t use tabs in EwmhDesktops<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090813200119<br>
 Ignore-this: 59b1ade240aa75cf448620cd7a37579b<br>
]<br>
[Do not warn about unknown ClientMessageEvents<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20090812222917<br>
 Ignore-this: d02940888cd54cf209d6e5f4847548ab<br>
 Not all client messages are are meant to be handled by the wndow manager, so do<br>
 not complain when one is unknown.<br>
]<br>
[ScratchpadRewrite<br>
<a href="mailto:konstantin.sobolev@gmail.com">konstantin.sobolev@gmail.com</a>**20090428200136<br>
 Ignore-this: 17c946c04dae72f0873f0f5bb56c9f37<br>
 Scratchpad reimplementation in terms of NamedScratchpad. No interface changes.<br>
]<br>
[NS_Placement<br>
<a href="mailto:konstantin.sobolev@gmail.com">konstantin.sobolev@gmail.com</a>**20090428192731<br>
 Ignore-this: 7cf2d8d956c8e906b41731632db67e2a<br>
 Added ability to specify scratchpad manage hooks, mostly for defining window placement in a more flexible manner<br>
]<br>
[ThreeColMid - Swap slave window positions<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090503195026<br>
 Ignore-this: f2673e83386bc0e5d398d4e875537cc8<br>
 This patch will swap the positions of the two slave windows and this will result in a more intuitive window order. When using focusDown beginning in the master pane we will move in the following graphical order 2-&gt;3-&gt;1-&gt;2-&gt;3 instead of 2-&gt;1-&gt;3-&gt;2-&gt;1. This is backwards from what is expected.<br>

<br>
 The small drawback is that increasing from 2 to 3 windows (and therefore also columns) will behave in a less intuitive way. The window in the right column will jump to the left of the screen.<br>
<br>
 I think that it is a good idea to make this change since I rely a lot on the window order but people using WindowNavigation may be of a different opinion.<br>
<br>
 An alternative is to add an option to select in what way to behave, but that could be overkill... I leave it up to discussion and devs to decide.<br>
]<br>
[fix UrgencyHook docs (\a -&gt; \\a  in Haddock)<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090809184016<br>
 Ignore-this: a1fcfe2446184a8cea4553fd68565b58<br>
]<br>
[XMonad.Actions.Search: removeColonPrefix shouldn&#39;t throw an exception if no :!<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090808002224<br>
 Ignore-this: db0a25c0d615c3d8cb6ef31489919d91<br>
]<br>
[XMonad.Actions.Search: clean up hasPrefix - dupe of Data.List.isPrefixOf<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090808002120<br>
 Ignore-this: 3327a19e5aa23af649ce080fc38a7409<br>
]<br>
[XMonad.Actions.Search: +wikt<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090808000622<br>
 Ignore-this: cee8b1325820ea1f513ae18d840b4c48<br>
]<br>
[NoWrap export patch for use with X.L.MessageControl<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090128004726<br>
 Ignore-this: 2b76afa0547aaed5fb39454a074ec4c3<br>
]<br>
[new XMonad.Layout.MessageControl module<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090128013917<br>
 Ignore-this: cc28e0def6c797f6d1da8f23469a4f8<br>
]<br>
[U.NamedActions: align the descriptions for each section, refactor its integration with EZConfig<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090726032003<br>
 Ignore-this: f7132388b1f1fd2dbf03885ffa534c20<br>
]<br>
[U.NamedActions support subtitles bound to (0,0) unreachable normally<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090525002915<br>
 Ignore-this: fdb9f0f07663854049cade2f0f7c2ebd<br>
]<br>
[Add U.NamedActions: present a list of keybindings including submaps<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090504024017<br>
 Ignore-this: 181c3ee603c82e0c56406ba8552fd394<br>
]<br>
[Revert to old behavior where unmatched keys do not exit the eventloop for A.GridSelect<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090727012302<br>
 Ignore-this: 936cfd1e1b6243ced54e356f8067fac<br>
]<br>
[Share more mkAdjust calls L.LayoutHints in the LayoutHintsToCenter modifier<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090726061802<br>
 Ignore-this: baa33d5b38a7811b9f50b7d0f808ee75<br>
]<br>
[Make direction keybindings configurable in A.GridSelect<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090726020438<br>
 Ignore-this: 9cd675485270ccebec22df72eea40578<br>
]<br>
[LayoutBuilder - make an example more sane<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090513155732<br>
 Ignore-this: 772566441df97479c49b6b149b57fc27<br>
]<br>
[Clean Xkb masks in X.A.Submap<br>
Khudyakov Alexey &lt;<a href="mailto:alexey.skladnoy@gmail.com">alexey.skladnoy@gmail.com</a>&gt;**20090623164653<br>
 Ignore-this: 930e2bca230d5f403bf9c06650afc57b<br>
<br>
 Xkb adds its own mask and prevent Submap keybindings from normal<br>
 functioning when alternate layout is used. This patch cleans<br>
 these masks.<br>
<br>
]<br>
[Fix defaulting warning with A.RandomBackground<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090716234955<br>
 Ignore-this: 55dddcc134aa173d2c8e015fc462ff99<br>
]<br>
[Addition of Machine window property.<br>
Juraj Hercek &lt;<a href="mailto:juhe_xmonad@hck.sk">juhe_xmonad@hck.sk</a>&gt;**20090715105053<br>
 Ignore-this: d71d82bac7cc59ef462e728adaf5db01<br>
<br>
 This patch adds WM_CLIENT_MACHINE property to window properties.<br>
 I can be used to distinguish windows run from different machines.<br>
]<br>
[remove myself as maintainer from code I don&#39;t maintain.<br>
David Roundy &lt;<a href="mailto:droundy@darcs.net">droundy@darcs.net</a>&gt;**20090716153409<br>
 Ignore-this: 362988aeca1996474942fa29ffcccbce5e543e57<br>
]<br>
[X.A.CopyWindow: add wsContainingCopies, doc cleanup<br>
<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>**20090703011524<br>
 Ignore-this: 883899013707737d085476637a44695a<br>
 Use wsContainingCopies in a logHook to highlight hidden workspaces<br>
 with copies of the focused window. (refactored from original by aavogt)<br>
]<br>
[Add ability to copy the entered string in X.Prompt<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090709100703<br>
 Ignore-this: 4e8b98f281001d7540617d0ff6a3d4f3<br>
]<br>
[Correct license for L.CenteredMaster<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090708051616<br>
 Ignore-this: 31136b901a7dc476ea337678cbc8637f<br>
<br>
 Context for why I&#39;ve recorded the patch:<br>
        aavogt | portnov: did you get the message about your XMonad.Layout.CenteredMaster licence being not compatible with the licence of contrib?<br>
        portnov | aavogt: yep.  Could you change that yourself? I allow this to be distributed as bsd3. Making so small patch and sending it will get to much time :)<br>
        portnov | *so<br>
        aavogt | I can change it, its more about whether you would allow the change to be made<br>
        aavogt | but I guess this clears it up<br>
        portnov | i allow.<br>
]<br>
[Remove trailing whitespace from many modules<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090705201205<br>
 Ignore-this: 1e28ff0974578d329bd3d593c1a5125e<br>
]<br>
[Clarify documentation the Migrate message added to L.SubLayouts<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090705180014<br>
 Ignore-this: 1d47165904048edfe28414ec5ce7f3e<br>
]<br>
[Reduce a bit of recently introduced duplication in L.SubLayouts<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090705175145<br>
 Ignore-this: e87a5643938183eff156e08646cc71ac<br>
]<br>
[Add Migrate message to L.SubLayouts, for better support of moving windows between groups<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090705174934<br>
 Ignore-this: d76b2f3e5999999a489b843b4dde59f1<br>
]<br>
[L.SubLayouts: also run the layout being modified in a restricted environment<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090705174156<br>
 Ignore-this: 9defa5b6a59ed84a15f733bd979e1c45<br>
<br>
 This way, correct behavior can be expected if the layout runs ex. &#39;withWindowset<br>
 W.peek&#39;, instead of looking at its arguments.<br>
]<br>
[L.SubLayouts fix bug where previously run layouts would not get messages<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090705173504<br>
 Ignore-this: 1d54ddb6596173f2fb6f30a648d7f3ba<br>
]<br>
[Simplify A.WorkspaceCursors use of layout for state, add documentation<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090705050629<br>
 Ignore-this: 5a4cb6f165edd266a55e42ccedc8c0a7<br>
]<br>
[Add A.WorkspaceCursors, a generalization of Plane to arbitrary dimensions<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090702042609<br>
 Ignore-this: 54225917a34aa0785a97c8153ff32ab9<br>
<br>
 This is implemented as a layoutModifier, since that way the workspace<br>
 arrangment is preserved between restarts.<br>
]<br>
[Refactor A.OnScreen to use Maybe Monad<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090703021507<br>
 Ignore-this: d45331ad77662b356f12b3912ea3eac0<br>
]<br>
[Added XMonad.Actions.OnScreen<br>
<a href="mailto:mail@n-sch.de">mail@n-sch.de</a>**20090702101621<br>
 Ignore-this: 605666aeba92e1d53f03a480506ddf2f<br>
]<br>
[Remove code duplication in X.A.CopyWindow<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090702104933<br>
 Ignore-this: cbbbe68690dbb4b814cd48fa32d4720<br>
]<br>
[Cleanup code duplication in X.P.Layout and X.P.Workspace<br>
<a href="mailto:sean.escriva@gmail.com">sean.escriva@gmail.com</a>**20090701215640<br>
 Ignore-this: 8675be8952f8d100c9042bdcdb962d3a<br>
]<br>
[X.A.Search: use the new canonical package URL for hackage search<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090629192455]<br>
[X.H.ManageHelpers: add two new helper functions, doFloatDep and doFloatAt<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090605030113]<br>
[Keep track of whether messages should be given to new sublayouts in L.SubLayouts<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090628060608<br>
 Ignore-this: 647184c1b7f65c262c8cc15fdd0829d5<br>
]<br>
[Run sublayouts in L.Sublayouts in a restricted state<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090628060333<br>
 Ignore-this: f2a236d3dc0374bbc1c19b864baa7c86<br>
]<br>
[A.RandomBackground: Parameterize randomBg by a RandomColor data<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090629004147<br>
 Ignore-this: ba8042aa0f5d3221583aead9dced6cc<br>
]<br>
[Add A.RandomBackground, actions to start terminals with a random -bg option<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090627202755<br>
 Ignore-this: a90c98bb14a2f917d8552cd2563aeb49<br>
]<br>
[Replace most -fglasgow-exts with specific LANGUAGE pragmas<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090626025457<br>
 Ignore-this: 2274fdd689b0576a76d9f3373e9c7159<br>
]<br>
[Column_layout.dpatch<br>
<a href="mailto:portnov84@rambler.ru">portnov84@rambler.ru</a>**20090605184515<br>
 Ignore-this: ea5ebf0d6e8ac5c044d9291b3c55479d<br>
 This module defines layot named Column. It places all windows in one<br>
 column. Windows heights are calculated from equation: H1/H2 = H2/H3 = ... = q,<br>
 where `q&#39; is given (thus, windows heights forms a geometric progression). With<br>
 Shrink/Expand messages one can change the `q&#39; value.<br>
<br>
]<br>
[X.A.Search: add Google &quot;I&#39;m feeling lucky&quot; search<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090625173751<br>
 Ignore-this: 98bbdd4fbf12d7cd9fad6645653cb84b<br>
]<br>
[Add ifWindow and ifWindows and simplify WindowGo<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090624231711<br>
 Ignore-this: 4ed6e789034db8804accfe06a47ef4a2<br>
<br>
 This patch adds ifWindow and ifWindows as helper functions to<br>
 X.A.WindowGo and removes some boilerplate by rewriting other functions<br>
 in terms of those. Also some minor simplifications.<br>
]<br>
[Use -fwarn-tabs for test, remove tabs<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090624043831<br>
 Ignore-this: 84dfa0d9d50826527abbe7ff6acf4465<br>
]<br>
[From A.Topicspace split functions for storing strings with root to U.StringProp<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090623052537<br>
 Ignore-this: 543b172fbefa9feded94d792d01921c4<br>
<br>
 These functions will be used to send strings for execution by command line, in<br>
 xmonad-eval<br>
]<br>
[Correct A.TopicSpace sample config<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090623003937<br>
 Ignore-this: 68a6fed2943eb9982e32815168b6f297<br>
]<br>
[Add shiftNthLastFocused to A.TopicSpace<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090623002645<br>
 Ignore-this: 64f4fa63f4cc25f634f8fbc3276ef2a2<br>
]<br>
[Generalize Actions.SpawnOn<br>
Daniel Schoepe &lt;<a href="mailto:daniel.schoepe@gmail.com">daniel.schoepe@gmail.com</a>&gt;**20090622183825<br>
 Ignore-this: 8cfd0a4664ece5d721f52c59d4759a5f<br>
<br>
 Actions.SpawnOn can now be used to execute arbitrary manage hooks on<br>
 the windows spawned by a command(e.g. start a terminal of specific size<br>
 or floated).<br>
]<br>
[update callers of safeSpawn<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090622201423<br>
 Ignore-this: 484eca17b9877f7d587fc5bce8c5ae8a<br>
]<br>
[XMonad.Util.Run: improve definition so this can be used with emacs<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090622201401<br>
 Ignore-this: 984788359376e3d2bab0d1e86ff1276f<br>
]<br>
[XMonad.Actions.WindowGo: switch to safeSpawn, since everyone just passes a prog name (no shell scripting)<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090622193255<br>
 Ignore-this: 5515c72649471fac1ffcf4b68e1e0cf9<br>
]<br>
[XMonad.Util.Run: +convenience function for safeSpawn which drops args to the prog<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090622193018<br>
 Ignore-this: fc48265f252e015ffdc1792c6c9eaa12<br>
]<br>
[XMonad.Actions.WindowGo: improve haddocks<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090622192831<br>
 Ignore-this: 28dc1d5b094d50eaf6148fa9cc2d3755<br>
]<br>
[Fix window ordering bug in L.LimitWindows<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090622004309<br>
 Ignore-this: 7bcfffe335b765c081c18b103d9d450a<br>
]<br>
[L.LimitWindows add usage information, functions to modify the limit<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090622000115<br>
 Ignore-this: 813473c5f42540ed0d575bb273f8652<br>
]<br>
[Expand Tabbed documentation to describe mouse clicks processing<br>
Dmitry Astapov &lt;<a href="mailto:dastapov@gmail.com">dastapov@gmail.com</a>&gt;**20090621211947<br>
 Ignore-this: 185a5dba1c1333aa4a2e778f34417c39<br>
]<br>
[Close tabs by middle click on tab decoration<br>
Dmitry Astapov &lt;<a href="mailto:dastapov@gmail.com">dastapov@gmail.com</a>&gt;**20090621195225<br>
 Ignore-this: e3fb5d78b766f63a20ab4db064d8285c<br>
<br>
 I&#39;d better do it in xmonad.hs, but I can&#39;t decide what to expose from<br>
 Tabbed.hs to make it happed. Suggestions on how to make mouse click<br>
 handling hook a part of the Tabbed creation interface are very welcome<br>
 - my attempts turned out to be ugly in extreme.<br>
]<br>
[Provide means to find original window by its decoration.<br>
Dmitry Astapov &lt;<a href="mailto:dastapov@gmail.com">dastapov@gmail.com</a>&gt;**20090621194652<br>
 Ignore-this: fad8cb7fb4c2785b14b97d48f19604cc<br>
<br>
 In order to enable user to write custom `decorationMouseFocusHook&#39; and<br>
 `decorationMouseDragHook&#39; hooks we need to provide him with means to<br>
 lookup original window by its decoration.<br>
<br>
 Module Decoration has internal function `lookFor&#39; for exactly the same<br>
 purpose. I exported it under a slightly different name and without<br>
 exposing internals of DecorationState.<br>
]<br>
[Add L.LimitWindows layout modifier<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090619052731<br>
 Ignore-this: e91c07885f0ab662f70e0ebd82fb7a5d<br>
]<br>
[Remove Hooks.EventHook<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090618104318<br>
 Ignore-this: 14c32fddc8b7b0561e97eb1d09e27fd7<br>
<br>
 The Hooks.EventHook module is superseded by handleEventHook from core and should no longer be needed.<br>
]<br>
[use &#39;take 1&#39; instead of custom truncHead function in L.WindowNavigation<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090618010118<br>
 Ignore-this: ecbb2063337bb87108c12a3c3f8ceeba<br>
]<br>
[Correct many typos in the documentation, consistent US spellingg<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090618003729<br>
 Ignore-this: cf6dcf340fa6cc010f7879f188d376f5<br>
]<br>
[minor typo in ./XMonad/Layout/StackTile.hs<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20090617210345<br>
 Ignore-this: ddb5dff32e332cf378f2204e23335d43<br>
]<br>
[X.L.ResizableTile: make sure windows aren&#39;t resized to a height larger than the screen (fixes #298)<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090604123509]<br>
[X.A.PhysicalScreens: fix typo<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090602172148]<br>
[X.L.AutoMaster: fix warning<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090602171754]<br>
[AutoMaster.dpatch<br>
Ilya Portnov &lt;<a href="mailto:portnov84@rambler.ru">portnov84@rambler.ru</a>&gt;**20090426155401<br>
 Ignore-this: e5cbb04882671d6fcc56f181f7d0d292<br>
 Provides layout modifier AutoMaster. It separates screen in two parts -<br>
 master and slave. Size of slave area automatically changes depending on<br>
 number of slave windows.<br>
]<br>
[UpdatePointer - Don&#39;t warp while dragging with mouse<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090530185752<br>
 Ignore-this: 4c3769dc96041608660789573b670c23<br>
]<br>
[FlexibleResize - Resize from edge, don&#39;t move adjust at opposite edge<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090530185437<br>
 Ignore-this: 3c6c0748a4b0d14bd39bcb88f10aade6<br>
<br>
 When resizing other corners than bottom-right, instead of adjusting to even columns/rows on the opposite side to it the same way as if resizing was made from the bottom right.<br>
<br>
 Also add the possibility to add an area in the middle of an edge where only that edge is resized, not the closest corner.<br>
<br>
]<br>
[Remove USE_UTF8 defines.<br>
Khudyakov Alexey &lt;<a href="mailto:alexey.skladnoy@gmail.com">alexey.skladnoy@gmail.com</a>&gt;**20090419130909<br>
 They are not needed any more since utf8-string is mandatory dependence.<br>
]<br>
[FloatSnap - calculate gaps instead of snapping against unmanaged windows<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090526222942<br>
 Ignore-this: 4378f4c6c4f383c9a35acb503409d865<br>
<br>
 This patch will remove snapping against unmanaged windows, but instead calculate a new rectangle with all gaps (computed by ManageDocks) removed. This new rectangle is used to snap against. (Both the inside and outside of the rectangle.)<br>

<br>
 This will remedy the issue of snapping against multiple layers of the same window, additionally there will be no snap-points between windows on the same side. So if you are running two dzen side by side with half the screen each. You will not automatically have a snap-point in the middle.<br>

<br>
 Naturally, this patch will change which function is exported from ManageDocks.<br>
]<br>
[Fix L.Mosaic bug where stored [Rational] was not extended<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090525030734<br>
 Ignore-this: 55bb5b7fabc00f3dcc89e45cc416fc97<br>
]<br>
[X.A.Search: add Wolfram|Alpha search<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090525010419]<br>
[Remove L.ThreeColumnsMiddle compatiblity module<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090525003245<br>
 Ignore-this: daac5841cf203c0e0df865a6fb0db3a1<br>
<br>
 Signed off here too:<br>
 <a href="http://www.haskell.org/pipermail/xmonad/2009-May/007883.html" target="_blank">http://www.haskell.org/pipermail/xmonad/2009-May/007883.html</a><br>
]<br>
[A.FloatSnap snap to unmanaged docks too<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090525001834<br>
 Ignore-this: 46a856cae139d2e224ded985a9866ecf<br>
]<br>
[LayoutBuilder fix maintainer<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090524205957<br>
 Ignore-this: 380c279320cff67c60a9bbf9a49ec509<br>
]<br>
[FloatSnap fix maintainer<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090524205854<br>
 Ignore-this: d3932d211e9dc755be799d863b7d58e3<br>
]<br>
[X.A.FloatSnap - More configuration for magic resize, adaption for mouse bindings and some minor fixes<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090524201143<br>
 Ignore-this: d5fd9356e101b019735d54267a120ed<br>
]<br>
[X.A.FloatSnap - Assisted move/resize of windows<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090523235230<br>
 Ignore-this: 53af93bdf537cf3417cedd313e36bcbd<br>
<br>
 TODO: Try to snap against unmanaged windows such as dzen/xmobar.<br>
<br>
]<br>
[Simplyify L.Mosaic interface, and support resizing specific windows<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090524193810<br>
 Ignore-this: acea22bec582ee5eb076ac3bc862a9ea<br>
<br>
 The order previously was not as documented, which prevented resizing specific<br>
 windows.<br>
<br>
 The Mosaic constructor is hidden in favour of mosaic :: Rational -&gt; [Rational] -&gt; Mosaic a<br>
<br>
 Expand and Shrink messages are added, requiring another argument.<br>
<br>
 Remove useless demonstration of SlopeMod message since resizing the focused<br>
 window is better.<br>
]<br>
[L.ResizableTile document ResizableTall parameters with records<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090519024258<br>
 Ignore-this: a29502bc1302f18b9ae0062105a0e109<br>
]<br>
[L.LayoutHints, add layoutHintsToCentre<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090519013806<br>
 Ignore-this: a49106d5abb683d805e59beb29c727a9<br>
<br>
 layoutHintsToCentre attempts to apply hints in a way that eliminates gaps<br>
 between windows. The excess space ends up on all edges.<br>
]<br>
[Remove excess whitespace from L.LayoutHints<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090519013350<br>
 Ignore-this: b4bb5b6aeba95be047a102d07d916c48<br>
]<br>
[new layout module X.L.Spacing, put blank space around each window<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090514215552]<br>
[X.L.LayoutBuilder doc fix and cleaning<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090509195254<br>
 Ignore-this: 7cbf72ba48a2222b65615a02125d87ef<br>
]<br>
[X.L.LayoutBuilder custom layouts<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090509174627<br>
 Ignore-this: 65c251663f02a083c5838ae1d1bd112a<br>
<br>
 A layout combinator that sends a specified number of windows to one rectangle and the rest to another.<br>
]<br>
[submapDefault fix key leakage<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090426171002<br>
 Ignore-this: edb0a2a03b2ed2959cb7068ae601fa28<br>
]<br>
[Fix typo in L.Mosaic hints<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090508202937<br>
 Ignore-this: 5f2163e64d876f4982b0d6baf13e0614<br>
]<br>
[U.Loggers: add maildirNew, other loggers, and logger formatting utilities<br>
<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>**20090412041356<br>
 Ignore-this: 73240ab34348ad895c3d66c2a2e8e40f<br>
 Rework of the Logger portions of patches originally from <a href="mailto:seanmce33@gmail.com">seanmce33@gmail.com</a><br>
 to apply without conflicts, plus several formatting utilities for use with<br>
 X (Maybe String) aka Loggers.<br>
]<br>
[ThreeCol - Update docs to match reality<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090503190755<br>
 Ignore-this: e63f3ee533dd9bcf0f32da2316dde1dd<br>
]<br>
[Remove some excess whitespace in XMonad.AppLauncher<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090503183416<br>
 Ignore-this: b5bfa9625b5b080c20398cf1aa396a08<br>
]<br>
[Export ThreeColMid from L.ThreeColumnsMiddle<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090425161710<br>
 Ignore-this: f08d23d108ae9aa4ad176fd9dd275409<br>
<br>
 The configs that import it should continue to work with this module, though the<br>
 type of the ThreeColMid constructor is now ThreeCol (previously ThreeColMid).<br>
]<br>
[ThreeColumns support middle column, with more backwards compatiblity<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090414061819<br>
 Ignore-this: 5a8991269904986e0e012e955c6d4712<br>
]<br>
[X.L.ThreeColumnsMiddle merged into X.L.ThreeColumns with some new features<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090411113636<br>
 Ignore-this: 1d5bb8de98f8ade3780444ed99f5a12f<br>
]<br>
[nameTail - Remove the first word of a layout description<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090503105950<br>
 Ignore-this: a44c5e38163ed98ffc244cdd206632d1<br>
]<br>
[Add H.InsertPosition: add new windows to different positions in a workspace<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090503020303<br>
 Ignore-this: 7e7d5fa5b42698799cabe600159a75f7<br>
]<br>
[Add changeMaster function to L.Mosaic<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090501233136<br>
 Ignore-this: eca2a48fb987bb871ad93e6c6bf1a186<br>
]<br>
[Optimizer bug does not affect 6.10.2 (issue 226)<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090430034823<br>
 Ignore-this: f43f9bf9502ebb19743c3b417ef02347<br>
]<br>
[Remove -XScopedTypeVariables requirement with L.SubLayouts<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090428222749<br>
 Ignore-this: dbb08e3c1641796603fdaf7b929cdf6d<br>
<br>
 This should keep the code -Wall clean on ghc-6.8 in addition to ghc-6.10<br>
]<br>
[Add SubLayouts: a layout combinator for nesting layouts.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090423013135<br>
 Ignore-this: abb21b19bfbc567953419b3035b6a295<br>
]<br>
[Document and extend BoringWindows to support multiple sources of boring.<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090406041301<br>
 Ignore-this: 7375c8912ede6a6a44db4a4b91ffbc33<br>
<br>
 The Replace and Merge messages are added to support layouts sending a list of<br>
 windows that should be skipped over. The sources are tagged by a string key, so<br>
 it is possible though unlikely for different sources of boring windows to<br>
 interfere with eachother.<br>
]<br>
[Add Apply message to L.WindowNavigation<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090303065701<br>
 Ignore-this: e808729ddd2375778a96775568b8b621<br>
]<br>
[X.A.TopicSpace: remove the allTopics lists from the configuration.<br>
Nicolas Pouillard &lt;<a href="mailto:nicolas.pouillard@gmail.com">nicolas.pouillard@gmail.com</a>&gt;**20090423172939<br>
 Ignore-this: 1ac344b32865b38e53b968cc037b0a01<br>
]<br>
[added colour themes<br>
<a href="mailto:perlkat@katspace.org">perlkat@katspace.org</a>**20090227065315<br>
 These themes are colour themes only; they use the default font settings.<br>
 I thought the existing themes were rather dull, so these give more bright<br>
 (but tasteful) colours; shades of peacock feathers, shades of autumn.<br>
]<br>
[Prompt.hs: setSuccess True also on Keypad Enter<br>
<a href="mailto:sean.escriva@gmail.com">sean.escriva@gmail.com</a>**20090409162609<br>
 Ignore-this: cf04f87c546f89bd32a94de3a2a93b22<br>
]<br>
[Update focus on mouse moves within inactive windows<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090407191819<br>
 Ignore-this: 36c05c60420520dab708401d8a80fc85<br>
<br>
 This patch adds functionality to update the focus on moves in unfocused windows, which would make sense if one wanted the focus to follow the mouse.<br>
 Currently this only happens when the mouse enters/leaves a window.<br>
 This patch should fix issue #205.<br>
]<br>
[Add promoteWarp event to L.MagicFocus<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090322221456<br>
 Ignore-this: 12ad5fc144a35fb605f53b744d8146ef<br>
<br>
 This event enables A.UpdatePointer behavior without causing infinite loops in<br>
 combination with magicFocus<br>
]<br>
[Add TowardsCentre option to UpdatePointer<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090322215811<br>
 Ignore-this: d543d8f090b03a6c26b3a0427be3a051<br>
<br>
 This option is like Nearest, but it places the pointer a configurable<br>
 percentage towards the centre of the window, instead of right at the edge.<br>
]<br>
[Remove excess whitespace in A.UpdatePointer<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090322215553<br>
 Ignore-this: 6fbc63642b946461e0fafcb44016824<br>
]<br>
[Combo fix ReleaseResources when no windows are available, new fix<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090224172018<br>
 Ignore-this: b59603df8e4cfc1fb2cf9070cea615b3<br>
]<br>
[OneBig_resize.dpatch<br>
<a href="mailto:portnov84@rambler.ru">portnov84@rambler.ru</a>**20090221142300<br>
 Ignore-this: c02b25bd370ee449aab28005eb4418cf<br>
 Add Shrink/Expand messages handling for OneBig layout.<br>
]<br>
[OneBig_layout.dpatch<br>
<a href="mailto:portnov84@rambler.ru">portnov84@rambler.ru</a>**20090220172634<br>
 Ignore-this: 9d4f308d13f003aa4236417307a66c15<br>
 Add the OneBig layout, which places one (master) window at top left corner of<br>
 screen (width and height of master window are parameters of layout), and other<br>
 (slave) windows at bottom and at right of master, trying to give equal space<br>
 for each slave window.<br>
]<br>
[Properly encode destop names before sending them to X server in XMonad.Hooks.EwmhDesktops<br>
Khudyakov Alexey &lt;<a href="mailto:alexey.skladnoy@gmail.com">alexey.skladnoy@gmail.com</a>&gt;**20090220184137<br>
 Ignore-this: 6a22ea8bdc49f8484e18f04aaeb545ae<br>
]<br>
[Make utf8-string regular dependency<br>
Khudyakov Alexey &lt;<a href="mailto:alexey.skladnoy@gmail.com">alexey.skladnoy@gmail.com</a>&gt;**20090220183318<br>
 Ignore-this: b38936b037c1172ec69905fa345f7afe<br>
<br>
 The reason for this is that EWMH specification require<br>
 utf8 encoded strings.<br>
]<br>
[Update haddock description for Actions.GridSelect<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090422172510<br>
 Ignore-this: db5a2c009f7e88647f168ccb225d6219<br>
]<br>
[X.H.DynamicLog: provides trim, inverse of pad<br>
<a href="mailto:sean.escriva@gmail.com">sean.escriva@gmail.com</a>**20090409163513<br>
 Ignore-this: 9d92ff592f2bc4f041b85d1314058fdc<br>
]<br>
[Mouse support for GridSelect<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090409223302<br>
 Ignore-this: 38669e39c8676233d71f457c0b697500<br>
<br>
 GridSelect now allows selecting an element by a click with the left mouse button.<br>
]<br>
[Generalize GridSelect to arbitrary elements<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090409155704<br>
 Ignore-this: 69fbce85232871482adcce06c1a5fe62<br>
<br>
 This patch generalizes Actions.GridSelect to work for arbitrary (String,a)-lists. The changes break configurations that used `gridSelect&#39; directly, which is now named gridSelectWindow. As an example for uses of the GridSelect-UI, I included a function to spawn an application from a list of commands(`spawnSelected&#39;).<br>

]<br>
[Improve composability of X.H.Place, drop simple(st)Float support<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090415184550<br>
 Ignore-this: 8a0fb64aa0db27b242b7ad4bcba1a3ca<br>
]<br>
[Fixed X.H.Place.position<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090409084946<br>
 Ignore-this: 29e3936800194916a859976ff126dbfe<br>
]<br>
[Module for automatic placement of floating windows<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090408080953<br>
 Ignore-this: 1874df995fc02a0b80051db39d91a2e1<br>
]<br>
[X.H.FloatNext: new module, float the next spawned window(s)<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090415181907<br>
 Ignore-this: 95e1c9daa3ca43bfb058f6a881a97f3a<br>
]<br>
[ComboP<br>
<a href="mailto:konstantin.sobolev@gmail.com">konstantin.sobolev@gmail.com</a>**20090415014327<br>
 Ignore-this: 73bb986165a7bba466aae789a5448170<br>
]<br>
[New module: XMonad.Actions.TopicSpace<br>
Nicolas Pouillard &lt;<a href="mailto:nicolas.pouillard@gmail.com">nicolas.pouillard@gmail.com</a>&gt;**20090419085239<br>
 Ignore-this: 4c20592ea6ca74f38545c5a1a002ef91<br>
]<br>
[NamedScratchpad<br>
<a href="mailto:konstantin.sobolev@gmail.com">konstantin.sobolev@gmail.com</a>**20090419045542<br>
 Ignore-this: b442cb08123d2413e0bb144a73bf3f57<br>
]<br>
[More configurability for Layout.NoBorders (typeclass method)<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090325050206<br>
 Ignore-this: 91fe0bc6217b910b7348ff497b922e11<br>
<br>
 This method uses a typeclass to pass a function to the layoutmodifier. It is<br>
 flexible, but a bit indirect and perhaps the flexibility is not required.<br>
]<br>
[Add XMonad.Actions.PhysicalScreens<br>
<a href="mailto:nelhage@mit.edu">nelhage@mit.edu</a>**20090321001320<br>
<br>
 Add an XMonad.Actions.PhysicalScreens contrib module that allows<br>
 addressing of screens by physical ordering, rather than the arbitrary<br>
 ScreenID.<br>
]<br>
[pointWithin has moved to the core<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20081008154245]<br>
[UpdatePointer even to empty workspaces<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20081007080041<br>
 This makes UpdatePointer more Xinerama-compatible: If the user switches to a<br>
 screen with an empty workspace, the pointer is moved to that workspace, which I<br>
 think is expected behavoiur.<br>
]<br>
[More predictable aspect ratio in GridVariants.Grid<br>
Norbert Zeh &lt;<a href="mailto:nzeh@cs.dal.ca">nzeh@cs.dal.ca</a>&gt;**20090311013617<br>
<br>
 The old version fairly arbitrarily decided to prefer windows that are too<br>
 high over those that are too wide.  The new version chooses the number of<br>
 columns so that all windows on the screen are as close as possible to the<br>
 desired aspect ratio.  As a side effect, the layout changes much more<br>
 predictably under addition and removal of clients.<br>
]<br>
[X.L.Master: fix number of windows<br>
Ismael Carnales &lt;<a href="mailto:icarnales@gmail.com">icarnales@gmail.com</a>&gt;**20090301051509<br>
 Ignore-this: 2af132159450d4fb72eb52024eda71b5<br>
]<br>
[U.EZConfig: add xK_Print &lt;Print&gt; to special keys<br>
<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>**20090302230741<br>
 Ignore-this: 9560b7c7c4424edb5cea6eec45e2b41d<br>
 Many setups are expecting xK_Print rather than<br>
 xK_Sys_Req, so make it available in additionalKeysP.<br>
]<br>
[More flexibility for H.FadeInactive<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090309160020<br>
 Ignore-this: ebfa2eadb439763276b372107cdf8d6c<br>
]<br>
[Prompt.Shell: escape ampersand<br>
Valery V. Vorotyntsev &lt;<a href="mailto:valery.vv@gmail.com">valery.vv@gmail.com</a>&gt;**20090312091314<br>
 Ignore-this: 7200b76af8109bab794157da46cb0030<br>
<br>
 Ampersand (&amp;) is a special character and should be escaped.<br>
]<br>
[Cleanup X.L.Mosaic, without breaking it<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090219022417<br>
 Ignore-this: d49ed55fe8dc2204256dff9252384745<br>
]<br>
[X.L.Mosaic: prevent users from causing non-termination with negative elements<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090210022727<br>
 Ignore-this: 370a7d6249906f1743c6692758ce5aeb<br>
]<br>
[better Layout.NoBorders.smartBorders behavior on xinerama<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090314170058<br>
 Ignore-this: 36737ce2fa2087c4a16ddf226d3b0f0a<br>
<br>
 Now smartBorders shows borders when you have multiple screens with one window<br>
 each. In the case where only one window is visible, no borders are drawn.<br>
]<br>
[H.DynamicLog: revised dzenStrip and xmobarStrip functions<br>
<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>**20090314041517<br>
 Ignore-this: 9897c60b8dfc59344939b7aebc370953<br>
 Reconcile darcswatch patch with pushed version of dzenStrip.<br>
]<br>
[X.H.DynamicLog: Add dzenStrip to remove formatting, for use in dzenPP&#39;s ppUrgent.<br>
Braden Shepherdson &lt;<a href="mailto:Braden.Shepherdson@gmail.com">Braden.Shepherdson@gmail.com</a>&gt;**20090314032818<br>
 Ignore-this: fd96a1a4b112d0f71589b639b83ec3e<br>
 This function was written by Wirt Wolff. This change should allow UrgencyHook<br>
 to work out of the box with dzen and dzenPP, rather than the colours being<br>
 overridden so even though UrgencyHook is working, it doesn&#39;t change colours.<br>
]<br>
[X.H.ManageHelpers: export isInProperty<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090308201112]<br>
[L.Cross: clarify documentation<br>
<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>**20090222042220<br>
 Ignore-this: 4a5dcf71e63d045f27e2340e1def5cc8<br>
 Amend-record earlier patch to work with byorgey&#39;s fix,<br>
 this one is just the documentation typo fixes and<br>
 clarifications.<br>
]<br>
[documentation for IndependentScreens<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20090221235959]<br>
[eliminate a haddock warning in BoringWindows<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20090221235836]<br>
[merge IndependentScreens<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20090221232142]<br>
[add IndependentScreens to xmonad-contrib.cabal<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20090221231632]<br>
[add type information for IndependentScreens<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20090221231525]<br>
[add some boilerplate comments at the top of IndependentScreens<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090221230850]<br>
[IndependentScreens, v0.0<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20090221225229]<br>
[U.Run: remove waitForProcess to close Issue 268<br>
<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>**20090220214153<br>
 Ignore-this: a6780565fde40a4aac9023cc55fc2273<br>
 <a href="http://code.google.com/p/xmonad/issues/detail?id=268" target="_blank">http://code.google.com/p/xmonad/issues/detail?id=268</a><br>
 Submitting with some trepidation, since I&#39;ve nearly no<br>
 understanding of process handling. Should be ok, no<br>
 warnings by sjanssen when asking about it in hpaste or<br>
 earlier email, and tested locally by spawning excessive<br>
 numbers of dzens: did not leave zombies or raise exceptions.<br>
]<br>
[change Cross data declaration into a record so that Haddock will parse the per-argument comments<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090221224742]<br>
[X.L.Master: turn it to a Layout modifier and update the code<br>
Ismael Carnales &lt;<a href="mailto:icarnales@gmail.com">icarnales@gmail.com</a>&gt;**20090213020453<br>
 Ignore-this: 69513ad2b60dc4aeb49d64ca30e6f9f8<br>
]<br>
[Use doShift in my config<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090219042040<br>
 Ignore-this: 1f103d21bbceec8d48384f975f18eaec<br>
]<br>
[SpawnOn: use doShift.  This resolves problems where SpawnOn would shift the wrong window<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090219041856<br>
 Ignore-this: 6ae639a638db8eff77203f3f2e481a4e<br>
]<br>
[SpawnOn: delete seen pids<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090213013011<br>
 Ignore-this: 8b15a60bba1edf1bab5fb77ac54eb12f<br>
]<br>
[X.U.Loggers: handle possible EOF (reported by dyfrgi)<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090216213842]<br>
[U.Scratchpad: add general spawn action to close issue 249<br>
<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>**20090214003642<br>
 Ignore-this: 925ad9db4ecc934dcd86320f383ed44a<br>
 Adds scratchpadSpawnActionCustom where user specifies how to set<br>
 resource to &quot;scratchpad&quot;. This allows use of gnome-terminal, etc.<br>
 Add detail to RationalRectangle documentation; strip trailing spaces.<br>
]<br>
[SpawnOn: add &#39;exec&#39; to shell strings where possible<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090212234608<br>
 Ignore-this: c7de4e05803d60b10f38004dcbda4732<br>
]<br>
[Add Cross Layout<br>
&#39;Luis Cabellos &lt;<a href="mailto:zhen.sydow@gmail.com">zhen.sydow@gmail.com</a>&gt;&#39;**20090209174802]<br>
[Fix an undefined in EwmhDesktops<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090209152308<br>
 Ignore-this: f60a43d7ba90164ebcf700090dfb2480<br>
]<br>
[X.U.WindowProperties: docs (description and sections)<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090208231422]<br>
[X.U.WindowProperties: Add getProp32 and getProp32s, helpers to get properties from windows<br>
Ismael Carnales &lt;<a href="mailto:icarnales@gmail.com">icarnales@gmail.com</a>&gt;**20090205013031<br>
 Ignore-this: c5481fd5d97b15ca049e2da2605f65c1<br>
]<br>
[cleanup and make X.L.Mosaic behavior more intuitive wrt. areas<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090208221629<br>
 Ignore-this: 3c3c6faa203cbb1c1db909e5bf018b6f<br>
]<br>
[minor typo in XMonad/Util/EZConfig.hs<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20090208192224<br>
 Ignore-this: 7ffee60858785c3e31fdd5383c9bb784<br>
]<br>
[Multimedia keys support for EZConfig<br>
Khudyakov Alexey &lt;<a href="mailto:alexey.skladnoy@gmail.com">alexey.skladnoy@gmail.com</a>&gt;**20090207173330<br>
 Ignore-this: 21183dd7c192682daa18e3768828f88d<br>
]<br>
[+A.CycleWindows: bindings to cycle windows in new ways<br>
<a href="mailto:wirtwolff@gmail.com">wirtwolff@gmail.com</a>**20090207170622<br>
 Ignore-this: 51634299addf224cbbc421adb4b048f5<br>
 Provides binding actions and customizable pure stack operations<br>
 to cycle through a list of permutations of the stack (recent),<br>
 cycle nth into focus, cycle through focus excluding a neighbor,<br>
 cycle unfocused, shift a window halfway around the stack.<br>
 Esp. for Full, two or three pane layouts, but useful for any<br>
 layout with many windows.<br>
]<br>
[XMonad.Actions.CopyWindow: fmt &amp; qualify stackset import<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090206171833<br>
 Ignore-this: 4d08f5a7627020b188f59fc637b53ae8<br>
]<br>
[XMonad.Actions.CopyWindow runOrCopy<br>
<a href="mailto:lan3ny@gmail.com">lan3ny@gmail.com</a>**20080602205742]<br>
[ManageHelpers: reduce duplicated code in predicates<br>
Ismael Carnales &lt;<a href="mailto:icarnales@gmail.com">icarnales@gmail.com</a>&gt;**20090204021847<br>
 Ignore-this: e28a912d4f897eba68ab3edfddf9f26b<br>
]<br>
[Remove X.U.SpawnOnWorkspace (superseded by X.A.SpawnOn)<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090204103635]<br>
[X.A.SpawnOn: add docs<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090204102424<br>
 Add more documentation, including documentation from<br>
 X.U.SpawnOnWorkspace by Daniel Schoepe.<br>
]<br>
[Remove silliness from XMonad.Doc.Configuring<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090204055626]<br>
[Adjustments to use the new event hook feature instead of Hooks.EventHook<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090203160046<br>
 Ignore-this: f8c239bc8e301cbd6fa509ef748af542<br>
]<br>
[Easier Colorizers for X.A.GridSelect<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090128001702<br>
 Ignore-this: df3e0423824e40537ffdb4bc7363655d<br>
]<br>
[X.A.SpawOn: fix usage doc<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090202102042]<br>
[Added GridVariants.SplitGrid<br>
Norbert Zeh &lt;<a href="mailto:nzeh@cs.dal.ca">nzeh@cs.dal.ca</a>&gt;**20090129152146<br>
<br>
 GridVariants.TallGrid behaved weird when transformed using Mirror<br>
 or Reflect.  The new layout SplitGrid does away with the need for<br>
 such transformations by taking a parameter to specify horizontal<br>
 or vertical splits.<br>
]<br>
[FixedColumn: added missing nmaster to the usage doc<br>
Ismael Carnales &lt;<a href="mailto:icarnales@gmail.com">icarnales@gmail.com</a>&gt;**20090130195239<br>
 Ignore-this: 642aa0bc9e68e7518acc8af30324b97a<br>
]<br>
[XMonad.Actions.Search: fix whitespace &amp; tabs<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090129025246<br>
 Ignore-this: 894e479ccc46160848c4d70c2361c929<br>
]<br>
[xmonad-action-search-intelligent-searchengines<br>
Michal Trybus &lt;<a href="mailto:komar007@gmail.com">komar007@gmail.com</a>&gt;**20090128101938<br>
 Changed the XMonad.Action.Search to use a function instead of String to prepare the search URL.Added a few useful functions used to connect many search engines together and do intelligent prefixed searches (more doc in haddock)The API has not changed with the only exception of search function, which now accepts a function instead of String.<br>

]<br>
[XMonad.Prompt autocompletion fix<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090127184145<br>
 Ignore-this: 635cbf6420722a4edef1ae9c40b36e1b<br>
]<br>
[X.A.SinkAll: re-add accidentally deleted usage documentation<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090127222533]<br>
[move XMonad.Actions.SinkAll functionality to more general XMonad.Actions.WithAll, and re-export sinkAll from X.A.SinkAll for backwards compatibility<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090127222355]<br>
[adds generic &#39;all windows on current workspace&#39; functionality<br>
<a href="mailto:loupgaroublond@gmail.com">loupgaroublond@gmail.com</a>**20081221224850]<br>
[placement patch to XMonad.Layout.LayoutHints<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090126195950<br>
 Ignore-this: 87a5efa9c841d378a808b1a4309f18<br>
]<br>
[XMonad.Actions.MessageFeedback module<br>
<a href="mailto:quentin.moser@unifr.ch">quentin.moser@unifr.ch</a>**20090126181059<br>
 Ignore-this: 82e58357a44f98c35ccf6ad0ef98b552<br>
]<br>
[submapDefault<br>
Anders Engstrom &lt;<a href="mailto:ankaan@gmail.com">ankaan@gmail.com</a>&gt;**20090118152933<br>
 Ignore-this: c8958d47eb584a7de04a81eb087f05d1<br>
 Add support for a default action to take when the entered key does not match any entry.<br>
]<br>
[X.A.CycleWS: convert tabs to spaces (closes #266)<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090127185604]<br>
[Mosaic picks the middle aspect layout, unless overriden<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090126032421<br>
 Ignore-this: aaa31da14720bffd478db0029563aea5<br>
]<br>
[Mosaic: stop preventing access to the widest layouts<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090125045256<br>
 Ignore-this: c792060fe2eaf532f433cfa8eb1e8fe3<br>
]<br>
[X.L.Mosaic add documentation, update interface and aspect ratio behavior<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090125041229<br>
 Ignore-this: e78027707fc844b3307ea87f28efed73<br>
]<br>
[Use currentTag, thanks asgaroth<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090125213331<br>
 Ignore-this: dd1a3d96038de6479eca3b9798d38437<br>
]<br>
[Support for spawning most applications on a specific workspace<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090125191045<br>
 Ignore-this: 26076d54b131e037b42c87e4fde63200<br>
]<br>
[X.L.Mosaic: haddock fix<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20090124235908]<br>
[A mosaic layout based on MosaicAlt<br>
Adam Vogt &lt;<a href="mailto:vogt.adam@gmail.com">vogt.adam@gmail.com</a>&gt;**20090124022058<br>
 Ignore-this: 92bad7498f1ac402012e3eba6cbb2693<br>
<br>
 The position of a window in the stack determines its position and layout. And<br>
 the overall tendency to make wide or tall windows can be changed, though not<br>
 all of the options presented by MosaicAlt can be reached, the layout changes<br>
 with each aspect ratio message.<br>
<br>
]<br>
[uninstallSignalHandlers in spawnPipe<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090122002745<br>
 Ignore-this: e8cfe0f18f278c95d492628da8326fd7<br>
]<br>
[Create a new session for spawnPiped processes<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090122000441<br>
 Ignore-this: 37529c5fe8b4bf1b97fffb043bb3dfb0<br>
]<br>
[TAG 0.8.1<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090118220647]<br>
[Use spawnOn in my config<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090117041026<br>
 Ignore-this: 3f92e4bbe4f2874b86a6c7ad66a31bbb<br>
]<br>
[Add XMonad.Actions.SpawnOn<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090117040432<br>
 Ignore-this: 63869d1ab11f2ed5aab1690763065800<br>
]<br>
[Bump version to 0.8.1<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090116223607<br>
 Ignore-this: 1c201e87080e4404f51cadc108b228a1<br>
]<br>
[Compile without optimizations on x86_64 and GHC 6.10<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090108231650<br>
 Ignore-this: a803235b8022793f648e8953d9f05e0c<br>
 This is a workaround for <a href="http://xmonad.org/bugs/226" target="_blank">http://xmonad.org/bugs/226</a><br>
]<br>
[Update all uses of doubleFork/waitForProcess<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090116210315<br>
 Ignore-this: 4e15b7f3fd6af3b7317449608f5246b0<br>
]<br>
[Update to my config<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20090116204553<br>
 Ignore-this: 81017fa5b99855fc8ed1fe8892929f53<br>
]<br>
[Adjustments to new userCode function<br>
Daniel Schoepe &lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;**20090110221310]<br>
[X.U.EZConfig: expand documentation<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090116153143]<br>
[add a bit of documentation to HintedTile<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090114065126]<br>
[ManageHelpers: add isDialog<br>
<a href="mailto:johanngiwer@web.de">johanngiwer@web.de</a>**20090108232505]<br>
[CenteredMaster<br>
<a href="mailto:portnov84@rambler.ru">portnov84@rambler.ru</a>**20090111134513<br>
<br>
 centerMaster layout modifier places master window at top of other, at center of screen. Other windows are managed by base layout.<br>
 topRightMaster is similar, but places master window at top right corner.<br>
]<br>
[XMonad.Util.XSelection: update maintainer information<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20090110213000<br>
 Ignore-this: 1592ba07f2ed5d2258c215c2d175190a<br>
]<br>
[X.U.XSelection: get rid of warning about missing newline, add Haddock link<br>
Brent Yorgey &lt;<a href="mailto:byorgey@cis.upenn.edu">byorgey@cis.upenn.edu</a>&gt;**20090102194357]<br>
[adds haddock documentation for transformPromptSelection<br>
<a href="mailto:loupgaroublond@gmail.com">loupgaroublond@gmail.com</a>**20090102190954<br>
<br>
 also renames the function per mailing list recommendation<br>
]<br>
[adds a weird function to XSelection<br>
<a href="mailto:loupgaroublond@gmail.com">loupgaroublond@gmail.com</a>**20081222020730<br>
<br>
 This enables you to pass a function of (String -&gt; String) to a selection function to modify the string before executing it.  This way, you can input your own escape routines to make it shell command line safe, and/or do other fancier things.<br>

]<br>
[ThreeColumnsMiddle<br>
<a href="mailto:xmonad@c-otto.de">xmonad@c-otto.de</a>**20090102091019]<br>
[fix-fromJust-errors<br>
<a href="mailto:rupa@lrrr.us">rupa@lrrr.us</a>**20081224045509<br>
<br>
 bogner wrote all this stuff and i just tested it.<br>
<br>
 I had:<br>
<br>
 myLogHook = ewmhDesktopLogHookCustom ScratchpadFilterOutWorkspace &gt;&gt; updatePointer Nearest<br>
<br>
 Everytime I invoked or hid Scratchpad, it would leave a &#39;Maybe.fromJust: Nothing&#39; line in .xsession-errors, and updatePointer would stop working.<br>
<br>
]<br>
[ Prompt: Change Filemode to 600 for history-file (fixes bug 244)<br>
Dominik Bruhn &lt;<a href="mailto:dominik@dbruhn.de">dominik@dbruhn.de</a>&gt;**20081218001601]<br>
[X.L.Monitor: changes in message passing<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081226220851<br>
 - transform mbName (Maybe String) to name (String)<br>
 - slghtly change semantics of messages, document it<br>
]<br>
[X.L.Monitor: change interface<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081226213118<br>
 - remove add*Monitor<br>
 - add manageMonitor, monitor template<br>
]<br>
[X.U.WindowProperties: propertyToQuery+docs<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081225080702]<br>
[X.L.Monitor: docs<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081225073904]<br>
[hlintify XUtils, XSelection, Search, WindowGo<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081220153302<br>
 Ignore-this: 7e877484e3cd8954b74232ea83180fa9<br>
]<br>
[fix focus issue for XMonad.Actions.Warp.banishScreen<br>
Norbert Zeh &lt;<a href="mailto:nzeh@cs.dal.ca">nzeh@cs.dal.ca</a>&gt;**20081212203532<br>
<br>
 This patch ensures that the focus (or in fact the whose windowset)<br>
 does not change as a result of a banishScreen.  The way this is implemented<br>
 will become problematic if xmonad ever goes multithreaded.<br>
]<br>
[addition of XMonad.Actions.Warp.banishScreen<br>
Norbert Zeh &lt;<a href="mailto:nzeh@cs.dal.ca">nzeh@cs.dal.ca</a>&gt;**20081212192621<br>
<br>
 This works on top of warpToScreen and, thus, suffers from the same issue:<br>
 focus change.<br>
]<br>
[fixed documentation for banish<br>
Norbert Zeh &lt;<a href="mailto:nzeh@cs.dal.ca">nzeh@cs.dal.ca</a>&gt;**20081212191819<br>
<br>
 banish actually warps to the specified corner of the current window, not<br>
 the screen.<br>
]<br>
[addition of combined TallGrid layout<br>
Norbert Zeh &lt;<a href="mailto:nzeh@cs.dal.ca">nzeh@cs.dal.ca</a>&gt;**20081212184836<br>
<br>
 Added a module XMonad.Layouts.GridVariants, which defines layouts<br>
 Grid and TallGrid.  The former is a customizable version of Grid.  The latter<br>
 is a combination of Grid and Tall (see doc of the module).<br>
]<br>
[Add FixedColumn, a layout like Tall but based on the resize hints of windows<br>
Justin Bogner &lt;<a href="mailto:mail@justinbogner.com">mail@justinbogner.com</a>&gt;**20081213073054]<br>
[XMonad.Actions.WindowGo: fix a floating-related focus bug<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081205150755<br>
 Ignore-this: c8b6625aa2bd4136937acbd2ad64ffd3<br>
 If a floating window was focused, a cross-workspace &#39;raise&#39; would cause a loop of<br>
 shifting windows. Apparently the problem was &#39;focus&#39; and its mouse-handling. Spencer<br>
 suggested that the calls to focus be replaced with &#39;focusWindow&#39;, which resolved it.<br>
]<br>
[Prompt.hs: +greenXPConfig and amberXPConfig<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081119213122<br>
 Ignore-this: 95ac7dbe9c8fe3618135966f251f4fc6<br>
]<br>
[Prompt.hs: increase font size to 12 from niggardly 10<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081119212523<br>
 Ignore-this: 74a6e1ac5e1774da4ffc7c6667c034c<br>
]<br>
[Prompt.hs: replace magic numbers with understandable names<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081119212502<br>
 Ignore-this: 8401c0213be9a32c925e1bd0ba5e01f1<br>
]<br>
[X.L.Monitor: recommend doHideIgnore (docs)<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081215190710]<br>
[X.L.Monitor: docs<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081215184423]<br>
[X.L.Monitor: export Monitor datatype<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081215184318]<br>
[X.H.ManageHelpers: add doHideIgnore<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081215182758]<br>
[Add KDE 4 config, thanks to Shirakawasuna on IRC<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20081211071141<br>
 Ignore-this: 51698961ab5b6e569c294d174f2804a9<br>
]<br>
[I use the deleteConsecutive history filter<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20081025070438]<br>
[Remove XMonad.Config.PlainConfig, it has been turned into the separate xmonad-light project.<br>
Braden Shepherdson &lt;<a href="mailto:Braden.Shepherdson@gmail.com">Braden.Shepherdson@gmail.com</a>&gt;**20081203161534]<br>
[XMonad.Prompt: swap up and down per bug #243<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081203013323<br>
 Ignore-this: 8ab0481a0da7a983f501ac2fec4a68e8<br>
]<br>
[Fix boolean operator precedence in GridSelect keybindings<br>
Aleksandar Dimitrov &lt;<a href="mailto:aleks.dimitrov@googlemail.com">aleks.dimitrov@googlemail.com</a>&gt;**20081201120928<br>
 The vim-like hjkl keys were ORed to the key event AND arrow keys.<br>
]<br>
[GridSelect.hs: navigate grid with h,j,k,l as well as arrow keys<br>
<a href="mailto:sean.escriva@gmail.com">sean.escriva@gmail.com</a>**20081122084725]<br>
[Export setOpacity from FadeInactive. Document how to make monitor transparent (X.L.Monitor)<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081117153027]<br>
[Monitor: use broadcastMessage instead of sendMessage; this solves several issues<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081117133957]<br>
[FadeInactive: fade all inactive windows (including focused windows on visible screens)<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081117130115]<br>
[Monitor: documented one more issue<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081117113807]<br>
[Monitor: improved the docs<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081117073709]<br>
[added XMonad.Layout.Monitor<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081115104735]<br>
[WindowProperties: added allWithProperty<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081115104525]<br>
[ManageHelpers: added doSideFloat (generalization of doCenterFloat)<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081114113015]<br>
[GridSelect: Export default_colorizer<br>
Dominik Bruhn &lt;<a href="mailto:dominik@dbruhn.de">dominik@dbruhn.de</a>&gt;**20081112140005]<br>
[Simplify code for restriction-calculation and remove compiletime warnings<br>
Dominik Bruhn &lt;<a href="mailto:dominik@dbruhn.de">dominik@dbruhn.de</a>&gt;**20081112134630]<br>
[Simplify handle/eventLoop, introduce findInWindowMap, partial updates for key movements (less flickering)<br>
Clemens Fruhwirth &lt;<a href="mailto:clemens@endorphin.org">clemens@endorphin.org</a>&gt;**20081111100405<br>
<br>
 * handle/eventLoop carried the display and the drawing window as<br>
   parameters. The display is available from the embedded X monad, the<br>
   drawing windows was added.<br>
<br>
 * updateWindows now takes a list of windows to<br>
   update. updateAllWindows updates all windows.<br>
<br>
 * only the windows that are modified by key movements are redrawn<br>
   now. This means less flickering.<br>
<br>
]<br>
[GridSelect: force cursor stay in visible area<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081111063348]<br>
[GridSelect: fix infiniteness problem with diamondRestrict<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081111055350]<br>
[GridSelect: remove tabs<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081111053647]<br>
[Exported shrinkWhile from Decoration to use in GridSelect<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081110191534]<br>
[GridSelect: added link to a screenshot<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081110190617]<br>
[GridSelect: various improvements<br>
Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt;**20081110184644<br>
 Added documentation<br>
 Restricted export list for the sake of haddock<br>
 Added functions:<br>
   withSelectedWindow<br>
   bringSelected (by Clemens Fruhwirth)<br>
   goToSelected (by Dominik Bruhn)<br>
]<br>
[Initial version of GridSelect.hs with a lot room for improvement/cleanups<br>
Clemens Fruhwirth &lt;<a href="mailto:clemens@endorphin.org">clemens@endorphin.org</a>&gt;**20081107115114]<br>
[documentation: XMonad.Util.Search.hs, add EZConfig keybindings example<br>
<a href="mailto:sean.escriva@gmail.com">sean.escriva@gmail.com</a>**20081106171707]<br>
[typo<br>
Don Stewart &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt;**20081104043044<br>
 Ignore-this: bdac0ff3316c821bce321b51c62f6e89<br>
]<br>
[place an upper bound on the version of base we support<br>
Don Stewart &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt;**20081104035857<br>
 Ignore-this: 29139cc4f0ecb299b56ae99f7d20b854<br>
]<br>
[explicit import list for things in the process library<br>
Don Stewart &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt;**20081104035319<br>
 Ignore-this: 91b7f96421828788760e8bcff7dec317<br>
]<br>
[Work around ghc 6.10 bug #2738<br>
Don Stewart &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt;**20081104034819<br>
 Ignore-this: c75da9693fa642025eac0d074869423d<br>
]<br>
[windowPromptBringCopy<br>
<a href="mailto:deadguysfrom@gmail.com">deadguysfrom@gmail.com</a>**20081023173019]<br>
[generic menu and window bringer<br>
Travis B. Hartwell &lt;<a href="mailto:nafai@travishartwell.net">nafai@travishartwell.net</a>&gt;**20081027005523]<br>
[Search.hs: +hackage search, courtesy of byorgey<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081031214937<br>
 Ignore-this: 24db0ceed49f8bd37ce98ccf8f8ca2ab<br>
]<br>
[Prompt.hs rename deleteConsecutiveDuplicates<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081008205131<br>
 That name is really unwieldy and long.<br>
]<br>
[Prompt.hs: have historyCompletion filter dupes<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081008204710<br>
 Specifically, it calls deleteConsecutiveDuplicates on the end product. uniqSort reverses order in an unfortunate way, so we don&#39;t use that.<br>
 The use-case is when a user has added the same input many times - as it stands, if the history records 30 &#39;top&#39;s or whatever, the completion will show 30 &#39;top&#39; entries! This fixes that.<br>
]<br>
[Prompt.hs: tweak haddocks<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081008204649]<br>
[Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20081008192645]<br>
[Do not consider XMONAD_TIMER unknown<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20081008195643]<br>
[Kill window without focusing it first<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20081005002533<br>
 This patch requires the patch &quot;add killWindow function&quot; in xmonad.<br>
 Before this patch, people would experience “workspace flicker” when closing<br>
 a window via EWMH that is not on the current workspace, for example when<br>
 quitting pidgin via the panel icon.<br>
]<br>
[let MagnifyLess actually magnify less<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20081015153911]<br>
[Actions.Search: add a few search engines<br>
<a href="mailto:intrigeri@boum.org">intrigeri@boum.org</a>**20081008104033<br>
<br>
 Add Debian {package, bug, tracking system} search engines, as well as Google<br>
 Images and isohunt.<br>
<br>
]<br>
[Implement HiddenNonEmptyWS with HiddenWS and NonEmptyWS<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20081006211027<br>
 (Just to reduce code duplication)<br>
]<br>
[Add straightforward HiddenWS to WSType<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20081006210548<br>
 With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously missing.<br>
]<br>
[Merge emptyLayoutMod into redoLayout<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20081005190220<br>
 This removes the emptyLayoutMod method from the LayoutModifier class, and<br>
 change the Stack parameter to redoLayout to a Maybe Stack one. It also changes<br>
 all affected code. This should should be a refactoring without any change in<br>
 program behaviour.<br>
]<br>
[SmartBorders even for empty layouts<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20081005184426<br>
 Fixes: <a href="http://code.google.com/p/xmonad/issues/detail?id=223" target="_blank">http://code.google.com/p/xmonad/issues/detail?id=223</a><br>
]<br>
[Paste.hs: improve haddocks<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080927150158]<br>
[Paste.hs: fix haddock<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080927145238]<br>
[minor explanatory comment<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20081003015919]<br>
[XMonad.Layout.HintedGrid: add GridRatio (--no-test because of haddock breakage)<br>
Lukas Mai &lt;<a href="mailto:l.mai@web.de">l.mai@web.de</a>&gt;**20080930141715]<br>
[XMonad.Util.Font: UTF8 -&gt; USE_UTF8<br>
Lukas Mai &lt;<a href="mailto:l.mai@web.de">l.mai@web.de</a>&gt;**20080930140056]<br>
[Paste.hs: implement noModMask suggestion<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080926232056]<br>
[fix a divide by zero error in Grid<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20080926204148]<br>
[-DUTF8 flag with -DUSE_UTF8<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080921154014]<br>
[XSelection.hs: use CPP to compile against utf8-string<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080920151615]<br>
[add XMonad.Config.Azerty<br>
Devin Mullins &lt;<a href="mailto:me@twifkak.com">me@twifkak.com</a>&gt;**20080924044946]<br>
[flip GridRatio to match convention (x/y)<br>
Devin Mullins &lt;<a href="mailto:me@twifkak.com">me@twifkak.com</a>&gt;**20080922033354]<br>
[let Grid have a configurable aspect ratio goal<br>
<a href="mailto:daniel@wagner-home.com">daniel@wagner-home.com</a>**20080922010950]<br>
[Paste.hs: +warning about ASCII limitations<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080921155038]<br>
[Paste.hs: shorten comment lines to under 80 columns per sjanssen<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080921154950]<br>
[Forgot to enable historyFilter :(<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080921094254]<br>
[Prompt: add configurable history filters<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080921093453]<br>
[Update my config to use &#39;statusBar&#39;<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080921063513]<br>
[Rename pasteKey functions to sendKey<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080921062016]<br>
[DynamicLog: doc fixes<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080921061314]<br>
[Move XMonad.Util.XPaste to XMonad.Util.Paste<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080921060947]<br>
[Depend on X11 &gt;= 1.4.3<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080921055456]<br>
[statusBar now supplies the action to toggle struts<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080918013858]<br>
[cleanup - use currentTag<br>
Devin Mullins &lt;<a href="mailto:me@twifkak.com">me@twifkak.com</a>&gt;**20080921011159]<br>
[XPaste.hs: improve author info<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080920152342]<br>
[+XMonad.Util.XPaste: a module for pasting strings to windows<br>
<a href="mailto:gwern0@gmail.com">gwern0@gmail.com</a>**20080920152106]<br>
[UrgencyHook bug fix: cleanupUrgents should clean up reminders, too<br>
Devin Mullins &lt;<a href="mailto:me@twifkak.com">me@twifkak.com</a>&gt;**20080920062117]<br>
[Sketch of XMonad.Config.Monad<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080917081838]<br>
[raiseMaster<br>
<a href="mailto:seanmce33@gmail.com">seanmce33@gmail.com</a>**20080912184830]<br>
[Add missing space between dzen command and flags<br>
Daniel Neri &lt;<a href="mailto:daniel.neri@sigicom.com">daniel.neri@sigicom.com</a>&gt;**20080915131009]<br>
[Big DynamicLog refactor.  Added statusBar, improved compositionality for dzen and xmobar<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080913205931<br>
 Compatibility notes:<br>
     - dzen type change<br>
     - xmobar type change<br>
     - dynamicLogDzen removed<br>
     - dynamicLogXmobar removed<br>
]<br>
[Take maintainership of XMonad.Prompt<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080911230442]<br>
[Overhaul Prompt to use a zipper for history navigation.  Fixes issue #216<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080911225940]<br>
[Use the new completion on tab setting<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080911085940]<br>
[Only start to show the completion window with more than one match<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20080908110129]<br>
[XPrompt: Add showCompletionOnTab option<br>
Joachim Breitner &lt;<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>&gt;**20080908105758<br>
 This patch partially implements<br>
 <a href="http://code.google.com/p/xmonad/issues/detail?id=215" target="_blank">http://code.google.com/p/xmonad/issues/detail?id=215</a><br>
 It adds a XPConfig option that, if enabled, hides the completion window<br>
 until the user presses Tab once. Default behaviour is preserved.<br>
 TODO: If Tab causes a unique completion, continue to hide the completion<br>
 window.<br>
]<br>
[XMonad.Actions.Plane.planeKeys: function to make easier to configure<br>
Marco Túlio Gontijo e Silva &lt;<a href="mailto:marcot@riseup.net">marcot@riseup.net</a>&gt;**20080714153601]<br>
[XMonad.Actions.Plane: removed unneeded hiding<br>
Marco Túlio Gontijo e Silva &lt;<a href="mailto:marcot@riseup.net">marcot@riseup.net</a>&gt;**20080714152631]<br>
[Improvements in documentation<br>
Marco Túlio Gontijo e Silva &lt;<a href="mailto:marcot@riseup.net">marcot@riseup.net</a>&gt;**20080709002425]<br>
[Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde}<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080911040808]<br>
[add clearUrgents for your keys<br>
Devin Mullins &lt;<a href="mailto:me@twifkak.com">me@twifkak.com</a>&gt;**20080909055425]<br>
[add reminder functionality to UrgencyHook<br>
Devin Mullins &lt;<a href="mailto:me@twifkak.com">me@twifkak.com</a>&gt;**20080824200548<br>
 I&#39;m considering rewriting remindWhen and suppressWhen as UrgencyHookModifiers, so to speak. Bleh.<br>
]<br>
[TAG 0.8<br>
Spencer Janssen &lt;<a href="mailto:spencerjanssen@gmail.com">spencerjanssen@gmail.com</a>&gt;**20080905195420]<br>
Patch bundle hash:<br>
5c9260728b97f7a6f010e766511cac66b0c3108a<br>
<br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
xmonad mailing list<br>
<a href="mailto:xmonad@haskell.org">xmonad@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/xmonad" target="_blank">http://www.haskell.org/mailman/listinfo/xmonad</a><br>
<br>
<br>
End of xmonad Digest, Vol 32, Issue 23<br>
**************************************<br>
</blockquote></div><br><br clear="all"><br>-- <br>----------------------------------------------<br><a href="http://www.snyder-design.com">http://www.snyder-design.com</a>  |<br>----------------------------------------------<br>