[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xmonad
Subject:    Re: [xmonad] darcs patches for tiled hinted mplayer with fullscreen
From:       Adam Vogt <vogt.adam () gmail ! com>
Date:       2011-06-17 1:58:38
Message-ID: 20110617015838.GA11057 () smuckers
[Download RAW message or body]

Applied, thanks.

* On Wednesday, June 15 2011, Tomáš Janoušek wrote:

> Hello Adam,
> 
> Sorry for the delay, I was very lazy the last few months. But it's getting
> better and I'm attaching a patch. :-)
> 
> On Fri, Nov 05, 2010 at 07:06:59PM -0400, Adam Vogt wrote:
> > * On Thursday, November 04 2010, Tomáš Janoušek wrote:
> > 
> > > Sadly, after using that patch for some time, I found that it slows down xmonad
> > > considerably, as rxvt-unicode updates size hints several times on every size
> > > change (for no reason at all, the hints stay the same). I solved that issue by
> > > adding
> > > whenX (runQuery (className =? "MPlayer") w) $ refresh
> > > [...]
> > 
> > Using XMonad.Util.PositionStore may be better: if the hints change, but
> > the current shape satisfies them, I think it's reasonable not to
> > refresh.
> 
> It turns out that we don't need to store anything. It suffices to check
> whether current window size satisfies current hints. The attached patch does
> just that. It works for me and it isn't slowing down anything, it seems.
> 
> Regards,
> -- 
> Tomáš Janoušek, a.k.a. Liskni_si, http://work.lisk.in/

> 1 patch for repository http://code.haskell.org/XMonadContrib:
> 
> Wed Jun 15 17:03:33 CEST 2011  Tomas Janousek <tomi@nomi.cz>
> * X.L.LayoutHints: refresh only if hints are not satisfied
> 
> New patches:
> 
> [X.L.LayoutHints: refresh only if hints are not satisfied
> Tomas Janousek <tomi@nomi.cz>**20110615150333
> Ignore-this: e081f5fbd6a721e260212548d830ff6b
> ] {
> hunk ./XMonad/Layout/LayoutHints.hs 28
> 
> import XMonad(LayoutClass(runLayout), mkAdjust, Window,
> Dimension, Position, Rectangle(Rectangle), D,
> -              X, refresh, Event(..), propertyNotify, wM_NORMAL_HINTS)
> +              X, refresh, Event(..), propertyNotify, wM_NORMAL_HINTS,
> +              (<&&>), io, applySizeHints, whenX, isClient, withDisplay,
> +              getWindowAttributes, getWMNormalHints, WindowAttributes(..))
> import qualified XMonad.StackSet as W
> 
> import XMonad.Layout.Decoration(isInStack)
> hunk ./XMonad/Layout/LayoutHints.hs 254
> 
> -- | Event hook that refreshes the layout whenever a window changes its hints.
> hintsEventHook :: Event -> X All
> -hintsEventHook (PropertyEvent { ev_event_type = t, ev_atom = a })
> +hintsEventHook (PropertyEvent { ev_event_type = t, ev_atom = a, ev_window = w })
> > t == propertyNotify && a == wM_NORMAL_HINTS = do
> hunk ./XMonad/Layout/LayoutHints.hs 256
> -        refresh
> +        whenX (isClient w <&&> hintsMismatch w) $ refresh
> return (All True)
> hintsEventHook _ = return (All True)
> hunk ./XMonad/Layout/LayoutHints.hs 259
> +
> +-- | True if the window's current size does not satisfy its size hints.
> +hintsMismatch :: Window -> X Bool
> +hintsMismatch w = withDisplay $ \d -> io $ do
> +    wa <- getWindowAttributes d w
> +    sh <- getWMNormalHints d w
> +    let dim = (fromIntegral $ wa_width wa, fromIntegral $ wa_height wa)
> +    return $ dim /= applySizeHints 0 sh dim
> }
> 
> Context:
> 
> [Use a phantom type instead of undefined in L.LayoutBuilderP
> Adam Vogt <vogt.adam@gmail.com>**20110609051858
> Ignore-this: f9009c339ac20245ca0b1dc8154b673f
> 
> This better expresses the idea that the argument to alwaysTrue is just there to
> select an instance. Another option could be to do use a fundep, which seems to
> be compatible with the two instances so far.
> 
> class Predicate p w | p -> w
> 
> ] 
> [Add more L.LayoutBuilderP documentation
> Adam Vogt <vogt.adam@gmail.com>**20110609050922
> Ignore-this: 1441d917c84b165f30711e572e239392
> ] 
> [Correct L.LayoutBuilderP module name in haddock.
> Adam Vogt <vogt.adam@gmail.com>**20110609043940
> Ignore-this: 3c322c0767969fa42b1e2c32cf3f8a1a
> ] 
> [Cleanup in X.L.LayoutBuilderP.
> Ilya Portnov <portnov84@rambler.ru>**20110514132232
> Ignore-this: 59d9ce37218424e1bc225a42d71982ab
> Remove unused datatype declaration and export usefull typeclass.
> ] 
> [Extend script for generating the code which runs tests
> Adam Vogt <vogt.adam@gmail.com>**20110609040722
> Ignore-this: 44ebbee2683f50bc0728458f4babcce
> 
> Now the number of runs each can be set, and the failures and successes are
> summarized in the same way as the core Properties.hs. There is some duplicated
> code which could be avoided by modifying Properties.hs.
> ] 
> [Move tests from ManageDocks to tests/
> Adam Vogt <vogt.adam@gmail.com>**20110609040220
> Ignore-this: 31d51fae83d88e15cdb69f29da003bf7
> 
> The change to use a newtype for RectC is kind of ugly, but this way instances
> are less likely to conflict in the tests.
> ] 
> [Export X.A.CycleWS.screenBy (issue 439)
> Adam Vogt <vogt.adam@gmail.com>**20110607002053
> Ignore-this: 2eaa2a852a3356f6163c4d38f72e730f
> ] 
> [X.H.FloatNext: export X.H.ToggleHook.runLogHook
> Tomas Janousek <tomi@nomi.cz>**20110528191700
> Ignore-this: 5fd923e800a1a3f0977f126df7882c54
> 
> Otherwise the user has to import XMonad.Hooks.ToggleHook as well, which he
> didn't have to in earlier versions.
> ] 
> [Documentation fix (issue 445)
> Adam Vogt <vogt.adam@gmail.com>**20110527033521
> Ignore-this: c73b88f9567af86bd560b911e33da301
> 
> Daniel's change which broke -Wall (adding an import for haddock only) was
> somehow removed. Instead we can just modify the sample code to add the import.
> ] 
> [X.A.AppendFile documentation fix.
> Adam Vogt <vogt.adam@gmail.com>**20110527032854
> Ignore-this: 1ee126ddba1b06d07fba86ca43f74ab8
> 
> Forgotten > means haddock complained (and generated incorrect output).
> More controversially I reworded a sentence and use do notation.
> ] 
> [add-willhook-function
> Ben Boeckel <mathstuf@gmail.com>**20110515191718
> Ignore-this: 9db50eec5b91baa973b4a92c72aeceaf
> 
> Adds a function that hooks into whether the hook will be triggered on the next
> request.
> ] 
> [use-map-in-toggle-hook
> Ben Boeckel <mathstuf@gmail.com>**20110515191418
> Ignore-this: 2bf69aa1a875e7ef1748a5ab51b33daa
> 
> Use "Data.Map String (Bool, Bool)" instead of "[(String, (Bool, Bool))]" in
> X.H.ToggleHook.
> ] 
> [Extend GridSelect navigation
> Ilya Portnov <portnov84@rambler.ru>**20110515154246
> Ignore-this: f2d279b8e46e6eaf3477fdc5cf77be63
> Add moveNext and movePrev, which move selection to next/previous item. 
> ] 
> [Generalize X.L.AutoMaster modifier
> Ilya Portnov <portnov84@rambler.ru>**20110514132549
> Ignore-this: 481c35dd721405bab8b085c45cb983ce
> Enable it to work not only with Windows, but with any (Eq) type.
> ] 
> [Aesthetics on Flexiblemanipulate
> Mats Rauhala <mats.rauhala@gmail.com>**20110506094431
> Ignore-this: 8864c1ba9723ebcc3b183ea9d636a203
> 
> Based on Adam Vogts recommendation on the mailing list. I had to give explicit
> type signatures to get rid of warnings, but nearly verbatim to his version.
> ] 
> [Add new layout combinator: LayoutBuilderP.
> Ilya Portnov <portnov84@rambler.ru>**20110511154010
> Ignore-this: 377b748cb6b84ef7c9f7cde1d4ebd535
> 
> LayoutBuilderP is similar to LayoutBuilder (and is based on it), but LayoutBuilderP \
> places windows matching given X.U.WindowProperties.Property (or any other \
> predicate) into one rectangle, instead of fixed number of windows. ] 
> [Compile with ghc7
> Mats Rauhala <mats.rauhala@gmail.com>**20110504192455
> Ignore-this: 218d2e19835f1e4315c01bd6214899ce
> ] 
> [Action search autocomplete based on whole line
> Mats Rauhala <mats.rauhala@gmail.com>**20110504215201
> Ignore-this: 869cf6954be97ea05cbcf7457ab430b7
> 
> The previous version autocompleted based on words, but when searching from web
> sites, it makes more sense to autocomplete based on the entire search.
> ] 
> [documentation: tell where to find a few auxiliary functions that might be useful \
> in conjunction with X.A.DynamicWorkspaces Daniel Wagner \
>                 <daniel@wagner-home.com>**20110415224846
> Ignore-this: 1bd2232081ba045582d230b632c5bd08
> ] 
> [Typo in window-properties.sh
> Brandon S Allbery KF8NH <allbery.b@gmail.com>**20110413053002
> Ignore-this: 4b3d4ef6ba7229f11d93b3cf66055698
> Somewhere between my creating the original version of this script and
> adding it to the tree, a backslash got lost.  It appears to have been
> lost in the version I put on the wiki, so I suspect a copy-paste
> problem at that point.
> ] 
> [XMonad.Hooks.FadeWindows: A generalized window fading hook
> Brandon S Allbery KF8NH <allbery.b@gmail.com>**20110226002436
> Ignore-this: f21d1085ecca26602631f46c45bc198b
> ] 
> [Script to simplify getting ManageHook information from a window
> Brandon S Allbery KF8NH <allbery.b@gmail.com>**20110224024937
> Ignore-this: ef0e0089dca94c7c2321f791d5d7ffe
> ] 
> [XMonad/Hooks/DebugKeyEvents - debug helper to see what keys xmonad sees
> Brandon S Allbery KF8NH <allbery.b@gmail.com>**20110224023613
> Ignore-this: 5a6a99b7fcc31236152a82aa9c2cda16
> ] 
> [Prevent non-default XUtils windows from being composited
> Brandon S Allbery KF8NH <allbery.b@gmail.com>**20110224003224
> Ignore-this: 41a67b8504c412e2754085eb0038f416
> ] 
> [XMonad.Hooks.FloatNext: issue #406, make FloatNext use ToggleHook
> gwern0@gmail.com**20110412015217
> Ignore-this: d06aecd03be0cbd507d3738dfde6eee7
> ] 
> [issue #406: ben boeckel <mathstuf@gmail.com> +XMonad.Hooks.ToggleHook
> gwern0@gmail.com**20110412015127
> Ignore-this: 125891614da94a5ac0e66e39932aa17e
> ] 
> [Fix xinerama workspace swapping with A.CopyWindow.killAllOtherCopies
> Adam Vogt <vogt.adam@gmail.com>**20110301033736
> Ignore-this: de5727d1248d94447c4634a05a90d1cc
> 
> Spotted by arlinius in #xmonad, and this only shows up for xinerama setups.
> Using an algorithm that scales better with number of workspaces would probably
> be shorter too (visiting them in turn, rather than doing random access), but
> probably not worth the effort.
> ] 
> [XMonad.Util.Run: resolve issue #441
> gwern0@gmail.com**20110411163740
> Ignore-this: 9e3da81df65f6750c822a5044952f1a1
> See <http://code.google.com/p/xmonad/issues/detail?id=441>
> 
> > I have run into programs that fail when run by safeSpawn but succeed with spawn.
> > I tracked it down in one (python) and it seems to be due to \
> > uninstallSignalHandlers. When run by safeSpawn, the program reports errors from \
> > wait.
> 
> dylan did not supply a patch and his version doesn't match the declared type \
> signature; since I don't want to break every `safeSpawn` user, I tossed a `>> \
> return ()` in to make the type right, although I'm troubled at removing the \
> exception functions. ] 
> [AppendFile: additional example of usage
> gwern0@gmail.com**20110126201018
> Ignore-this: 2ba40977463ff15140067ef73947785c
> ] 
> [Fix A.Gridselect image links (thanks dobblego)
> Adam Vogt <vogt.adam@gmail.com>**20110119230113
> Ignore-this: e2b334e13c5900a72daff866270b13db
> ] 
> [Bump version to 0.10 to help keep the correct contrib/core versions together.
> Adam Vogt <vogt.adam@gmail.com>**20110115180553
> Ignore-this: c3f3bf382225ec14477ed9298aea89af
> ] 
> [H.ICCCMFocus had atom_WM_TAKE_FOCUS incorrectly removed
> Adam Vogt <vogt.adam@gmail.com>**20110106192052
> Ignore-this: c566320f252d9fe717080e2da37ff262
> 
> It is possible that this atom should be defined in the X11 library, but fix the
> build of contrib for now. In any case, this would have to wait for a change and
> release of the X11 binding.
> 
> rolling back:
> 
> Wed Jan  5 22:38:39 EST 2011  Adam Vogt <vogt.adam@gmail.com>
> * Remove accidental atom_WM_TAKE_FOCUS from H.ICCCMFocus
> 
> The XMonad module exports this already
> 
> M ./XMonad/Hooks/ICCCMFocus.hs -7 +1
> ] 
> [Remove accidental atom_WM_TAKE_FOCUS from H.ICCCMFocus
> Adam Vogt <vogt.adam@gmail.com>**20110106033839
> Ignore-this: 318d60c8cf4ae4f22a7500948a40ebaf
> 
> The XMonad module exports this already
> ] 
> [Java swing application focus patch
> haskell@tmorris.net**20110105032535
> Ignore-this: 301805eb559489d34d984dc13c0fa5d0
> ] 
> [fix X.L.Gaps documentation, thanks to Carl Mueller for the report
> Brent Yorgey <byorgey@cis.upenn.edu>**20101223010744
> Ignore-this: d60b64676668d5b82efb9215ac5605f6
> ] 
> [Fix A.OnScreen example code typo
> Adam Vogt <vogt.adam@gmail.com>**20101212161850
> Ignore-this: 486bfc9edc38913c8863e2d5581359eb
> ] 
> [fix up funny unicode whitespace in Fullscreen
> Brent Yorgey <byorgey@cis.upenn.edu>**20101212142241
> Ignore-this: 406c4eec83838923edfbf0dfc554cbb7
> ] 
> [Add X.L.Fullscreen
> Audun Skaugen <audunskaugen@gmail.com**20101116221611
> Ignore-this: 4b460e9a25abbb4f988801052232147a
> ] 
> [Close the display correctly after counting the number of screens
> quesel@informatik.uni-oldenburg.de**20101116081449
> Ignore-this: 6fbc269e34770935fed7d4fd9494154b
> 
> This patch adds support for calling countScreens in arbitrary places. Prior to
> this patch one would end up with an open display for each call of the
> countScreens function with would eventually mess up X. This patch ensures that
> the display that is no longer needed is closed after the operation and thus
> using the function without side effects.
> ] 
> [Compatibility with mtl-1 and mtl-2
> Adam Vogt <vogt.adam@gmail.com>**20101115232654
> Ignore-this: 4fb7f279365992fe9e73388b0f4001ac
> ] 
> [Rename state in A.Gridselect to avoid name shadowing (mtl-2)
> Adam Vogt <vogt.adam@gmail.com>**20101115232222
> Ignore-this: cd81e11ae9f5372ddd71f0c2b60675d5
> ] 
> [Substring search support for X.A.GridSelect. As keymaps get more complicated to \
> support different styles, the gs_navigate element is fundamentially changed. \
>                 Clemens Fruhwirth <clemens@endorphin.org>**20101102211213
> Ignore-this: 95610ac8eb781cd74f6c3ce9e36ec039
> ] 
> [Make substring search case insensitive
> Clemens Fruhwirth <clemens@endorphin.org>**20101016212904
> Ignore-this: dce1ae9e4164c24447ae9c79c4557f11
> ] 
> [Introduce grayoutAllElements in X.A.GridSelect
> Clemens Fruhwirth <clemens@endorphin.org>**20101016212559
> Ignore-this: 78ca0416b12a49965db876c77e02387f
> ] 
> [Add substring filter to td_elementmap
> Clemens Fruhwirth <clemens@endorphin.org>**20101016183644
> Ignore-this: d28b7173095c504ae0e9209303e4468a
> ] 
> [Refactor for ad-hoc element and position matching turning td_elementmap into a \
> function using the new td_availSlot and td_elements fields Clemens Fruhwirth \
>                 <clemens@endorphin.org>**20101016183554
> Ignore-this: 85e644a27395e97315efd1ed7a926da8
> ] 
> [Remove nub from diamondLayer in X.A.GridSelect
> Clemens Fruhwirth <clemens@endorphin.org>**20101016183132
> Ignore-this: fe290f3712fa1e122e0123d3f87f418b
> ] 
> [Convert access of td_elementmap from field styled to function call styled in \
> X.A.GridSelect Clemens Fruhwirth <clemens@endorphin.org>**20101016164757
> Ignore-this: b46942bf7ca0bd451b0b402ea8b01bf7
> ] 
> [Make use of field names when constructing TwoDState in X.A.GridSelect
> Clemens Fruhwirth <clemens@endorphin.org>**20101016164151
> Ignore-this: 17d947c11e6cb4c64e04fd4754568337
> ] 
> [Pointfree and -XRank2Types don't mix in X.L.Groups.Helpers
> Adam Vogt <vogt.adam@gmail.com>**20101113022839
> Ignore-this: 21aa9b687179c5622dc6fae749c7872
> 
> It used to work with ghc-6.12 (and earlier?), but ghc-7RC2 type inference
> doesn't work with . instead of it's definition.
> ] 
> [Restrict dependencies, since mtl-2 is incompatible
> Adam Vogt <vogt.adam@gmail.com>**20101113022204
> Ignore-this: d6565f9033cc40fd177a20d1688f3ed7
> 
> A couple removed constructors need to be replaced by the lowercase versions
> (ex. State = StateT Identity now). But it isn't clear that mtl-1 should be
> dropped.
> ] 
> [X.L.TrackFloating docs and help nested layouts
> Adam Vogt <vogt.adam@gmail.com>**20101030175615
> Ignore-this: a4362384ff8baab896715226772edf62
> 
> Now TrackFloating remembers focus for the given layout when the other window is
> also tiled, but not fed to the given layout: this helps with X.L.IM, among
> others.
> ] 
> [X.L.Maximize: Make layout forget maximized window when it is closed
> Norbert Zeh <nzeh@cs.dal.ca>**20101029221551
> Ignore-this: 9e8bfacce7f90634532078584c82940a
> 
> The X.L.Maximize layout modifier does not track whether the window it stores as
> maximized does still exist.  The X server reuses window IDs.  As a result, I
> was able to reproduce the following behaviour (e.g., by opening and closing
> xpdf windows): Create a window, maximize it, close it without restoring it to
> its normal state.  Open a new window with the same window ID (e.g., an xpdf
> window after just closing an xpdf window).  The new window will open maximized,
> which is not what one would expect.  This patch addresses this problem,
> removing the ID of the maximized window from the layout when the maximized
> window is closed.
> ] 
> [Fix bug in L.TrackFloating
> Adam Vogt <vogt.adam@gmail.com>**20101030000620
> Ignore-this: 2c3902ea9f1d70a7043965c8aa99891d
> 
> Addresses the comment that:
> 
> If the focus goes from the floating layer to tiling by deleting a floating
> window, it's again the master window that gets focus, not the remembered
> window.
> ] 
> [Add X.L.Groups.Helpers to other-modules
> Daniel Schoepe <daniel.schoepe@googlemail.com>**20101024191850
> Ignore-this: eb000855e28c39140762f09ce02dd35
> 
> Not listing aforementioned module can cause build failures in libaries
> that depend on xmonad-contrib.
> ] 
> [windowbringer-menu-choice
> mathstuf@gmail.com**20100905013522
> Ignore-this: 3f57b88d725b04f07ce6a43b8d0f56ff
> 
> Add functions to allow users to use a menu other than dmenu and pass arguments
> to the menu.
> ] 
> [Add X.L.TrackFloating for tiled-floating focus issues (#4)
> Adam Vogt <vogt.adam@gmail.com>**20101016165536
> Ignore-this: 19a4a81601c23900d78d85bd0627d5bb
> ] 
> [minor documentation fixes
> Daniel Wagner <daniel@wagner-home.com>**20101007011957
> Ignore-this: c5c046933f318f5a14f063ca387601b9
> ] 
> [Minor documentation fixes in X.U.ExtensibleState
> Daniel Schoepe <daniel.schoepe@googlemail.com>**20101004120509
> Ignore-this: 36a36d6e38f812744f8ec3df9bb56ffe
> ] 
> [Clarify the note on -XRank2Types in L.Groups
> Adam Vogt <vogt.adam@gmail.com>**20101002020841
> Ignore-this: 4ffe5d2d0be1e8b8a8c151b134e963f2
> ] 
> [Mention X.L.Groups.ModifySpec's rank-2 type in the doc
> quentin.moser@unifr.ch**20100117115601
> Ignore-this: 2061238abf835cb20579a4899655cec2
> ] 
> [Orphan my modules
> moserq@gmail.com**20101001104300
> Ignore-this: 781ebf36f25a94df96fde5f7bb7bc53e
> ] 
> [Split X.L.Groups.Examples
> moserq@gmail.com**20101001104142
> Ignore-this: 4d3bc3c44b1c0233d59c6ce5eefcc587
> 
> X.L.G.Examples : rowOfColumns and tiled tabs layouts
> X.L.G.Helpers : helper actions
> X.L.G.Wmii : wmii layout
> ] 
> [X.L.G.Examples: improve the tabs of tiledTabs
> moserq@gmail.com**20100120103240
> Ignore-this: 58a449c35e1d4a30ecfdf80f015d2dee
> ] 
> [X.L.G.Examples: improve the tabs of wmiiLike
> moserq@gmail.com**20100120101746
> Ignore-this: 1519338158025fb580cac523e4a41b88
> ] 
> [X.L.Groups: Always keep one group, even if empty.
> quentin.moser@unifr.ch**20100118021526
> Ignore-this: 22d7f9b92484c3411ecba66b06f69821
> ] 
> [Do not duplicate layouts in X.L.Groups
> quentin.moser@unifr.ch**20100117114708
> Ignore-this: 100f8ccfbbcda9e8f5cc2b1470772928
> 
> I liked the idea, but it completey messes up Decoration layouts.
> ] 
> [Add missing module re-export (issue 366)
> Adam Vogt <vogt.adam@gmail.com>**20100930002046
> Ignore-this: ecd6e4ff54d41f37a75be72f3d0e4a59
> ] 
> [This patch adds support for multiple master windows to X.L.Master
> quesel@informatik.uni-oldenburg.de**20100518060557
> Ignore-this: 5c62202575966ee65e9b41ef41c30f94
> ] 
> [X.L.LayoutHints: event hook to refresh on hints change
> Tomas Janousek <tomi@nomi.cz>**20100706185925
> Ignore-this: 54eba739c76db176cbb4ef66e30c201f
> ] 
> [Remove last excess definition of `fi' (fromIntegral)
> Adam Vogt <vogt.adam@gmail.com>**20100913233850
> Ignore-this: 42d9282697573b361d763d980b816465
> ] 
> [Explain fields added for "XMonad.Layout.ImageButtonDecoration"
> Adam Vogt <vogt.adam@gmail.com>**20100913232720
> Ignore-this: 8eae99afb2857a91aabbf3b7f27c784e
> ] 
> [Adjust X.C.Desktop documentation content.
> Adam Vogt <vogt.adam@gmail.com>**20100803141117
> Ignore-this: 9c2616514be4dbb722958bc5a11357b1
> 
> Correct errors regarding a description of `mappend' for X
> 
> Use <+> more often since that's `consistent', and there is no difference since
> it's the same as >> when all arguments have the same type (which they do...
> otherwise people aren't just combining valid values for that field of the
> config).
> ] 
> [Minimize: Replaced calls to 'sendMessage' (BW.focusDown) and 'windows' with \
> alternative methods Jan Vornberger \
>                 <jan.vornberger@informatik.uni-oldenburg.de>**20100727224841
> Ignore-this: 67257480b7b93181967a806fedf6fbc5
> Calling these functions during message handling results in the loss of layout \
> state. This fixes a number of bugs related to the combination of X.L.Minimize with \
> a decoration. ] 
> [CurrentWorkspaceOnTop: proper reimplementation of XMonad.Operation
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20100727194154
> Ignore-this: 101f55913bf836d1d87863b4c05d0665
> Fixes bugs in combination with stateful layouts and floating windows
> ] 
> [A hook to handle minimize/restore window manager hints.
> Justin Bogner <mail@justinbogner.com>**20100616051124
> Ignore-this: c562ce1df81bce9a7dc5e7fe2dc67a43
> 
> XMonad.Hooks.Minimize handles both minimize and restore
> messages. Handling restore messages was already done in
> RestoreMinimized, which this module intends to replace.
> ] 
> [WindowGo: bulk up 'runOrRaise' doc to point to 'raiseMaybe' for shell scripting
> gwern0@gmail.com**20100712045632
> Ignore-this: f8f2b04fe7c49827b935ada1345d2ce8
> ] 
> [WindowGo: fmt & sp
> gwern0@gmail.com**20100712042915
> Ignore-this: dc733961f0308815fa2ec0afe118f9cb
> ] 
> [X.H.ManageDocks: event hook to refresh on new docks
> Tomas Janousek <tomi@nomi.cz>**20100706185834
> Ignore-this: 96f931aa19c45acd28bdc2319c6a0cb6
> ] 
> [Note that Simplest works well with BoringWindows
> Adam Vogt <vogt.adam@gmail.com>**20100622030850
> Ignore-this: b9b6060842651c0df47b23dddb3bf54a
> ] 
> [XMonad.Util.Run: improve linking and rearrange docs
> gwern0@gmail.com**20100620175215
> Ignore-this: d7b76532309237ddfa22c31a1f1ef5a4
> ] 
> [XMonad.Util.Run: correct broken example
> gwern0@gmail.com**20100620175158
> Ignore-this: b390fa0e36b0bd629e7016797e316760
> ] 
> [XMonad.Util.Run: fix unicode char
> gwern0@gmail.com**20100620175140
> Ignore-this: 3e524f9d8a96cb47c2c8c7c265d8e649
> ] 
> [XSelection.hs: update docs w/r/t unicode
> gwern0@gmail.com**20100615000902
> Ignore-this: 26042b8d27bed602c1844181036a9bb
> see http://code.google.com/p/xmonad/issues/detail?id=348
> ] 
> [encode string of bytes not list of chars
> Khudyakov Alexey <alexey.skladnoy@gmail.com>**20100613113341
> Ignore-this: bd03772f1e1ab303646f36c28944b43
> ] 
> [GroupNavigation.hs: clean up imports
> gwern0@gmail.com**20100608203832
> Ignore-this: 166ad0b78d8be8453339c7dd5e5cc266
> ] 
> [remove decodeInput/encodeOutput
> gwern0@gmail.com**20100614232300
> Ignore-this: 2ed6a014130dba95c6b0a6fcac055110
> see http://code.google.com/p/xmonad/issues/detail?id=348
> they are just synonyms for 2 utf8-string functions, and don't really help
> ] 
> [Developing: be good to mention hlint in a hacking guide
> gwern0@gmail.com**20100506160535
> Ignore-this: d86ab58539dd6c09a43789b9a549aa9d
> ] 
> [Fix bug in history maintenance of X.A.GroupNavigation
> Norbert Zeh <nzeh@cs.dal.ca>**20100604081431
> Ignore-this: 84a22797ec1b76a9b9805af3272911b0
> 
> When the focused window was closed without a new window receiving focus, the
> closed window was not removed from the history database, making for example
> "nextMatch History (return True)" misbehave.  This patch fixes this.
> ] 
> [PositionStoreHook: take decoration into account
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20100602223015
> Ignore-this: 72192c7cabeaeb744711b651ac3ffc65
> ] 
> [PositionStoreHook: take docks into account
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20100602215048
> Ignore-this: 6ffa63f22e9b511a9d28bc1c04195a08
> ] 
> [TopicSpace: +reverseLastFocusedTopics
> Nicolas Pouillard <nicolas.pouillard@gmail.com>**20100520072844
> Ignore-this: 97c860fb139269cd592beab275f78d57
> ] 
> [TopicSpace: improve the lastFocusedTopic handling
> Nicolas Pouillard <nicolas.pouillard@gmail.com>**20091220212813
> Ignore-this: 9ad30b815e8a9cf002c8b17c07f05dc2
> 
> Now the list of last topics is internally kept but
> only visually truncated.
> ] 
> [X.A.GroupNavigation with containers < 0.3.0.0 compatibility
> Norbert Zeh <nzeh@cs.dal.ca>**20100514222153
> Ignore-this: e0cf2a784ff02829ad10962863fd50ed
> 
> This patch replaces the use of Seq.filter and Seq.breakl with two
> functions flt and brkl that do the same.  This is necessary to
> keep compatibility with containers < 0.3.0.0 because Seq.filter and
> Seq.breakl were introduced only in containers 0.3.0.0.
> ] 
> [New module XMonad.Actions.GroupNavigation
> Norbert Zeh <nzeh@cs.dal.ca>**20100510081412
> Ignore-this: c286dbd1b365326fa25a9c5c0e564af7
> 
> This module adds two related facilities.  The first one allows cycling through
> the windows in a window group.  A group is defined as the set of windows for
> which a given Boolean Query returns True.  The second one keeps track of the
> history of focused windows and allows returning to the most recently focused
> window in a given window group before the currently focused window.
> ] 
> [Add a way to update the modifier in X.L.LayoutModifier
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090822213958
> Ignore-this: f257a376bef57689287b68ed21ec903d
> 
> This patch adds the possibility to update the state of a layout modifier when
> modifying the underlying layout before it is run(i.e. using modifyLayout). 
> The modified state is also passed to the subsequent call of redoLayout, whose 
> return takes precedence if both functions return modified states of the layout 
> modifier.
> ] 
> [Remove trailing whitespace in A.KeyRemap
> Adam Vogt <vogt.adam@gmail.com>**20100503153258
> Ignore-this: 59d38be8462d50c298f590d55ebda910
> ] 
> [Adding XMonad.Actions.KeyRemap for mapping single keys
> stettberger@dokucode.de**20100502152322
> Ignore-this: 113f6ef92fd31134fb6752a8b8253c3a
> 
> With KeyRemap it is possible to emit different keys to client windows, when 
> pressing some key. For example having dvorak layout for typing, but us for 
> keybindings.
> ] 
> [Move Util.Font to .hs, and enable -XCPP
> Adam Vogt <vogt.adam@gmail.com>**20100429140744
> Ignore-this: 1e60993426bf8e146c9440e2dbb0f764
> 
> As the CPP pass was the only feature being used in Font.hsc (no other FFI)
> it's better to avoid hsc2hs, if only to make the purpose of the module
> clearer from the filename.
> ] 
> [A.Search: Remove unnecessary `do'
> Adam Vogt <vogt.adam@gmail.com>**20100429134749
> Ignore-this: 2fc31d045a57ccd01f3af03cb46440c2
> ] 
> [Fix escaping of URI
> Khudyakov Alexey <alexey.skladnoy@gmail.com>**20100423204707
> Ignore-this: 7dad15752eb106d8bc6cd50ffd2e8d3a
> ] 
> [Prompt: handle case of historySize=0 better.
> Adam Vogt <vogt.adam@gmail.com>**20100421183006
> Ignore-this: e4a74e905677649ddde36385a9ed47a2
> ] 
> [Rearrange tests. See test/genMain.hs for instructions.
> Adam Vogt <vogt.adam@gmail.com>**20100419014946
> Ignore-this: 1745e6f1052e84e40153b5b1c0a6e15a
> ] 
> [Use CPP to add to exports for Selective tests (L.LimitWindows)
> Adam Vogt <vogt.adam@gmail.com>**20100419014344
> Ignore-this: 74c228892f07bb827e4b419f4efdb04
> ] 
> [Use imported `fi' alias for fromIntegral more often.
> Adam Vogt <vogt.adam@gmail.com>**20100416212939
> Ignore-this: 51040e693066fd7803cc1b108c1a13d5
> 
> Also moves `fi' into U.Image to avoid cyclic imports,
> though XUtils sill exports that definition.
> ] 
> [Note that mouseResizableTileMirrored may be removed.
> Adam Vogt <vogt.adam@gmail.com>**20100416161118
> Ignore-this: 2b005aa36abe224f97062f80e8558af7
> ] 
> [Structure L.MouseResizableTile documentation.
> Adam Vogt <vogt.adam@gmail.com>**20100416160641
> Ignore-this: c285ac8a4663bdd2ae957b3c198094da
> ] 
> [Remove unnecessary imports.
> Adam Vogt <vogt.adam@gmail.com>**20100416160239
> Ignore-this: 11beb14b87e294dafb54cc3764393c5b
> ] 
> [X.L.MouseResizableTile: make everything configurable
> Tomas Janousek <tomi@nomi.cz>**20100415214609
> Ignore-this: f8164dc63242c7e32210c9577a254bf7
> ] 
> [X.L.MouseResizableTile: configurable gaps (dragger size and position)
> Tomas Janousek <tomi@nomi.cz>**20100415213813
> Ignore-this: 5803861bbfecbc8c946b817b98909647
> 
> (with the option of putting the draggers over window borders with no gaps at
> all)
> ] 
> [update module imports
> gwern0@gmail.com**20100414211947
> Ignore-this: 804bee14960064b4e4efd33d07a60a2b
> ] 
> [tests/test_XPrompt can build now.
> Adam Vogt <vogt.adam@gmail.com>**20100414204612
> Ignore-this: ded6711134658fe371f19a909037c9cb
> ] 
> [prettier haddock markup for L.NoBorders
> Adam Vogt <vogt.adam@gmail.com>**20100405184020
> Ignore-this: 1a9862e6e7ec0e965201a65a68314680
> ] 
> [ImageButtonDecoration: new image for menu button
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20100402174910
> Ignore-this: 3977c4bfcb4052e07321ec9e83f917c6
> ] 
> [image_buttons
> trupill@gmail.com**20100331093808
> Ignore-this: 418dbf488435c7c803695407557eecfb
> 
> * Added a XMonad.Util.Image module to manipulate simple images
> and show them into an X drawable
> * Added the possibility of using image buttons instead of plain
> text buttons into the title bar
> * Added a XMonad.Layout.ImageButtonDecoration as an example of
> how to use the image buttons
> 
> ] 
> [WindowMenu: own colorizer that works better with Bluetile's new theme
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20100402184119
> Ignore-this: 708e1ad1654165fc5da5efc943a2a6b9
> ] 
> [X.L.Named deprecate and implement using X.L.Renamed
> Anders Engstrom <ankaan@gmail.com>**20100401212403
> Ignore-this: a74963ef4990c9e845b9142b8648cf26
> nameTail behaves slightly different if there are whitespace before the first word \
> or the name contains tabs or other such whitespace. But I expect few users are \
> affected since the only usecase where nameTail is actually needed is to remove \
> automatically added prefixes. These prefixes will be removed as they should by the \
> new implementation. ] 
> [X.L.Minimize remove redundant imports
> Anders Engstrom <ankaan@gmail.com>**20100401204400
> Ignore-this: f7bbfe96c8d08955fc845318f918ec86
> ] 
> [Correct module header.
> Adam Vogt <vogt.adam@gmail.com>**20100330181029
> Ignore-this: 53edd88f94f0b7d54fc350c47c38898c
> ] 
> [minimize_ewmh
> trupill@gmail.com**20100330183616
> Ignore-this: 4d14b74192af503c4b2e28ea877c85f5
> ] 
> [Use more monoid instances to clean up U.WorkspaceCompare
> Adam Vogt <vogt.adam@gmail.com>**20100222151710
> Ignore-this: ab7089175a7486144e01b706de04036e
> ] 
> [Note that Groups has redundancies and the interface may change.
> Adam Vogt <vogt.adam@gmail.com>**20100330175945
> Ignore-this: 2f4dc5a2355ace4005dd07fc5d459f1a
> 
> Refer to:
> http://www.haskell.org/pipermail/xmonad/2010-January/009585.html
> ] 
> [Update my e-mail address
> quentin.moser@unifr.ch**20100117011109
> Ignore-this: f5efc4d494cb001d3cfbe2b2e169cbe5
> ] 
> [New module: X.L.Groups.Examples
> quentin.moser@unifr.ch**20100117010236
> Ignore-this: 8fc40821759d7ed439ecc6726417f52d
> 
> Utility functions and examples using X.L.Groups.
> ] 
> [New module: X.L.Groups
> quentin.moser@unifr.ch**20100117005301
> Ignore-this: 167e191d520a36b94cf24121ead67dae
> 
> The mother of all layout combinators.
> ] 
> [New module: X.L.ZoomRow
> quentin.moser@unifr.ch**20100117003939
> Ignore-this: c464ae1005679484e364eb6ece31d9fc
> 
> Row layout with individually resizable elements.
> ] 
> [New module: X.L.Renamed
> quentin.moser@unifr.ch**20100117002612
> Ignore-this: 38a5c638e36090c746356390c09d3479
> ] 
> [New module: X.U.Stack
> quentin.moser@unifr.ch**20100117002104
> Ignore-this: e0c3969042ca5e1e8b9e50436519e52a
> 
> Utility functions for working with Maybe Stacks, including:
> - useful conversions to and from lists
> - insertUp/Down, swapUp/Down, focusUp/Down, etc
> - maps, filters and folds
> ] 
> [X.H.UrgencyHook: performance fix
> Tomas Janousek <tomi@nomi.cz>**20100330141341
> Ignore-this: b626166259858f16bc5051c67b498c68
> 
> cleanupUrgents would update the Map in extensible state 2-times the number of
> visible windows, resulting in excessive memory usage and garbage collection.
> This seems to make it behave correctly.
> ] 
> [bugfix: removeKeys should remove all keys in the provided list
> Daniel Wagner <daniel@wagner-home.com>**20100327192541
> Ignore-this: 711c776a19d428a2ab4614ee82641de4
> ] 
> [fixed argument order to isPrefixOf in a couple of places in X.A.Search
> Jurgen Doser <jurgen.doser@gmail.com>**20100316122010
> Ignore-this: 1a613748778d07de1b459a4268ff8d55
> In some places, ((!>), prefixAware, and one place in the documentation),
> isPrefixOf was used with wrong argument order.  In particular, this made
> combining search engines not work as advertised, for example, the predefined
> search engine "multi".
> ] 
> [X.P.Ssh: add entries from .ssh/config to ssh prompt completion
> Brent Yorgey <byorgey@cis.upenn.edu>**20091229171346
> Ignore-this: fa638a0af4cb71be91f6c90bdf6d5513
> ] 
> [X.H.DynamicLog: let the user of xmonadPropLog choose property name
> Tomas Janousek <tomi@nomi.cz>**20100319214631
> Ignore-this: 17c0cac2a469e0b70b0cea86f3aeed51
> ] 
> [Replace.hs: rm trailing whitespace
> gwern0@gmail.com**20100314210109
> Ignore-this: ee951e62c1de753907f77a8a6bac7cae
> ] 
> [Workspace.hs: rm trailing whitespace
> gwern0@gmail.com**20100314210101
> Ignore-this: c2888dc8aa919ce6da706ba8ea1c523a
> ] 
> [Layout.hs: rm trailing whitespace
> gwern0@gmail.com**20100314210054
> Ignore-this: 5ad02e9c968bb49773e2bf05310a3754
> ] 
> [Directory.hs: rm trailing whitespace
> gwern0@gmail.com**20100314210047
> Ignore-this: 1e83cd71f6439603b577874317cac8bb
> ] 
> [MessageControl: rm trailing whitespace
> gwern0@gmail.com**20100314210038
> Ignore-this: d4dc93a8a68847123918db416080e018
> ] 
> [LimitWindows.hs: rm trailing whitespace
> gwern0@gmail.com**20100314210030
> Ignore-this: 7d138a5903d45ffeeb4e89f1b8923382
> ] 
> [LayoutCombinators.hs: rm trailing whitespace
> gwern0@gmail.com**20100314210021
> Ignore-this: e387bdea6c346fc8a892b06294995442
> ] 
> [DecorationAddons.hs: rm trailing whitespace
> gwern0@gmail.com**20100314210012
> Ignore-this: 2f54649e43ebf11e35bd8764d1a44675
> ] 
> [Column.hs: rm whitespace
> gwern0@gmail.com**20100314210001
> Ignore-this: 6cfd701babde42d5dc61bfbe95305b20
> ] 
> [DynamicWorkspaces.hs: rm whitespace
> gwern0@gmail.com**20100314205951
> Ignore-this: 9d64301708cb1702b9b46f1068efa891
> ] 
> [Fix bugs with nested drawers in X.L.Drawer
> Max Rabkin <max.rabkin@gmail.com>**20100310170159
> Ignore-this: 5c7665f3f3ea2c629deb0cca3715bb8d
> There were two bugs:
> 1. The layout modifier assumed the rect's x was zero.
> 2. The layout modifier assumed that the stackset's focus actually had focus.
> ] 
> [Correct L.Drawer haddock markup and re-export required module.
> Adam Vogt <vogt.adam@gmail.com>**20100308225258
> Ignore-this: 1cc5675a68a66cf436817137a478b747
> ] 
> [Added X.L.Drawer
> Max Rabkin <max.rabkin@gmail.com>**20100308212752
> Ignore-this: c7973679b7b2702178ae06fc45396dda
> X.L.Drawer provides a layout modifier for retracting windows which roll down
> (like the Quake console) when they gain focus.
> ] 
> [X.U.WorkspaceCompare xinerama compare with physical order
> Anders Engstrom <ankaan@gmail.com>**20100308115402
> Ignore-this: 49296fb6e09717f38db28beb66bc2c80
> Like the old xinerama workspace comparison, but order by physical location just \
> like X.A.PhysicalScreens. Useful if using xinerama sort for statusbar together with \
> physicalscreens. ] 
> [X.U.Dmenu helpers to run dmenu with arguments
> Anders Engstrom <ankaan@gmail.com>**20100308115022
> Ignore-this: 7d582e06d0e393c717f43e0729306fbf
> ] 
> [X.L.LayoutScreens split current screen
> Anders Engstrom <ankaan@gmail.com>**20100308114318
> Ignore-this: e7bd1ef63aee3f736e12e109cabb839
> This patch will allow the user to split the currently focused screen instead of all \
> screens together. This is usefull for multiscreen users who have functioning \
> xinerama, but wish to split one of the screens. ] 
> [X.A.PhysicalScreens cleaning and allow cycling
> Anders Engstrom <ankaan@gmail.com>**20100308113704
> Ignore-this: 3a9a3554cda29f976df646b38b56e8e7
> Remove redundant import to supress warning, did some refactoring to use xmonad \
> internal things to find screens instead of using X11-stuff. Also added ability to \
> cycle between screens in physical order. ] 
> [Use imported 'fi' in H.ScreenCorners
> Adam Vogt <vogt.adam@gmail.com>**20100222150633
> Ignore-this: 45ceb91d6c39f29bb937aa29c0bc2e66
> ] 
> [X.H.ScreenCorners typos
> Nils Schweinsberg <mail@n-sch.de>**20100222115142
> Ignore-this: 805ba06f6215bb83a68631f750743830
> ] 
> [X.H.ScreenCorners rewritten to use InputOnly windows instead of waiting for \
> MotionEvents on the root window Nils Schweinsberg <mail@n-sch.de>**20100222112459
> Ignore-this: f9866d3e3f1ea09ff9e9bb593146f0b3
> ] 
> [[patch] X.H.ScreenCorners: move the mouse cursor to avoid loops
> Nils Schweinsberg <mail@n-sch.de>**20100221231550
> Ignore-this: c8d2ece0f6e75aba1b091d5f9de371dc
> ] 
> [Prevent possible pattern match failure in X.A.UpdateFocus
> Daniel Schoepe <daniel.schoepe@gmail.com>**20100221234735
> Ignore-this: fe132d248db01076a1038e9e8acbdf42
> ] 
> [New extension: XMonad.Hooks.ScreenCorners
> Nils Schweinsberg <mail@n-sch.de>**20100221230259
> Ignore-this: c3a715e2590ed094ed5908bd225b185e
> ] 
> [documentation for marshallPP
> daniel@wagner-home.com**20100215000731
> Ignore-this: efa38829b40dc1586f5f18c4bab21f7d
> ] 
> [DynamicLog support for IndependentScreens
> Daniel Wagner <daniel@wagner-home.com>**20100104054251
> Ignore-this: 16fe32f1d66abf4a79f8670131663a60
> ] 
> [minor style changes
> Daniel Wagner <daniel@wagner-home.com>**20091228173016
> Ignore-this: 605de753d6a5007751de9d7b9f8ab9ca
> ] 
> [XMonad.Prompt: remove white border from greenXPConfig
> gwern0@gmail.com**20100211163641
> Ignore-this: 1cd9a6de02419b7747eab98eb4e84c35
> ] 
> [Fixed reversed history searching direction in X.P.history(Up|Down)Matching
> Daniel Schoepe <daniel.schoepe@gmail.com>**20100208162901
> Ignore-this: 61b9907318d18ef2fb5bc633048d3afc
> ] 
> [Compatibility for rename of XMonad.numlockMask
> Adam Vogt <vogt.adam@gmail.com>**20100124201955
> Ignore-this: 765c58a8b77ca0b54f05fd69a9bba714
> ] 
> [Use extensible-exceptions to allow base-3 or base-4
> Adam Vogt <vogt.adam@gmail.com>**20100124203324
> Ignore-this: 136f35fcc0f3a824b96eea0f4e04f276
> ] 
> [suppress some warnings under ghc 6.12.1 and clean up redundant imports to get rid \
> of some others. Brent Yorgey <byorgey@cis.upenn.edu>**20100112172507
> Ignore-this: bf3487b27036b02797d9f528a078d006
> ] 
> [Corrected documentation in X.Prompt
> Daniel Schoepe <daniel.schoepe@gmail.com>**20100201204522
> Ignore-this: 98f9889a4844bc765cbb9e43bd83bc05
> ] 
> [Use Stack instead of list in X.Prompt.history*Matching
> Daniel Schoepe <daniel.schoepe@gmail.com>**20100201202839
> Ignore-this: 45d03c7096949bd250dd1c5c2d3646d4
> ] 
> [BluetileConfig: Fullscreen tweaks and border color change
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20100131233347
> Ignore-this: 2a10959bed0f3fb9985e3dd1010f123b
> ] 
> [A.CycleWindows replace partial rotUp and rotDown with safer versions
> Wirt Wolff <wirtwolff@gmail.com>**20100123231912
> Ignore-this: 6b4e40c15b66fc53096910e85e736c23
> Rather than throw exceptions, handle null and singleton lists, i.e.
> f [] gives [] and f [x] gives [x].
> ] 
> [Use <+> instead of explicit M.union to merge keybindings in X.C.*
> Adam Vogt <vogt.adam@gmail.com>**20100124202136
> Ignore-this: e7bfd99eb4d3e6735153d1d5ec00a885
> ] 
> [Fix incorrect import suggestion in L.Tabbed (issue 362)
> Adam Vogt <vogt.adam@gmail.com>**20100121182501
> Ignore-this: 5e46f140a7e8c2abf0ac75b3262a7da4
> ] 
> [Swap window ordering in L.Accordion (closes Issue 358). Thanks rsaarelm.
> Adam Vogt <vogt.adam@gmail.com>**20100121154344
> Ignore-this: cd06b0f4fc85f857307aaae8f6e40af7
> 
> This change keeps windows in the same ordering when focus is changed.
> ] 
> [use restart to restart xmonad (no longer bluetile)
> Jens Petersen <petersen@haskell.org>**20100116105935
> Ignore-this: e6e27c65e25201fc84bfaf092dad48ac
> ] 
> [X.L.Decoration: avoid flicker by not showing decowins without rectangles
> Tomas Janousek <tomi@nomi.cz>**20100116112054
> Ignore-this: 6f38634706c3f35272670b969fc6cc96
> 
> These would be hidden by updateDecos immediately after being shown. This
> caused flicker with simpleTabbed and only one window on a workspace.
> ] 
> [Add a way to cycle only through matching history entries in X.Prompt
> Daniel Schoepe <daniel.schoepe@gmail.com>**20100113233036
> Ignore-this: d67aedb25f2cc6f329a78d5d3eebdd2b
> 
> This patch adds a way go up through X.Prompt's history using
> only those entries that start with the current input, similar
> to zsh's `history-search-backward'.
> ] 
> [import new contrib module, X.A.DynamicWorkspaceOrder
> Brent Yorgey <byorgey@cis.upenn.edu>**20091230192350
> Ignore-this: bba2c0c30d5554612cc6e8bd59fee205
> ] 
> [X.A.CycleWS: export generalized 'doTo' function for performing an action on a \
> workspace relative to the current one Brent Yorgey \
>                 <byorgey@cis.upenn.edu>**20091230191953
> Ignore-this: 7cf8efe7c45b501cbcea0943f667b77e
> ] 
> [new contrib module, X.A.DynamicWorkspaceGroups, for managing groups of workspaces \
> on multi-head setups Brent Yorgey <byorgey@cis.upenn.edu>**20091229165702
> Ignore-this: fc3e6932a95f57b36b4d8d4cc7f3e2d7
> ] 
> [Style changes in L.Minimize
> Adam Vogt <vogt.adam@gmail.com>**20100104144448
> Ignore-this: 5f64c0717e24ed6cbe2c9fad50bf78a3
> ] 
> [minimize_floating
> konstantin.sobolev@gmail.com**20091230070105
> Ignore-this: 2c0e1b94f123a869fb4e72a802e59c2
> Adds floating windows support to X.L.Minimize
> ] 
> [Use more imported cursor constants.
> Adam Vogt <vogt.adam@gmail.com>**20091230220927
> Ignore-this: 91e55c63a1d020fafb6b53e6abf9766c
> ] 
> [new contrib module from Tomas Janousek, X.A.WorkspaceNames
> Brent Yorgey <byorgey@cis.upenn.edu>**20091229163915
> Ignore-this: 5bc7caaf38647de51949a24498001474
> ] 
> [X.P.Shell, filter empty string from PATH
> Tim Horton <tmhorton@gmail.com>**20091224033217
> Ignore-this: 1aec55452f917d0be2bff7fcf5937766
> 
> doesDirectoryExist returns True if given an empty string using ghc <= 6.10.4.
> This causes getDirectoryContents to raise an exception and X.P.Shell does not
> render. This is only an issue if you have an empty string in your PATH.
> 
> Using ghc == 6.12.1, doesDirectoryExist returns False given an empty string, so
> this should not be an issue in the future.
> 
> ] 
> [small tweak to battery logger
> Brent Yorgey <byorgey@cis.upenn.edu>**20091227085641
> Ignore-this: 350dfed0cedd250cd9d4bd3391cbe034
> ] 
> [Use imported xC_bottom_right_corner in A.MouseResize
> Adam Vogt <vogt.adam@gmail.com>**20091227233705
> Ignore-this: 52794f788255159b91e68f2762c5f6a1
> ] 
> [X.A.MouseResize: assign an appropriate cursor for the resizing inpuwin
> Tomas Janousek <tomi@nomi.cz>**20091227212140
> Ignore-this: d9ce96c2cd0312b6b5be4acee30a1da3
> ] 
> [Fix the createSession bug in spawnPipe
> Spencer Janssen <spencerjanssen@gmail.com>**20091227003501
> Ignore-this: 2d7f8746eb657036d39f3b9aac22b3c9
> Both the new XMonad.Core.xfork function and spawnPipe call createSession, calling
> this function twice results in an error.
> ] 
> [Let the core know about MouseResizableTile's draggers, so they are stacked \
> correctly Jan Vornberger \
>                 <jan.vornberger@informatik.uni-oldenburg.de>**20091223145428
> Ignore-this: 7c096aba6b540ccf9b49c4ee86c6091a
> ] 
> [Update all uses of forkProcess to xfork
> Spencer Janssen <spencerjanssen@gmail.com>**20091223064558
> Ignore-this: 963a4ddf1d2f4096bbb8969b173cd0c1
> ] 
> [Make X.L.Minimize explicitly mark minimized windows as boring
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091222214529
> Ignore-this: b1e8adf26ac87dede6c1b7a7d687411c
> ] 
> [Actions/Search: added openstreetmap
> intrigeri@boum.org**20091222114545
> Ignore-this: fafc4680c8b59b7a044d995c1dacec9a
> ] 
> [Add a search predicate option to XMonad.Prompt
> Mike Lundy <mike@fluffypenguin.org>**20091221025408
> Ignore-this: 8e8804eeb9650d38bc225e15887310da
> ] 
> [In D.Extending note how <+> can be used with keybindings.
> Adam Vogt <vogt.adam@gmail.com>**20091220190739
> Ignore-this: ebea8ef8a835ed368fa06621add6519f
> ] 
> [Golf / style change in U.ExtensibleState
> Adam Vogt <vogt.adam@gmail.com>**20091208010506
> Ignore-this: c35bd85baae4700e14417ac7e07de959
> ] 
> [Style changes in EwmhDesktops
> Adam Vogt <vogt.adam@gmail.com>**20091219003824
> Ignore-this: 905eff9ed951955c8f62617b2d82302e
> ] 
> [Add support for fullscreen through the _NET_WM_STATE protocol
> audunskaugen@gmail.com**20091214135119
> Ignore-this: 430ca3c6779e36383f8ce8e477ee9622
> 
> This patch adds support for applications using the
> gtk_window_fullscreen function, and other applications using
> _NET_WM_STATE for the same purpose.
> ] 
> [Fix MultiToggle crashes with decorated layouts
> Tomas Janousek <tomi@nomi.cz>**20091220004733
> Ignore-this: 9208f5da9f0de95464ea62cb45e8f291
> 
> The problem was that certain layouts keep their "world" state in their value,
> which was thrown away and forgotten after ReleaseResources during toggle.
> 
> In particular, decorated layouts store some X11 handles in them and
> allocate/deallocate it as appropriate. If any modification to their state is
> ignored, they may try to deallocate already deallocated memory, which results
> in a crash somewhere inside Xlib.
> 
> This patch makes Transformers reversible so that nothing is ever ignored. As a
> side effect, layout transformers now do receive messages and messages for the
> base layout do not need the undo/reapply cycle -- we just pass messages to the
> current transformed layout and unapply the transformer when needed.
> (This, however, doesn't mean that the base layout is not asked to release
> resources on a transformer change -- we still need the transformer to release
> its resources and there's no way to do this without asking the base layout as
> well.)
> ] 
> [TAG 0.9.1
> Spencer Janssen <spencerjanssen@gmail.com>**20091216233651
> Ignore-this: 713d9dd89d775e30346f57a61038d308
> ] 
> [Bump version to 0.9.1
> Spencer Janssen <spencerjanssen@gmail.com>**20091216232634
> Ignore-this: bcd799c3341ee6c69a259e1dca747cac
> ] 
> [Match X11 dependencies with xmonad's
> Spencer Janssen <spencerjanssen@gmail.com>**20091216012630
> Ignore-this: bcbd6e3e5e2675cdac6f1d1b1bc09853
> ] 
> [Safer X11 version dependency
> Spencer Janssen <spencerjanssen@gmail.com>**20091216005916
> Ignore-this: 6dc805a8a0c7a3d3369bc1d6d97d4f56
> ] 
> [Update Prompt for numlockMask changes
> Spencer Janssen <spencerjanssen@gmail.com>**20091103222621
> Ignore-this: 4980e2fdf4c296a266590cc4acf76e1e
> ] 
> [X.A.GridSelect: documentation typo fix
> Tomas Janousek <tomi@nomi.cz>**20091211182515
> Ignore-this: 521bef2a73a9e969d7a96defb555177b
> 
> spotted by Justin on IRC
> ] 
> [X.L.MouseResizableTile: change description for mirrored variant
> Tomas Janousek <tomi@nomi.cz>**20091211124218
> Ignore-this: dbc02fb777e35cdc15fb11979c1e983e
> 
> The description for mirrored MouseResizableTile is now "Mirror
> MouseResizableTile", to follow the standard of other layouts that can be
> mirrored using the Mirror modifier.
> ] 
> [A.GridSelect shouldn't grab keys if there are no choices.
> Adam Vogt <vogt.adam@gmail.com>**20091210183038
> Ignore-this: 48509f780120014a10b32e7289369f32
> 
> Thanks thermal2008 in #xmonad for bringing up the corner case when gridselect
> is run with an empty list of choices.
> ] 
> [onScreen' variation for X () functions
> Nils Schweinsberg <mail@n-sch.de>**20091209003717
> Ignore-this: 6a9644c729c2b60f94398260f3640e4d
> ] 
> [Added Bluetile's config
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091209150309
> Ignore-this: 641ae527ca6f615e81822b6f38f827e7
> ] 
> [BluetileCommands - a list of commands that Bluetile uses to communicate with its \
> dock Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091208234431
> Ignore-this: 1a5a5e69c7c37d3ffe8d8e09496568de
> ] 
> [Use lookup instead of find in A.PerWorkspaceKeys
> Adam Vogt <vogt.adam@gmail.com>**20091129032650
> Ignore-this: 7ecb043df4317365ff3d25b17303eed8
> ] 
> [Change of X.A.OnScreen, more simple and predictable behaviour of onScreen, new \
> functions: toggle(Greedy)OnScreen Nils Schweinsberg <mail@n-sch.de>**20091207155050
> Ignore-this: c375250778758e401217bcad83567d3b
> ] 
> [Module to ensure that a dragged window always stays in front of all other windows
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091129004506
> Ignore-this: a8a389198ccc28a66686561d4d17e91b
> ] 
> [Decoration that allows to switch the position of windows by dragging them onto \
> each other. Jan Vornberger \
>                 <jan.vornberger@informatik.uni-oldenburg.de>**20091129003431
> Ignore-this: 38aff0f3beb1a1eb304219c4f3e85593
> ] 
> [A decoration with small buttons and a supporting module
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091129002416
> Ignore-this: 2d65133bc5b9ad29bad7d06780bdaa4
> ] 
> [XMonad.Actions.Search: finally fixed the internet archive search plugin
> gwern0@gmail.com**20091205033435
> Ignore-this: c78ecebced9bc8e39e6077ffa9f9f182
> ] 
> [XMonad.Actions.Search: in retrospect, a bit silly to make everyone go through SSL
> gwern0@gmail.com**20091205033318
> Ignore-this: 452b4e6efb83935fc1063ab695ae074d
> ] 
> [Prompt.hs: Corrected quit keybindings
> Tim Horton <tmhorton@gmail.com>**20091203050041
> Ignore-this: e8cd2cd1d41f6807f68157ef37c631ea
> ] 
> [Extended decoration module with more hooks and consolidated some existing ones
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091128234310
> Ignore-this: 5a23af3009ecca2feb9a84f8c6f8ac33
> ] 
> [Extended decoration theme to contain extra static text that always appears in the \
> title bar Jan Vornberger \
>                 <jan.vornberger@informatik.uni-oldenburg.de>**20091024213928
> Ignore-this: 95f46d6b9ff716a2d8002a426c1012c8
> ] 
> [Extended paintAndWrite to allow for multiple strings to be written into the \
> rectangle Jan Vornberger \
>                 <jan.vornberger@informatik.uni-oldenburg.de>**20091024205111
> Ignore-this: eb7d32284b7f98145038dcaa14f8075e
> ] 
> [Added the alignment option 'AlignRightOffset'
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091024204513
> Ignore-this: 58cc00e1be669877e38a97e36b924969
> ] 
> [Prevent windows from being decorated that are too small to contain decoration.
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20090627094316
> Ignore-this: 39b806462bbd424f1206b635e9d506e1
> ] 
> [X.L.MouseResizableTile: keep draggers on the bottom of the window stack.
> Tomas Janousek <tomi@nomi.cz>**20091126173413
> Ignore-this: 8089cf8ce53580090b045f4aebb1b899
> ] 
> [Implemented smarter system of managing borders for BorderResize
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091122233651
> Ignore-this: 4775c082249e598a84c79b2e819f28b0
> ] 
> [X.H.DynamicLog: make documentation for 'dzen' and 'xmobar' slightly more clear
> Brent Yorgey <byorgey@cis.upenn.edu>**20091121170739
> Ignore-this: c9a241677fda21ef93305fc3882f102e
> ] 
> [X.H.DynamicLog: fix xmonadPropLog double-encoding of UTF-8
> Tomas Janousek <tomi@nomi.cz>**20091121004829
> Ignore-this: bde612bbd1a19951f9718a03e737c4ac
> 
> dynamicLogString utf-8 encodes its output, xmonadPropLog shouldn't do that
> again.
> ] 
> [X.H.ManageDocks: ignore struts that cover an entire screen on that screen
> Tomas Janousek <tomi@nomi.cz>**20091119145043
> Ignore-this: ad7bbf10c49c9f3e938cdc3d8588e202
> 
> Imagine a screen layout like this:
> 
> 11111111
> 11111111
> 11111111
> 222222    <--- xmobar here
> 222222
> 222222
> 
> When placing xmobar as indicated, the partial strut property indicates that an
> entire height of screen 1 is covered by the strut, as well as a few lines at
> the top of screen 2. The original code would create a screen rectangle of
> negative height and wreak havoc. This patch causes such strut to be ignored on
> the screen it covers entirely, resulting in the desired behaviour of a small
> strut at the top of screen 2.
> 
> Please note that this semantics of _NET_WM_STRUT and _NET_WM_STRUT_PARTIAL is
> different to what is in wm-spec. The "correct" thing to do would be to discard
> the covered portion of screen 1 leaving two narrow areas at the sides, but
> this new behaviour is probably more desirable in many cases, at least for
> xmonad/xmobar users.
> 
> The correct solution of having separate _NET_WM_STRUT_PARTIAL for each
> Xinerama screen was mentioned in wm-spec maillist in 2007, but has never
> really been proposed, discussed and included in wm-spec. Hence this "hack".
> ] 
> [Use imported 'fi' in PositionStoreHooks
> Adam Vogt <vogt.adam@gmail.com>**20091119103112
> Ignore-this: 6563a3093083667c79aa491a6f59b805
> ] 
> [Changed interface of X.U.ExtensibleState
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091116171013
> Ignore-this: 9a830f9341e461628974890bab0bd65b
> 
> Changed the interface of X.U.ExtensibleState to resemble that of
> Control.Monad.State and modified the modules that use it accordingly.
> ] 
> [PositionStoreFloat - a floating layout with support hooks
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091115184833
> Ignore-this: 8b1d0fcef1465356d72cb5f1f32413b6
> ] 
> [PositionStore utility to store information about position and size of a window
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091108195735
> Ignore-this: 2f6e68a490deb75cba5d007b30c93fb2
> ] 
> [X.H.Urgencyhook fix minor doc bug
> Anders Engstrom <ankaan@gmail.com>**20091115131121
> Ignore-this: 18b63bccedceb66c77b345a9300f1ac3
> ] 
> [X.H.DynamicLog fix minor indentation oddness
> Anders Engstrom <ankaan@gmail.com>**20091115130707
> Ignore-this: 7f2c49eae5527874ca4499767f4167c4
> ] 
> [X.A.CycleWS cycle by tag group
> Anders Engstrom <ankaan@gmail.com>**20091115130217
> Ignore-this: 909da8c00b47a31d04f59bd3751c60bc
> 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. ] 
> [Use less short names in X.Prompt
> Adam Vogt <vogt.adam@gmail.com>**20091115025647
> Ignore-this: 1d27b8efc4d829a5642717c6f6426336
> ] 
> [Use io instead of liftIO in Prompt
> Adam Vogt <vogt.adam@gmail.com>**20091115025301
> Ignore-this: cd4031b74cd5bb874cd2c3cc2cb087f2
> ] 
> ['io' and 'fi' are defined outside of Prompt
> Adam Vogt <vogt.adam@gmail.com>**20091115024001
> Ignore-this: 3426056362db9cbfde7d2f4edbfe6f36
> ] 
> [Use zipWithM_ instead of recursion in Prompt.printComplList
> Adam Vogt <vogt.adam@gmail.com>**20091115023451
> Ignore-this: 2457500ed871ef120653a3d4ada13441
> ] 
> [Minor style changes in DynamicWorkspaces
> Adam Vogt <vogt.adam@gmail.com>**20091115022751
> Ignore-this: 1a6018ab134e4420a949354575a8a110
> ] 
> [X.A.DynamicWorkspaces fix doc and add behaviour
> Anders Engstrom <ankaan@gmail.com>**20091113233903
> Ignore-this: ab7c20a9c1b43ebc6a7f4700d988fb73
> Before this patch the documentation claims that it won'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. ] 
> [rework XMonad.Util.Dzen
> daniel@wagner-home.com**20091114051509
> Ignore-this: 16d93f91c54f7d195b1a418e6c0351c5
> ] 
> [generalize IO actions to MonadIO m => m actions
> daniel@wagner-home.com**20091114023616
> Ignore-this: 2c801a27b0ffee34a2f0daca3778613a
> 
> 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. ] 
> [fix documentation to match implementation
> daniel@wagner-home.com**20091114021328
> Ignore-this: 6dbbb118b139f443c40a573445a48d07
> ] 
> [Bypass more of stringToKeysym in U.Paste
> Adam Vogt <vogt.adam@gmail.com>**20091114223726
> Ignore-this: 617c922647e9f49f5ecefa0eb1c65d3c
> ] 
> [Don't erase floating information with H.InsertPosition (Issue 334)
> Adam Vogt <vogt.adam@gmail.com>**20091113161402
> Ignore-this: de1c03eb860ea25b390ee5c756b02997
> ] 
> [Rename gridselectViewWorkspace to gridselectWorkspace, add another example.
> Adam Vogt <vogt.adam@gmail.com>**20091112211435
> Ignore-this: 462cf1c7f66ab97a1ce642977591a910
> 
> The name should be more general to suggest uses other than just viewing other
> workspaces.
> ] 
> [X.A.DynamicWorkspaces: fix addWorkspace and friends so they never add another copy \
> of an existing workspace Brent Yorgey <byorgey@cis.upenn.edu>**20091112201351
> Ignore-this: 5bfe8129707b038ed04383b7566b2323
> ] 
> [Trim whitespace in H.FloatNext
> Adam Vogt <vogt.adam@gmail.com>**20091111022702
> Ignore-this: 1ad52678246fa1ac951169c2356ce10b
> ] 
> [Use ExtensibleState in H.FloatNext
> Adam Vogt <vogt.adam@gmail.com>**20091111022513
> Ignore-this: 760d95a685af080466cb4164d1096423
> ] 
> [Make a haddock link direct in C.Desktop.
> Adam Vogt <vogt.adam@gmail.com>**20091111013810
> Ignore-this: da724a7974c3de60f49996c1fe92d3fb
> ] 
> [Change A.TopicSpace haddocks to use block quotes.
> Adam Vogt <vogt.adam@gmail.com>**20091111013241
> Ignore-this: 6f7f43d2715cfde62b9c05c7d9a0da2
> ] 
> [Add defaultTopicConfig, to allow adding more fields to TopicSpace later.
> Adam Vogt <vogt.adam@gmail.com>**20091111012915
> Ignore-this: 6dad95769651a9a1ef8d771f81c91f8e
> ] 
> [X.A.WindowGo: fix haddock markup
> Spencer Janssen <spencerjanssen@gmail.com>**20091111003256
> Ignore-this: c6a06de900ca8b67498abf5152e3d9ea
> ] 
> [Minor style corrections in X.U.SpawnOnce
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091109201543
> Ignore-this: 1264852c23b4f84b2580bf4567529c68
> ] 
> [Add gridselectViewWorkspace in X.A.GridSelect
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091109155815
> Ignore-this: 5543211e9e3fd325cb798b004635a525
> ] 
> [minor-doc-fix-in-ManageHelpers
> `Henrique Abreu <hgabreu@gmail.com>'**20091104172727
> Ignore-this: 231ad417541bc3c17a1cb2dff139d55d
> ] 
> [Set buffering to LineBuffering in scripts/xmonadpropread.hs
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091108204106
> Ignore-this: 4e593fc1461fbbfb5b147c7c7702584e
> 
> (Required for the script to work properly with tools like dzen)
> ] 
> [X.U.ExtensibleState: style
> Spencer Janssen <spencerjanssen@gmail.com>**20091108182858
> Ignore-this: f189da75ad2c57ae9cca48eaf69a6bad
> ] 
> [X.A.DynamicWorkspaces: new 'addWorkspacePrompt' method
> Brent Yorgey <byorgey@cis.upenn.edu>**20091108170503
> Ignore-this: a3992b1b7938be80d8fd2a5a503a4042
> ] 
> [Remove defaulting when using NoMonomorphismRestriction in H.EwmhDesktops
> Adam Vogt <vogt.adam@gmail.com>**20091107195255
> Ignore-this: ca3939842639c94ca4fd1ff6624319c1
> ] 
> [Update A.TopicSpace to use extensible state. No config changes required.
> Adam Vogt <vogt.adam@gmail.com>**20091107194502
> Ignore-this: 7a82aad512bb727b3447de0faa4a210f
> ] 
> [Inline tupadd function in A.GridSelect
> Adam Vogt <vogt.adam@gmail.com>**20091101190312
> Ignore-this: 458968154303ab865c304f387d6ac83b
> ] 
> [Alphabetize exposed-modules
> Spencer Janssen <spencerjanssen@gmail.com>**20091107174946
> Ignore-this: 919684aea7747a756b303f9b34a2870b
> ] 
> [Use X.U.SpawnOnce in my config
> Spencer Janssen <spencerjanssen@gmail.com>**20091107174615
> Ignore-this: fe8f5f75136128280942771ec429f09a
> ] 
> [Add XMonad.Util.SpawnOnce
> Spencer Janssen <spencerjanssen@gmail.com>**20091107173820
> Ignore-this: 8d4657bbaa8dbeb1d0f9d22293bfef19
> ] 
> [Store deserialized data after reading in X.U.ExtensibleState
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091107103832
> Ignore-this: 192beca56e9437292bd3f16451ae9e66
> ] 
> [Fixed conflict between X.U.ExtensibleState and X.C.Sjanssen
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091107103619
> Ignore-this: 80f4bb218574d7c528af17473c6e4f66
> ] 
> [Use X.U.ExtensibleState instead of IORefs
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091106115601
> Ignore-this: e0e80e31e51dfe76f2b2ed597892cbba
> 
> This patch changes SpawnOn, DynamicHooks and UrgencyHooks to
> use X.U.ExtensibleState instead of IORefs. This simplifies the
> usage of those modules thus also breaking current configs.
> ] 
> [Add X.U.ExtensibleState
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091106115336
> Ignore-this: d80d9d0c10a53fb71a375e432bd29344
> ] 
> [My config uses xmonadPropLog now
> Spencer Janssen <spencerjanssen@gmail.com>**20091107005230
> Ignore-this: 8f16b8bea86dfcd3739f1566f5897578
> ] 
> [Add xmonadpropread script
> Spencer Janssen <spencerjanssen@gmail.com>**20091107004858
> Ignore-this: 8cc7ed36ec1126d0139638148f9642e8
> ] 
> [Add experimental xmonadPropLog function
> Spencer Janssen <spencerjanssen@gmail.com>**20091107004624
> Ignore-this: f09b2c11b16a3af993b63d1b39566120
> ] 
> [XMonad.Actions.Search: imdb search URL tweak for bug #33
> gwern0@gmail.com**20091103222330
> Ignore-this: bae5e6d3ec6c4b6591016ece9dffb202
> ] 
> [Clean imports for L.BoringWindows
> Adam Vogt <vogt.adam@gmail.com>**20091103140649
> Ignore-this: 56946a652329390dbdd63746ca23ee8e
> ] 
> [I maintain L.BoringWindows
> Adam Vogt <vogt.adam@gmail.com>**20091103140509
> Ignore-this: de853972b4c1c4cefa2dc29e68828d5d
> ] 
> [Implement hasProperty in terms of runQuery in U.WindowProperties
> Adam Vogt <vogt.adam@gmail.com>**20091031154945
> Ignore-this: 1c351bc436e0e323dc25d8f5ff734dcb
> 
> This addresses issue 302 for unicode titles by actually using the complicated
> XMonad.ManageHook.title code, instead of reimplementing it with stringProperty
> (which doesn't appear to handle unicode).
> ] 
> [Add functions to access the current input in X.Prompt
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091030235033
> Ignore-this: 3f568c1266d85dcaa5722b19bbbd61dd
> ] 
> [Remove putSelection, fixes #317
> Spencer Janssen <spencerjanssen@gmail.com>**20091030224354
> Ignore-this: 6cfd6d92e1d133bc9e3cbb7c8339f735
> ] 
> [Fix typo in H.FadeInactive documentation
> Adam Vogt <vogt.adam@gmail.com>**20091029165736
> Ignore-this: b2af487cd382416160d5540b7f210464
> ] 
> [X.L.MultiCol constructor 0 NWin bugfig
> Anders Engstrom <ankaan@gmail.com>**20091029105633
> Ignore-this: e6a24f581593424461a8675984d14d25
> Fix bug where the constructor did not accept catch-all columns. Also some minor \
> cleaning. ] 
> [X.H.ManageHelpers: added currentWs that returns the current workspace
> Ismael Carnales <icarnales@gmail.com>**20091028193519
> Ignore-this: dcd3dac6bd741d26747807691f125637
> ] 
> [X.L.MultiColumns bugfix and formating
> Anders Engstrom <ankaan@gmail.com>**20091027131741
> Ignore-this: 6978f485d18adb8bf81cf6c8e0d0332
> 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. ] 
> [X.L.MultiColumns NWin shrinkning fix
> Anders Engstrom <ankaan@gmail.com>**20091027005932
> Ignore-this: 9ba40ee14ec12c3885173817eac2b564
> Fixed a bug where the list containing the number of windows in each column was \
> allowed the shrink if a column was unused. ] 
> [New Layout X.L.MultiColumns
> Anders Engstrom <ankaan@gmail.com>**20091024175155
> Ignore-this: a2d3d2eee52c28eab7d125f6b621cada
> 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. ] 
> [Changing behaviour of ppUrgent with X.H.DynamicLog
> mail@n-sch.de**20090910010411
> Ignore-this: 3882f36d5c49e53628485c1570bf136a
> 
> Currently, the ppUrgent method is an addition to the ppHidden method.
> This doesn't make any sense since it is in fact possible to get urgent
> windows on the current and visible screens. So I've raised the ppUrgent
> printer to be above ppCurrent/ppVisible and dropped its dependency on
> ppHidden.
> 
> In addition to that this makes it a lot more easier to define a more
> custom ppUrgent printer, since you don't have to "undo" the ppHidden
> printer anymore. This also basicly removes the need for dzenStrip,
> although I just changed the description.
> 
> -- McManiaC / Nils
> 
> ] 
> [TAG 0.9
> Spencer Janssen <spencerjanssen@gmail.com>**20091026013449
> Ignore-this: 542b6105d6deed65e12d1f91c666b0b2
> ] 
> [Bump version to 0.9
> Spencer Janssen <spencerjanssen@gmail.com>**20091026004850
> Ignore-this: e9d2eee4ec5df8f52bf8f593ff0d2605
> ] 
> [fix window rectangle calculation in X.A.UpdatePointer
> Tomas Janousek <tomi@nomi.cz>**20091026154918
> Ignore-this: ad0c3a020b802854919c7827faa001ad
> ] 
> [fix X.U.Run.spawnPipe fd leak
> Tomas Janousek <tomi@nomi.cz>**20091025210246
> Ignore-this: 24375912d505963fafc917a63d0e79a0
> ] 
> [README Update to point to wiki changelog, prettify
> Wirt Wolff <wirtwolff@gmail.com>**20091024203550
> Ignore-this: 8a0a1824e67c5b2dbbb23e5061d01ece
> ] 
> [Doc namespace minor updates
> Wirt Wolff <wirtwolff@gmail.com>**20091023184905
> Ignore-this: b3fd7de477f0a9ba6af1d8c78eb47754
> Most signifigant changes are use unversioned links to external html,
> fix a couple of key binding examples, and double quotes that should
> have been single.
> ] 
> [Docs: use myLayout like template rather than plural
> Wirt Wolff <wirtwolff@gmail.com>**20091023042651
> Ignore-this: 8f1814c42e90e18af636a14751ae2f58
> Despite myLayouts currently being more popular in examples, make
> them all myLayout as in man/xmonad.hs to avoid mixing them in the
> same module as was done a few places, leading to confusion for some users.
> ] 
> [Use 'ewmh' in relevant configs
> Spencer Janssen <spencerjanssen@gmail.com>**20091023035043
> Ignore-this: 7cac9c6c3795a3fb60899db29cc65d08
> ] 
> [Add ewmh function to set all EWMH settings in one step
> Spencer Janssen <spencerjanssen@gmail.com>**20091023034630
> Ignore-this: 4d79c1e156f56882036ce43e70cce6f2
> ] 
> [Refer to modm as the current modMask
> Adam Vogt <vogt.adam@gmail.com>**20091022041126
> Ignore-this: d097c7dc1746c55e1d4078a7148f9d5a
> 
> This makes the config suggestions consistent with the current template.
> ] 
> [Resolve conflicts between Justin Bogner's C.Desktop patch and latest head.
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091022115849
> Ignore-this: ba805e9889d6bda5ea873e3537b0111f
> ] 
> [Move EWMH support initialization to a startupHook
> Justin Bogner <mail@justinbogner.com>**20091011053538
> Ignore-this: bd35654d0afb0a2fec73b16ab7ac38b1
> 
> Set EWMH support atoms and the window manager name in a startup hook,
> rather than in the log hook: the log hook occurs far too frequently
> for it to make sense to set constants with it.
> ] 
> [C.Desktop fix bad escaping and typo
> Wirt Wolff <wirtwolff@gmail.com>**20091022100156
> Ignore-this: 70b51a2d8b4443fa364414630ed074c0
> ] 
> [C.Desktop doc explaining common desktop config customizations
> Wirt Wolff <wirtwolff@gmail.com>**20091022042748
> Ignore-this: 83d1f026ae4f4b7f5796269b51e98349
> To close http://code.google.com/p/xmonad/issues/detail?id=174
> ] 
> [Clean keymask in GridSelect(solves issue 318)
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091021223404
> Ignore-this: 2c315539bf1ae8c427b7856b5fdb2e49
> ] 
> [Share one StdGen between RGB channels in A.RandomBackground
> Adam Vogt <vogt.adam@gmail.com>**20091020165924
> Ignore-this: 15eef05c9a73d578f5513550757bb8bb
> ] 
> [Document A.RandomBackground
> Adam Vogt <vogt.adam@gmail.com>**20091020165205
> Ignore-this: cb6fb4567abde474fd975a25dca5adc2
> ] 
> [Bump X11 dependency to 1.4.6.1, to access cursor definitions.
> Adam Vogt <vogt.adam@gmail.com>**20091020161914
> Ignore-this: 60728999fe041302379326494df30921
> ] 
> [C.Gnome combine with instead of replace Desktop startupHook
> Wirt Wolff <wirtwolff@gmail.com>**20091020092010
> Ignore-this: 99af07c4d36a575570935a0421a0e241
> Now that C.Desktop sets startupHook do both rather than only
> gnomeRegister.
> ] 
> [Remove H.SetCursor: U.Cursor is preferred
> Adam Vogt <vogt.adam@gmail.com>**20091019235722
> Ignore-this: 5796fe86879c2ce02ef12150e0a8603a
> ] 
> [Add some haddock formatting in U.Cursor
> Adam Vogt <vogt.adam@gmail.com>**20091019233036
> Ignore-this: 744c36a128b403980e3bc62c9e99d432
> ] 
> [XMonadContrib: set the default cursor to left_ptr for the Desktop config
> Andres Salomon <dilinger@collabora.co.uk>**20090915165753
> Ignore-this: a4f7417c8a4190a0cabdadbd359e217
> ] 
> [XMonadContrib: add a utility module to set the default cursor
> Andres Salomon <dilinger@collabora.co.uk>**20090915165604
> Ignore-this: b0559b7b2617db90506492aa1479cde
> 
> This adds XMonad.Util.Cursor, which defines a function that allows setting
> the default mouse cursor.  This can be useful for (for example) gnomeConfig,
> to ensure that the root cursor is changed from X_cursor to left_ptr.
> 
> ] 
> [More docs formatting in A.GridSelect
> Adam Vogt <vogt.adam@gmail.com>**20091016203132
> Ignore-this: a0a489c2b65fa2d755b4aca544c3d73a
> ] 
> [In A.GridSelect correct haddocks
> Adam Vogt <vogt.adam@gmail.com>**20091016171159
> Ignore-this: f7f714c42544d9230eb9c9bec86cd36a
> ] 
> [Describe parameters to subLayouts more
> Adam Vogt <vogt.adam@gmail.com>**20091016164937
> Ignore-this: d09f236cb17adf7a9092f1b0e646def3
> ] 
> [Refer to modMask as modm in L.SubLayouts sample keybinds
> Adam Vogt <vogt.adam@gmail.com>**20091016164737
> Ignore-this: 3a8366f7d8f337be750b4db61a454991
> ] 
> [Format L.SubLayout TODO
> Adam Vogt <vogt.adam@gmail.com>**20091016155837
> Ignore-this: 4dfa10aa2f7087658b6a93299f75310
> ] 
> [Add more links in L.SubLayout documentation
> Adam Vogt <vogt.adam@gmail.com>**20091016155518
> Ignore-this: 70347cc0bcf4966e6c07f45740882087
> ] 
> [Link a screenshot in L.SubLayouts from the haskellwiki
> Adam Vogt <vogt.adam@gmail.com>**20091016150539
> Ignore-this: c58b64c5c5f28f4d71c9e8498965ca9e
> ] 
> [Added focusMaster to BoringWindows
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091015233518
> Ignore-this: 7f99337fc63cdc7c861fdc3c2ab2d3d1
> ] 
> [Remove NamedFieldPuns from L.LimitWindows
> Adam Vogt <vogt.adam@gmail.com>**20091015010123
> Ignore-this: 228ca5b5ac067876c3b2809fc03b6016
> 
> This is more ugly, but otherwise we have lots of trouble for ghc-6.8
> compatibility (due to the recomended flag having changed)
> ] 
> [added prop_select_two_consec to test_Selective.hs
> Max Rabkin <max.rabkin@gmail.com>**20091001155853
> Ignore-this: 80e2b5d8658dc053c66993be970e6247
> ] 
> [Note L.Minimize in L.LimitWindows haddocks.
> Adam Vogt <vogt.adam@gmail.com>**20091014205326
> Ignore-this: 83a809d2467a286e0c1a133be947add9
> ] 
> [Move limitSelect into L.LimitWindows
> Max Rabkin <max.rabkin@gmail.com>**20091014202213
> Ignore-this: 51d6e9da4a6a4f683cd145371e90be17
> ] 
> [added haddocks for L.Selective
> Max Rabkin <max.rabkin@gmail.com>**20091002112720
> Ignore-this: d29016f1261d0176634bb040fcc1836a
> ] 
> [Support IncMasterN in Selective
> Max Rabkin <max.rabkin@gmail.com>**20090929173346
> Ignore-this: 3fd288d0062905177c06006ea4066f6d
> ] 
> [removed commented-out code
> Max Rabkin <max.rabkin@gmail.com>**20090929163509
> Ignore-this: 776b1566626660b639f8933980f5a3a1
> ] 
> [Test that update preserves invariants of Selection
> Max Rabkin <max.rabkin@gmail.com>**20090929163139
> Ignore-this: 340b2a1465b9fc98cdc386b511ce26bb
> ] 
> [move updateSel from test_Selective into Selective
> Max Rabkin <max.rabkin@gmail.com>**20090929160420
> Ignore-this: 6636f2f2d5aa15a6d0ef6d45ee38aa42
> ] 
> [Add "Selective" layout modifier
> Max Rabkin <max.rabkin@gmail.com>**20090929160207
> Ignore-this: ded23208563ca8c8d411916d01351132
> ] 
> [Filter extra modifier bits some layouts set in XMonad.Prompt
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091012132814
> Ignore-this: c0898809766061700c11f6da84c74bed
> ] 
> [Cleanup L.BorderResize
> Adam Vogt <vogt.adam@gmail.com>**20091012055532
> Ignore-this: 7d369ed3050543a5c30a64991b7bf6f5
> ] 
> [Layout modifier to resize windows by dragging their borders with the mouse
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091011222214
> Ignore-this: 5cf197ea14b7c502fa13a16773215762
> ] 
> [Add U.Replace which implements a --replace behavior.
> Adam Vogt <vogt.adam@gmail.com>**20091012052306
> Ignore-this: bd519abe3250a01507f225a29c08048a
> ] 
> [Update D.Extending module lists with help of a script (also added)
> Adam Vogt <vogt.adam@gmail.com>**20091012044918
> Ignore-this: c280d3047355be962e8ef706d598aa43
> ] 
> [Correct erroneous haddock link in U.XSelection
> Adam Vogt <vogt.adam@gmail.com>**20091012043133
> Ignore-this: e5c905104741d14dbb411272c37e0e29
> ] 
> [Make L.Mosaic explicit imports compatible with haskell-src-exts
> Adam Vogt <vogt.adam@gmail.com>**20091012042859
> Ignore-this: 85ca9ff7fc924e6291edb05f4a1de77c
> ] 
> [Put screenshots inline for L.ThreeColumns and L.Roledex
> Adam Vogt <vogt.adam@gmail.com>**20091012042651
> Ignore-this: df314db757ad09bb7185c16cca8649d3
> ] 
> [Use LANGUAGE pragma instead of -fglasgow-exts in L.Minimize
> Adam Vogt <vogt.adam@gmail.com>**20091012042457
> Ignore-this: cbb454ab573b1e1f931d79c322fa1303
> ] 
> [Add a description to L.LayoutScreens
> Adam Vogt <vogt.adam@gmail.com>**20091012042231
> Ignore-this: beceb2f65206079fae6421c5df0fb439
> ] 
> [Add Portability and Stability boilerplate for a couple modules.
> Adam Vogt <vogt.adam@gmail.com>**20091012041055
> Ignore-this: 7d875c5e47535a11e26f9a604a01fe88
> 
> Needed for automating the generation of the Doc.Extending module summaries.
> ] 
> [Correct hyperlink in A.DeManage
> Adam Vogt <vogt.adam@gmail.com>**20091012040340
> Ignore-this: db08eba0253f94e5ce9cbcf3632b387a
> ] 
> [NoFrillsDecoration - most basic version of decoration for windows
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091011220512
> Ignore-this: accda53da08f37d6b4091d1c6e17e2c1
> ] 
> [Split A.TopicSpace documentation into sections
> Adam Vogt <vogt.adam@gmail.com>**20091012004730
> Ignore-this: 312066f68e7051a8ee89cbbec40ce2a0
> ] 
> [Use hyperlinks in WorkspaceCursors documentation.
> Adam Vogt <vogt.adam@gmail.com>**20091008032047
> Ignore-this: d698d86d01d9a69652fa3aa732873299
> ] 
> [Minor haddock formatting correction in L.Tabbed
> Adam Vogt <vogt.adam@gmail.com>**20091008024839
> Ignore-this: 8084aebbae198eda3d455ab541e94169
> ] 
> [Hyperlink the reference to ResizableTile in MouseResizableTile
> Adam Vogt <vogt.adam@gmail.com>**20091005175303
> Ignore-this: 8d98176fd0b78ef3565a6f9556e220b8
> ] 
> [Finish a sentence in H.ManageDocks haddocks.
> Adam Vogt <vogt.adam@gmail.com>**20091005165312
> Ignore-this: 43f4ffc627b3db204d74ed361ef939cf
> ] 
> [Add a SetStruts message to H.ManageDocks.
> Adam Vogt <vogt.adam@gmail.com>**20091005164221
> Ignore-this: 98a76bb48b8a569b459cadc4e6412c06
> 
> This patch also uses Data.Set instead of [] for the AvoidStruts
> constructor to simplify the SetStruts implementation.
> ] 
> [Derive Enum for U.Types.Direction2D
> Adam Vogt <vogt.adam@gmail.com>**20091005163132
> Ignore-this: 258e35a6f23f46039b9a8ee45187cdff
> ] 
> [Rearrange the GSCONFIG class in A.Gridselect
> Adam Vogt <vogt.adam@gmail.com>**20091005023227
> Ignore-this: 875080c8beabb81e19de44f7e60ca19d
> ] 
> [Add a GSCONFIG class to overload defaultGSConfig.
> Adam Vogt <vogt.adam@gmail.com>**20091003193804
> Ignore-this: 220a13bf1ee145b18f28c66e32c79266
> 
> This uses -XOverlappingInstances to provide a fallback instance which uses the
> focusedBorderColor and normalBorderColor, but that part is optional.
> 
> User's configs should use -XNoMonomorphismRestriction if they want to avoid
> writing a type signature for myGSConfig.
> 
> Also, type variables become ambiguous in expressions like:
> 
> > myGSConfig = defaultGSConfig { gs_navigate = neiu `M.union` gs_navigate \
> > defaultGSConfig } where neiu = M.map (\(x,y) (a,b) -> (x+a,y+b)) $ M.fromList
> > [((0,xK_n),(-1,0)) ,((0,xK_e),(0,1)) ,((0,xK_i),(1,0)) ,((0,xK_u),(0,-1))]
> 
> But that can be resolved with the appropriate (`asTypeOf`myGSConfig) applied to
> the second defaultGSConfig, or the use of some other method for modifying
> existing fields.
> ] 
> [Add a screenshots section in the A.GridSelect haddocks
> Adam Vogt <vogt.adam@gmail.com>**20091004160816
> Ignore-this: be358c0173df3d02b45526c134604f4e
> ] 
> [Fixed guard in WorkspaceByPos - condition got switched during transformation
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091004085232
> Ignore-this: 6685ef8ddff55c7758c2b77cfc65cbba
> ] 
> [A.CycleWindows update docs, use lib fn second instead of custom lambda
> Wirt Wolff <wirtwolff@gmail.com>**20090926154700
> Ignore-this: 7ec0d6a46d4a6255870b1e9c4a25c1bb
> ] 
> [Group functions in GridSelect haddock, add an inline screenshot.
> Adam Vogt <vogt.adam@gmail.com>**20091003181927
> Ignore-this: 3c6f1c5aff4fe197aa965cbda23e1be7
> ] 
> [minor hlint cleanup of Prompt and XMonad.Prompt.* sub-modules
> sean.escriva@gmail.com**20090928204443
> Ignore-this: 25e71f59bdcc5bf94c2d6f476833216b
> ] 
> [New module : X.H.SetCursor
> mail@n-sch.de**20090915101327
> Ignore-this: 2f0641155ada05dae955cd6941d52b70
> Idea from Andres Salomon
> (http://www.haskell.org/pipermail/xmonad/2009-September/008553.html).
> ] 
> [Hyperlink modules named in WindowMenu, RestoreMinimized, and Minimize
> Adam Vogt <vogt.adam@gmail.com>**20091003151325
> Ignore-this: 5eb1496fd258fa0c43fb0a58136ccfff
> ] 
> [Mention X.L.Maximize and X.L.Minimize in WindowMenu documentation
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20091003111330
> Ignore-this: 3a00a896509aa8646ae718005d7a1fc1
> ] 
> [Small style change in L.SimplestFloat
> Adam Vogt <vogt.adam@gmail.com>**20091002001552
> Ignore-this: d8be5d01d47833c70d220e0f1555c42f
> ] 
> [Use U.XUtils.fi to make WindowMenu clearer
> Adam Vogt <vogt.adam@gmail.com>**20091001225736
> Ignore-this: 63e73cd7c5de22b3e30e63c1e588e403
> ] 
> [Extended GridSelect
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20090930152741
> Ignore-this: 2999d891387e4db9746061b1a42264a4
> 1) Added another convenience wrapper that allows to select an X() action
> from a given list.
> 2) Implemented the option to change the position of the selection diamond.
> (Re-recorded from Bluetile repo, rebased to current darcs)
> ] 
> [WindowMenu based on GridSelect that displays actions for the focused window \
> (re-recorded from Bluetile repo). Jan Vornberger \
>                 <jan.vornberger@informatik.uni-oldenburg.de>**20090930155343
> Ignore-this: b12a06c0321f3e9689ab8109a1fac0ac
> ] 
> [Use default handler in XMonad.Prompt.eventLoop
> Daniel Schoepe <daniel.schoepe@gmail.com>**20091001180402
> Ignore-this: 10c9c856aec515d57f0f0a42bc727f1
> ] 
> [Remove redundant parentheses from L.MouseResizableTile
> Adam Vogt <vogt.adam@gmail.com>**20090930212110
> Ignore-this: 1853cde69ec03ce5b88726b4de05f2b0
> ] 
> [Use ErrorT instead of nested case for H.WorkspaceByPos
> Adam Vogt <vogt.adam@gmail.com>**20090930204914
> Ignore-this: c3f96fbbf0ce917c4962b297dea3b174
> ] 
> [Note that ManageDocks is preferred to A.DeManage
> Adam Vogt <vogt.adam@gmail.com>**20090930204443
> Ignore-this: dcb9e069a65980f83941ca58607a6ce5
> ] 
> [Factor out redundancy in L.MouseResizableTile.handleResize
> Adam Vogt <vogt.adam@gmail.com>**20090930204151
> Ignore-this: 77d8e635a06237b220f427fa64045a3a
> ] 
> [In a multi-head setup, move windows with a non-zero position upon creation to the \
> right workspace. Jan Vornberger \
>                 <jan.vornberger@informatik.uni-oldenburg.de>**20090930123341
> Ignore-this: 4efdb9d64f33d70c48fb3797b635513e
> Useful in a dual-head setup: Looks at the requested geometry of
> new windows and moves them to the workspace of the non-focused
> screen if necessary.
> ] 
> [Use LANGUAGE instead of -fglasgow-exts in L.MouseResizableTile
> Adam Vogt <vogt.adam@gmail.com>**20090930200443
> Ignore-this: 861364005402c2c34a20495dd2bb81f8
> ] 
> [Remove redundant ($) in A.Commands
> Adam Vogt <vogt.adam@gmail.com>**20090930200311
> Ignore-this: 63084d42007481b0e0ca5fd99d3ba083
> ] 
> [Fix haddock parse error in MouseResizableTile
> Adam Vogt <vogt.adam@gmail.com>**20090930200143
> Ignore-this: 34d9bbabcf48424121387e87931bf973
> ] 
> [A ResizableTile-like layout that can be resized using the mouse.
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20090930121105
> Ignore-this: 8941ecfb0e5653663db29e9f195e23f2
> All separations between windows can be dragged to modify the layout.
> Keyboard commands can also be used to achieve the same effect.
> ] 
> [Replaced more stuff in X.L.Maximize with pure versions
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20090516233557
> Ignore-this: ffafa9ce65efb2639a147493fb49c7e1
> ] 
> [Expanded on X.L.Maximize functionality
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20090503001052
> Ignore-this: b0d765b3bf6fc1e72cedebfd564236fc
> 1. Move maximized window into the background when it's not focused.
> 2. Changed semantics so that maximizing a different window will
> automatically restore the currently maximized window and maximize the
> new one (previously this had to be done in two seperate steps).
> ] 
> [EventHook to restore minimized windows from taskbar (re-recorded from Bluetile \
> repo) Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20090928231549
> Ignore-this: 673b003c4e07b591046ed01e5f27a7ec
> ] 
> [LayoutModifier to minimize windows (re-recorded from Bluetile repo)
> Jan Vornberger <jan.vornberger@informatik.uni-oldenburg.de>**20090928231320
> Ignore-this: 45830f2bf3bb8473c569582593844253
> ] 
> [Correctly check completionKey field in XMonad.Prompt
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090928093215
> Ignore-this: 99e68a63fe156650cc8e96d31e6d1f5a
> ] 
> [Fix for issue 315
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090928091946
> Ignore-this: 7de748d6cbd143b073451ba92ecec659
> ] 
> [Only use search history for completion in X.A.Search
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090920221455
> Ignore-this: 807fcd4fa14a25ecc9787940f9950736
> ] 
> [Fix regression in XMonad.Prompt's completion
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090920205711
> Ignore-this: 3c0e5a1f843be1981ecc3d40d43530d1
> ] 
> [Clean keymask before use in XMonad.Prompt
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090920201229
> Ignore-this: 80903452f15352aef025b9979793fb8a
> ] 
> [Export moveCursor in XMonad.Prompt
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090920192513
> Ignore-this: 7732b0444b26cd653190bb3a6e69346c
> ] 
> [U.EZConfig: Correct additionalKeysP M2-M5 values
> Wirt Wolff <wirtwolff@gmail.com>**20090906070503
> Ignore-this: 938c9739a8e00c07195890938e7c12fc
> Was 8,9,10,11,12 rather than needed 8,16,32,64,128
> ] 
> [Factor out direction types and put them in X.U.Types
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090919191717
> Ignore-this: b2255ec2754fcdf797b1ce2c082642ba
> 
> This patch factors out commonly used direction types like
> data Direction = Prev | Next
> and moves them to X.U.Types.
> ] 
> [Add function to disable focusFollowsMouse conditionally
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090829212916
> Ignore-this: de73003672f76d955fe4476ca279cded
> 
> This patch adds an event hook to have the focus follow the mouse only
> if a given condition is true.
> ] 
> [Make the keymap of XMonad.Prompt customizable
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090910160828
> Ignore-this: 37c04043518d7e4e06b821b3438cbe03
> 
> This patch allows the user to change the keymap XMonad.Prompt and
> related modules use to be customized using the XPConfig structure.
> ] 
> [Run gnomeRegister from startupHook
> Spencer Janssen <spencerjanssen@gmail.com>**20090918023410
> Ignore-this: 419959a33840264674d2c8034882b689
> ] 
> [Use U.Run.safeSpawn in C.Gnome
> Adam Vogt <vogt.adam@gmail.com>**20090917233953
> Ignore-this: b2476a239089a3fd3fe9001cf48e8f09
> ] 
> [Add gnomeRegister to C.Gnome.
> Adam Vogt <vogt.adam@gmail.com>**20090917232150
> Ignore-this: 5b2960004418c04bdbb921e3aa777fc2
> 
> Credit to Joachim Breitner here:
> http://www.haskell.org/pipermail/xmonad/2009-May/007984.html
> ] 
> [Remove excess broadcastMessage ReleaseResources from A.Commands
> Adam Vogt <vogt.adam@gmail.com>**20090904010259
> Ignore-this: e55e16750bd1ee116760559680495b46
> 
> XMonad.Operations.restart tells the layouts to release resources.  There's no
> sense in duplicating it in contrib code anymore.
> ] 
> [Mark modules last-modified in 2007 as stable
> Adam Vogt <vogt.adam@gmail.com>**20090904005147
> Ignore-this: 53f7fde5684cd9f105cf4e3ce0d849d2
> 
> http://www.haskell.org/pipermail/xmonad/2009-July/008328.html
> ] 
> [Minor changes to my config
> Spencer Janssen <spencerjanssen@gmail.com>**20090901024802
> Ignore-this: 5196fb217e72153fc4fb32fb40ab18f
> ] 
> [Return True in X.H.FadeInactive.isUnfocused if current workspace is empty. \
> (dschoepe) Adam Vogt <vogt.adam@gmail.com>**20090828214537
> Ignore-this: 56a3dac874f6430f10ad23870a4be38a
> ] 
> [Actually execute the correct command when giving user-defined commands to \
> ServerMode Jan Vornberger \
>                 <jan.vornberger@informatik.uni-oldenburg.de>**20090825233828
> Ignore-this: 571e4d3ec5bcae56987c6e3b85b800b6
> ] 
> [Preserve backwards compatibility with H.ServerMode
> Adam Vogt <vogt.adam@gmail.com>**20090825220348
> Ignore-this: cd5df0c49e1d0f07ede1994da9c4c865
> ] 
> [Let the user decide which commands to use in X.H.ServerMode
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090825101630
> Ignore-this: 3a1b95f85253ce6059f4528e23c5a3d3
> ] 
> [Improve/correct documentation in X.A.TagWindows
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090823131229
> Ignore-this: e9adb7bf77eeebff42f564390c6ceedc
> ] 
> [Replace nextEvent with maskEvent to prevent GridSelect from swallowing unrelated \
> events (such as map/unmap) Clemens Fruhwirth \
>                 <clemens@endorphin.org>**20090809131055
> Ignore-this: 6c3bc2487e4f011e0febe0935c223f2
> ] 
> [Better default for ppUrgent in xmobarPP
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090822183416
> Ignore-this: ffdfad360d8fd5c5bfa38fd0549b8f19
> 
> Most users would expect workspaces with urgent windows to be highlighted in
> xmobar when they set up an UrgencyHook. Hence, doing this by default in xmobarPP
> makes sense. (dzenPP does the same)
> ] 
> [Add backwards compatability in X.H.FadeInactive
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090821225646
> Ignore-this: d2ef91429d80fde5126b2aa8f0de9b1f
> ] 
> [More flexible interface for X.H.FadeInactive
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090821203936
> Ignore-this: e905086d3fb640cbccf4eec2f11f293
> 
> This patch allows setting the opacity on a per-window basis and lets the
> user specify it as a percentage instead of an Integer between 0 and 2^32-1.
> ] 
> [U.Scratchpad: doc add disable-factory flag to gnome-terminal example
> Wirt Wolff <wirtwolff@gmail.com>**20090818192503
> Ignore-this: 6fd874a236121b5669b0ec5944caf205
> Few systems have --disable-factory on by default, but it's needed to
> set custom resource string.
> http://code.google.com/p/xmonad/issues/detail?id=308
> ] 
> [A.CycleWS: add toggleOrView fns, fix doc, prevent head exception
> Wirt Wolff <wirtwolff@gmail.com>**20090817215549
> Ignore-this: 35acc32e696e665aca900721d309d1d3
> ] 
> [Add -fwarn-tabs to ghc-options for the regular build
> Adam Vogt <vogt.adam@gmail.com>**20090814022108
> Ignore-this: 203ea4e54936f8bb6c3c28446d069f88
> ] 
> [Don't use tabs in EwmhDesktops
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090813200119
> Ignore-this: 59b1ade240aa75cf448620cd7a37579b
> ] 
> [Do not warn about unknown ClientMessageEvents
> Joachim Breitner <mail@joachim-breitner.de>**20090812222917
> Ignore-this: d02940888cd54cf209d6e5f4847548ab
> Not all client messages are are meant to be handled by the wndow manager, so do
> not complain when one is unknown.
> ] 
> [ScratchpadRewrite
> konstantin.sobolev@gmail.com**20090428200136
> Ignore-this: 17c946c04dae72f0873f0f5bb56c9f37
> Scratchpad reimplementation in terms of NamedScratchpad. No interface changes.
> ] 
> [NS_Placement
> konstantin.sobolev@gmail.com**20090428192731
> Ignore-this: 7cf2d8d956c8e906b41731632db67e2a
> Added ability to specify scratchpad manage hooks, mostly for defining window \
> placement in a more flexible manner ] 
> [ThreeColMid - Swap slave window positions
> Anders Engstrom <ankaan@gmail.com>**20090503195026
> Ignore-this: f2673e83386bc0e5d398d4e875537cc8
> 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->3->1->2->3 instead of 2->1->3->2->1. \
> This is backwards from what is expected. 
> 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. 
> 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. 
> 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. ] 
> [fix UrgencyHook docs (\a -> \\a  in Haddock)
> Brent Yorgey <byorgey@cis.upenn.edu>**20090809184016
> Ignore-this: a1fcfe2446184a8cea4553fd68565b58
> ] 
> [XMonad.Actions.Search: removeColonPrefix shouldn't throw an exception if no :!
> gwern0@gmail.com**20090808002224
> Ignore-this: db0a25c0d615c3d8cb6ef31489919d91
> ] 
> [XMonad.Actions.Search: clean up hasPrefix - dupe of Data.List.isPrefixOf
> gwern0@gmail.com**20090808002120
> Ignore-this: 3327a19e5aa23af649ce080fc38a7409
> ] 
> [XMonad.Actions.Search: +wikt
> gwern0@gmail.com**20090808000622
> Ignore-this: cee8b1325820ea1f513ae18d840b4c48
> ] 
> [NoWrap export patch for use with X.L.MessageControl
> quentin.moser@unifr.ch**20090128004726
> Ignore-this: 2b76afa0547aaed5fb39454a074ec4c3
> ] 
> [new XMonad.Layout.MessageControl module
> quentin.moser@unifr.ch**20090128013917
> Ignore-this: cc28e0def6c797f6d1da8f23469a4f8
> ] 
> [U.NamedActions: align the descriptions for each section, refactor its integration \
> with EZConfig Adam Vogt <vogt.adam@gmail.com>**20090726032003
> Ignore-this: f7132388b1f1fd2dbf03885ffa534c20
> ] 
> [U.NamedActions support subtitles bound to (0,0) unreachable normally
> Adam Vogt <vogt.adam@gmail.com>**20090525002915
> Ignore-this: fdb9f0f07663854049cade2f0f7c2ebd
> ] 
> [Add U.NamedActions: present a list of keybindings including submaps
> Adam Vogt <vogt.adam@gmail.com>**20090504024017
> Ignore-this: 181c3ee603c82e0c56406ba8552fd394
> ] 
> [Revert to old behavior where unmatched keys do not exit the eventloop for \
> A.GridSelect Adam Vogt <vogt.adam@gmail.com>**20090727012302
> Ignore-this: 936cfd1e1b6243ced54e356f8067fac
> ] 
> [Share more mkAdjust calls L.LayoutHints in the LayoutHintsToCenter modifier
> Adam Vogt <vogt.adam@gmail.com>**20090726061802
> Ignore-this: baa33d5b38a7811b9f50b7d0f808ee75
> ] 
> [Make direction keybindings configurable in A.GridSelect
> Adam Vogt <vogt.adam@gmail.com>**20090726020438
> Ignore-this: 9cd675485270ccebec22df72eea40578
> ] 
> [LayoutBuilder - make an example more sane
> Anders Engstrom <ankaan@gmail.com>**20090513155732
> Ignore-this: 772566441df97479c49b6b149b57fc27
> ] 
> [Clean Xkb masks in X.A.Submap
> Khudyakov Alexey <alexey.skladnoy@gmail.com>**20090623164653
> Ignore-this: 930e2bca230d5f403bf9c06650afc57b
> 
> Xkb adds its own mask and prevent Submap keybindings from normal
> functioning when alternate layout is used. This patch cleans
> these masks.
> 
> ] 
> [Fix defaulting warning with A.RandomBackground
> Adam Vogt <vogt.adam@gmail.com>**20090716234955
> Ignore-this: 55dddcc134aa173d2c8e015fc462ff99
> ] 
> [Addition of Machine window property.
> Juraj Hercek <juhe_xmonad@hck.sk>**20090715105053
> Ignore-this: d71d82bac7cc59ef462e728adaf5db01
> 
> This patch adds WM_CLIENT_MACHINE property to window properties.
> I can be used to distinguish windows run from different machines.
> ] 
> [remove myself as maintainer from code I don't maintain.
> David Roundy <droundy@darcs.net>**20090716153409
> Ignore-this: 362988aeca1996474942fa29ffcccbce5e543e57
> ] 
> [X.A.CopyWindow: add wsContainingCopies, doc cleanup
> wirtwolff@gmail.com**20090703011524
> Ignore-this: 883899013707737d085476637a44695a
> Use wsContainingCopies in a logHook to highlight hidden workspaces
> with copies of the focused window. (refactored from original by aavogt)
> ] 
> [Add ability to copy the entered string in X.Prompt
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090709100703
> Ignore-this: 4e8b98f281001d7540617d0ff6a3d4f3
> ] 
> [Correct license for L.CenteredMaster
> Adam Vogt <vogt.adam@gmail.com>**20090708051616
> Ignore-this: 31136b901a7dc476ea337678cbc8637f
> 
> Context for why I've recorded the patch:
> 	aavogt | portnov: did you get the message about your XMonad.Layout.CenteredMaster \
> licence being not compatible with the licence of contrib?  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 :)  portnov | *so
> 	aavogt | I can change it, its more about whether you would allow the change to be \
> made                                                                         aavogt \
> | but I guess this clears it up                                                     \
>   portnov | i allow. 
> ] 
> [Remove trailing whitespace from many modules
> Adam Vogt <vogt.adam@gmail.com>**20090705201205
> Ignore-this: 1e28ff0974578d329bd3d593c1a5125e
> ] 
> [Clarify documentation the Migrate message added to L.SubLayouts
> Adam Vogt <vogt.adam@gmail.com>**20090705180014
> Ignore-this: 1d47165904048edfe28414ec5ce7f3e
> ] 
> [Reduce a bit of recently introduced duplication in L.SubLayouts
> Adam Vogt <vogt.adam@gmail.com>**20090705175145
> Ignore-this: e87a5643938183eff156e08646cc71ac
> ] 
> [Add Migrate message to L.SubLayouts, for better support of moving windows between \
> groups Adam Vogt <vogt.adam@gmail.com>**20090705174934
> Ignore-this: d76b2f3e5999999a489b843b4dde59f1
> ] 
> [L.SubLayouts: also run the layout being modified in a restricted environment
> Adam Vogt <vogt.adam@gmail.com>**20090705174156
> Ignore-this: 9defa5b6a59ed84a15f733bd979e1c45
> 
> This way, correct behavior can be expected if the layout runs ex. 'withWindowset
> W.peek', instead of looking at its arguments.
> ] 
> [L.SubLayouts fix bug where previously run layouts would not get messages
> Adam Vogt <vogt.adam@gmail.com>**20090705173504
> Ignore-this: 1d54ddb6596173f2fb6f30a648d7f3ba
> ] 
> [Simplify A.WorkspaceCursors use of layout for state, add documentation
> Adam Vogt <vogt.adam@gmail.com>**20090705050629
> Ignore-this: 5a4cb6f165edd266a55e42ccedc8c0a7
> ] 
> [Add A.WorkspaceCursors, a generalization of Plane to arbitrary dimensions
> Adam Vogt <vogt.adam@gmail.com>**20090702042609
> Ignore-this: 54225917a34aa0785a97c8153ff32ab9
> 
> This is implemented as a layoutModifier, since that way the workspace
> arrangment is preserved between restarts.
> ] 
> [Refactor A.OnScreen to use Maybe Monad
> Adam Vogt <vogt.adam@gmail.com>**20090703021507
> Ignore-this: d45331ad77662b356f12b3912ea3eac0
> ] 
> [Added XMonad.Actions.OnScreen
> mail@n-sch.de**20090702101621
> Ignore-this: 605666aeba92e1d53f03a480506ddf2f
> ] 
> [Remove code duplication in X.A.CopyWindow
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090702104933
> Ignore-this: cbbbe68690dbb4b814cd48fa32d4720
> ] 
> [Cleanup code duplication in X.P.Layout and X.P.Workspace
> sean.escriva@gmail.com**20090701215640
> Ignore-this: 8675be8952f8d100c9042bdcdb962d3a
> ] 
> [X.A.Search: use the new canonical package URL for hackage search
> Brent Yorgey <byorgey@cis.upenn.edu>**20090629192455] 
> [X.H.ManageHelpers: add two new helper functions, doFloatDep and doFloatAt
> Brent Yorgey <byorgey@cis.upenn.edu>**20090605030113] 
> [Keep track of whether messages should be given to new sublayouts in L.SubLayouts
> Adam Vogt <vogt.adam@gmail.com>**20090628060608
> Ignore-this: 647184c1b7f65c262c8cc15fdd0829d5
> ] 
> [Run sublayouts in L.Sublayouts in a restricted state
> Adam Vogt <vogt.adam@gmail.com>**20090628060333
> Ignore-this: f2a236d3dc0374bbc1c19b864baa7c86
> ] 
> [A.RandomBackground: Parameterize randomBg by a RandomColor data
> Adam Vogt <vogt.adam@gmail.com>**20090629004147
> Ignore-this: ba8042aa0f5d3221583aead9dced6cc
> ] 
> [Add A.RandomBackground, actions to start terminals with a random -bg option
> Adam Vogt <vogt.adam@gmail.com>**20090627202755
> Ignore-this: a90c98bb14a2f917d8552cd2563aeb49
> ] 
> [Replace most -fglasgow-exts with specific LANGUAGE pragmas
> Adam Vogt <vogt.adam@gmail.com>**20090626025457
> Ignore-this: 2274fdd689b0576a76d9f3373e9c7159
> ] 
> [Column_layout.dpatch
> portnov84@rambler.ru**20090605184515
> Ignore-this: ea5ebf0d6e8ac5c044d9291b3c55479d
> This module defines layot named Column. It places all windows in one
> column. Windows heights are calculated from equation: H1/H2 = H2/H3 = ... = q,
> where `q' is given (thus, windows heights forms a geometric progression). With
> Shrink/Expand messages one can change the `q' value.
> 
> ] 
> [X.A.Search: add Google "I'm feeling lucky" search
> Brent Yorgey <byorgey@cis.upenn.edu>**20090625173751
> Ignore-this: 98bbdd4fbf12d7cd9fad6645653cb84b
> ] 
> [Add ifWindow and ifWindows and simplify WindowGo
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090624231711
> Ignore-this: 4ed6e789034db8804accfe06a47ef4a2
> 
> This patch adds ifWindow and ifWindows as helper functions to
> X.A.WindowGo and removes some boilerplate by rewriting other functions
> in terms of those. Also some minor simplifications.
> ] 
> [Use -fwarn-tabs for test, remove tabs
> Adam Vogt <vogt.adam@gmail.com>**20090624043831
> Ignore-this: 84dfa0d9d50826527abbe7ff6acf4465
> ] 
> [From A.Topicspace split functions for storing strings with root to U.StringProp
> Adam Vogt <vogt.adam@gmail.com>**20090623052537
> Ignore-this: 543b172fbefa9feded94d792d01921c4
> 
> These functions will be used to send strings for execution by command line, in
> xmonad-eval
> ] 
> [Correct A.TopicSpace sample config
> Adam Vogt <vogt.adam@gmail.com>**20090623003937
> Ignore-this: 68a6fed2943eb9982e32815168b6f297
> ] 
> [Add shiftNthLastFocused to A.TopicSpace
> Adam Vogt <vogt.adam@gmail.com>**20090623002645
> Ignore-this: 64f4fa63f4cc25f634f8fbc3276ef2a2
> ] 
> [Generalize Actions.SpawnOn
> Daniel Schoepe <daniel.schoepe@gmail.com>**20090622183825
> Ignore-this: 8cfd0a4664ece5d721f52c59d4759a5f
> 
> Actions.SpawnOn can now be used to execute arbitrary manage hooks on
> the windows spawned by a command(e.g. start a terminal of specific size
> or floated).
> ] 
> [update callers of safeSpawn
> gwern0@gmail.com**20090622201423
> Ignore-this: 484eca17b9877f7d587fc5bce8c5ae8a
> ] 
> [XMonad.Util.Run: improve definition so this can be used with emacs
> gwern0@gmail.com**20090622201401
> Ignore-this: 984788359376e3d2bab0d1e86ff1276f
> ] 
> [XMonad.Actions.WindowGo: switch to safeSpawn, since everyone just passes a prog \
> name (no shell scripting) gwern0@gmail.com**20090622193255
> Ignore-this: 5515c72649471fac1ffcf4b68e1e0cf9
> ] 
> [XMonad.Util.Run: +convenience function for safeSpawn which drops args to the prog
> gwern0@gmail.com**20090622193018
> Ignore-this: fc48265f252e015ffdc1792c6c9eaa12
> ] 
> [XMonad.Actions.WindowGo: improve haddocks
> gwern0@gmail.com**20090622192831
> Ignore-this: 28dc1d5b094d50eaf6148fa9cc2d3755
> ] 
> [Fix window ordering bug in L.LimitWindows
> Adam Vogt <vogt.adam@gmail.com>**20090622004309
> Ignore-this: 7bcfffe335b765c081c18b103d9d450a
> ] 
> [L.LimitWindows add usage information, functions to modify the limit
> Adam Vogt <vogt.adam@gmail.com>**20090622000115
> Ignore-this: 813473c5f42540ed0d575bb273f8652
> ] 
> [Expand Tabbed documentation to describe mouse clicks processing
> Dmitry Astapov <dastapov@gmail.com>**20090621211947
> Ignore-this: 185a5dba1c1333aa4a2e778f34417c39
> ] 
> [Close tabs by middle click on tab decoration
> Dmitry Astapov <dastapov@gmail.com>**20090621195225
> Ignore-this: e3fb5d78b766f63a20ab4db064d8285c
> 
> I'd better do it in xmonad.hs, but I can't decide what to expose from
> Tabbed.hs to make it happed. Suggestions on how to make mouse click
> handling hook a part of the Tabbed creation interface are very welcome
> - my attempts turned out to be ugly in extreme.
> ] 
> [Provide means to find original window by its decoration.
> Dmitry Astapov <dastapov@gmail.com>**20090621194652
> Ignore-this: fad8cb7fb4c2785b14b97d48f19604cc
> 
> In order to enable user to write custom `decorationMouseFocusHook' and
> `decorationMouseDragHook' hooks we need to provide him with means to
> lookup original window by its decoration.
> 
> Module Decoration has internal function `lookFor' for exactly the same
> purpose. I exported it under a slightly different name and without
> exposing internals of DecorationState.
> ] 
> [Add L.LimitWindows layout modifier
> Adam Vogt <vogt.adam@gmail.com>**20090619052731
> Ignore-this: e91c07885f0ab662f70e0ebd82fb7a5d
> ] 
> [Remove Hooks.EventHook
> Daniel Schoepe <asgaroth_@gmx.de>**20090618104318
> Ignore-this: 14c32fddc8b7b0561e97eb1d09e27fd7
> 
> The Hooks.EventHook module is superseded by handleEventHook from core and should no \
> longer be needed. ] 
> [use 'take 1' instead of custom truncHead function in L.WindowNavigation
> Adam Vogt <vogt.adam@gmail.com>**20090618010118
> Ignore-this: ecbb2063337bb87108c12a3c3f8ceeba
> ] 
> [Correct many typos in the documentation, consistent US spellingg
> Adam Vogt <vogt.adam@gmail.com>**20090618003729
> Ignore-this: cf6dcf340fa6cc010f7879f188d376f5
> ] 
> [minor typo in ./XMonad/Layout/StackTile.hs
> Joachim Breitner <mail@joachim-breitner.de>**20090617210345
> Ignore-this: ddb5dff32e332cf378f2204e23335d43
> ] 
> [X.L.ResizableTile: make sure windows aren't resized to a height larger than the \
> screen (fixes #298) Brent Yorgey <byorgey@cis.upenn.edu>**20090604123509] 
> [X.A.PhysicalScreens: fix typo
> Roman Cheplyaka <roma@ro-che.info>**20090602172148] 
> [X.L.AutoMaster: fix warning
> Roman Cheplyaka <roma@ro-che.info>**20090602171754] 
> [AutoMaster.dpatch
> Ilya Portnov <portnov84@rambler.ru>**20090426155401
> Ignore-this: e5cbb04882671d6fcc56f181f7d0d292
> Provides layout modifier AutoMaster. It separates screen in two parts -
> master and slave. Size of slave area automatically changes depending on
> number of slave windows.
> ] 
> [UpdatePointer - Don't warp while dragging with mouse
> Anders Engstrom <ankaan@gmail.com>**20090530185752
> Ignore-this: 4c3769dc96041608660789573b670c23
> ] 
> [FlexibleResize - Resize from edge, don't move adjust at opposite edge
> Anders Engstrom <ankaan@gmail.com>**20090530185437
> Ignore-this: 3c6c0748a4b0d14bd39bcb88f10aade6
> 
> 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. 
> Also add the possibility to add an area in the middle of an edge where only that \
> edge is resized, not the closest corner. 
> ] 
> [Remove USE_UTF8 defines.
> Khudyakov Alexey <alexey.skladnoy@gmail.com>**20090419130909
> They are not needed any more since utf8-string is mandatory dependence.
> ] 
> [FloatSnap - calculate gaps instead of snapping against unmanaged windows
> Anders Engstrom <ankaan@gmail.com>**20090526222942
> Ignore-this: 4378f4c6c4f383c9a35acb503409d865
> 
> 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.) 
> 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. 
> Naturally, this patch will change which function is exported from ManageDocks.
> ] 
> [Fix L.Mosaic bug where stored [Rational] was not extended
> Adam Vogt <vogt.adam@gmail.com>**20090525030734
> Ignore-this: 55bb5b7fabc00f3dcc89e45cc416fc97
> ] 
> [X.A.Search: add Wolfram|Alpha search
> Brent Yorgey <byorgey@cis.upenn.edu>**20090525010419] 
> [Remove L.ThreeColumnsMiddle compatiblity module
> Adam Vogt <vogt.adam@gmail.com>**20090525003245
> Ignore-this: daac5841cf203c0e0df865a6fb0db3a1
> 
> Signed off here too:
> http://www.haskell.org/pipermail/xmonad/2009-May/007883.html
> ] 
> [A.FloatSnap snap to unmanaged docks too
> Adam Vogt <vogt.adam@gmail.com>**20090525001834
> Ignore-this: 46a856cae139d2e224ded985a9866ecf
> ] 
> [LayoutBuilder fix maintainer
> Anders Engstrom <ankaan@gmail.com>**20090524205957
> Ignore-this: 380c279320cff67c60a9bbf9a49ec509
> ] 
> [FloatSnap fix maintainer
> Anders Engstrom <ankaan@gmail.com>**20090524205854
> Ignore-this: d3932d211e9dc755be799d863b7d58e3
> ] 
> [X.A.FloatSnap - More configuration for magic resize, adaption for mouse bindings \
> and some minor fixes Anders Engstrom <ankaan@gmail.com>**20090524201143
> Ignore-this: d5fd9356e101b019735d54267a120ed
> ] 
> [X.A.FloatSnap - Assisted move/resize of windows
> Anders Engstrom <ankaan@gmail.com>**20090523235230
> Ignore-this: 53af93bdf537cf3417cedd313e36bcbd
> 
> TODO: Try to snap against unmanaged windows such as dzen/xmobar.
> 
> ] 
> [Simplyify L.Mosaic interface, and support resizing specific windows
> Adam Vogt <vogt.adam@gmail.com>**20090524193810
> Ignore-this: acea22bec582ee5eb076ac3bc862a9ea
> 
> The order previously was not as documented, which prevented resizing specific
> windows.
> 
> The Mosaic constructor is hidden in favour of mosaic :: Rational -> [Rational] -> \
> Mosaic a 
> Expand and Shrink messages are added, requiring another argument.
> 
> Remove useless demonstration of SlopeMod message since resizing the focused
> window is better.
> ] 
> [L.ResizableTile document ResizableTall parameters with records
> Adam Vogt <vogt.adam@gmail.com>**20090519024258
> Ignore-this: a29502bc1302f18b9ae0062105a0e109
> ] 
> [L.LayoutHints, add layoutHintsToCentre
> Adam Vogt <vogt.adam@gmail.com>**20090519013806
> Ignore-this: a49106d5abb683d805e59beb29c727a9
> 
> layoutHintsToCentre attempts to apply hints in a way that eliminates gaps
> between windows. The excess space ends up on all edges.
> ] 
> [Remove excess whitespace from L.LayoutHints
> Adam Vogt <vogt.adam@gmail.com>**20090519013350
> Ignore-this: b4bb5b6aeba95be047a102d07d916c48
> ] 
> [new layout module X.L.Spacing, put blank space around each window
> Brent Yorgey <byorgey@cis.upenn.edu>**20090514215552] 
> [X.L.LayoutBuilder doc fix and cleaning
> Anders Engstrom <ankaan@gmail.com>**20090509195254
> Ignore-this: 7cbf72ba48a2222b65615a02125d87ef
> ] 
> [X.L.LayoutBuilder custom layouts
> Anders Engstrom <ankaan@gmail.com>**20090509174627
> Ignore-this: 65c251663f02a083c5838ae1d1bd112a
> 
> A layout combinator that sends a specified number of windows to one rectangle and \
> the rest to another. ] 
> [submapDefault fix key leakage
> Anders Engstrom <ankaan@gmail.com>**20090426171002
> Ignore-this: edb0a2a03b2ed2959cb7068ae601fa28
> ] 
> [Fix typo in L.Mosaic hints
> Adam Vogt <vogt.adam@gmail.com>**20090508202937
> Ignore-this: 5f2163e64d876f4982b0d6baf13e0614
> ] 
> [U.Loggers: add maildirNew, other loggers, and logger formatting utilities
> wirtwolff@gmail.com**20090412041356
> Ignore-this: 73240ab34348ad895c3d66c2a2e8e40f
> Rework of the Logger portions of patches originally from seanmce33@gmail.com
> to apply without conflicts, plus several formatting utilities for use with
> X (Maybe String) aka Loggers.
> ] 
> [ThreeCol - Update docs to match reality
> Anders Engstrom <ankaan@gmail.com>**20090503190755
> Ignore-this: e63f3ee533dd9bcf0f32da2316dde1dd
> ] 
> [Remove some excess whitespace in XMonad.AppLauncher
> Adam Vogt <vogt.adam@gmail.com>**20090503183416
> Ignore-this: b5bfa9625b5b080c20398cf1aa396a08
> ] 
> [Export ThreeColMid from L.ThreeColumnsMiddle
> Adam Vogt <vogt.adam@gmail.com>**20090425161710
> Ignore-this: f08d23d108ae9aa4ad176fd9dd275409
> 
> The configs that import it should continue to work with this module, though the
> type of the ThreeColMid constructor is now ThreeCol (previously ThreeColMid).
> ] 
> [ThreeColumns support middle column, with more backwards compatiblity
> Adam Vogt <vogt.adam@gmail.com>**20090414061819
> Ignore-this: 5a8991269904986e0e012e955c6d4712
> ] 
> [X.L.ThreeColumnsMiddle merged into X.L.ThreeColumns with some new features
> Anders Engstrom <ankaan@gmail.com>**20090411113636
> Ignore-this: 1d5bb8de98f8ade3780444ed99f5a12f
> ] 
> [nameTail - Remove the first word of a layout description
> Anders Engstrom <ankaan@gmail.com>**20090503105950
> Ignore-this: a44c5e38163ed98ffc244cdd206632d1
> ] 
> [Add H.InsertPosition: add new windows to different positions in a workspace
> Adam Vogt <vogt.adam@gmail.com>**20090503020303
> Ignore-this: 7e7d5fa5b42698799cabe600159a75f7
> ] 
> [Add changeMaster function to L.Mosaic
> Adam Vogt <vogt.adam@gmail.com>**20090501233136
> Ignore-this: eca2a48fb987bb871ad93e6c6bf1a186
> ] 
> [Optimizer bug does not affect 6.10.2 (issue 226)
> Adam Vogt <vogt.adam@gmail.com>**20090430034823
> Ignore-this: f43f9bf9502ebb19743c3b417ef02347
> ] 
> [Remove -XScopedTypeVariables requirement with L.SubLayouts
> Adam Vogt <vogt.adam@gmail.com>**20090428222749
> Ignore-this: dbb08e3c1641796603fdaf7b929cdf6d
> 
> This should keep the code -Wall clean on ghc-6.8 in addition to ghc-6.10
> ] 
> [Add SubLayouts: a layout combinator for nesting layouts.
> Adam Vogt <vogt.adam@gmail.com>**20090423013135
> Ignore-this: abb21b19bfbc567953419b3035b6a295
> ] 
> [Document and extend BoringWindows to support multiple sources of boring.
> Adam Vogt <vogt.adam@gmail.com>**20090406041301
> Ignore-this: 7375c8912ede6a6a44db4a4b91ffbc33
> 
> The Replace and Merge messages are added to support layouts sending a list of
> windows that should be skipped over. The sources are tagged by a string key, so
> it is possible though unlikely for different sources of boring windows to
> interfere with eachother.
> ] 
> [Add Apply message to L.WindowNavigation
> Adam Vogt <vogt.adam@gmail.com>**20090303065701
> Ignore-this: e808729ddd2375778a96775568b8b621
> ] 
> [X.A.TopicSpace: remove the allTopics lists from the configuration.
> Nicolas Pouillard <nicolas.pouillard@gmail.com>**20090423172939
> Ignore-this: 1ac344b32865b38e53b968cc037b0a01
> ] 
> [added colour themes
> perlkat@katspace.org**20090227065315
> These themes are colour themes only; they use the default font settings.
> I thought the existing themes were rather dull, so these give more bright
> (but tasteful) colours; shades of peacock feathers, shades of autumn.
> ] 
> [Prompt.hs: setSuccess True also on Keypad Enter
> sean.escriva@gmail.com**20090409162609
> Ignore-this: cf04f87c546f89bd32a94de3a2a93b22
> ] 
> [Update focus on mouse moves within inactive windows
> Daniel Schoepe <asgaroth_@gmx.de>**20090407191819
> Ignore-this: 36c05c60420520dab708401d8a80fc85
> 
> 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. Currently this \
> only happens when the mouse enters/leaves a window.  This patch should fix issue \
> #205. ] 
> [Add promoteWarp event to L.MagicFocus
> Adam Vogt <vogt.adam@gmail.com>**20090322221456
> Ignore-this: 12ad5fc144a35fb605f53b744d8146ef
> 
> This event enables A.UpdatePointer behavior without causing infinite loops in
> combination with magicFocus
> ] 
> [Add TowardsCentre option to UpdatePointer
> Adam Vogt <vogt.adam@gmail.com>**20090322215811
> Ignore-this: d543d8f090b03a6c26b3a0427be3a051
> 
> This option is like Nearest, but it places the pointer a configurable
> percentage towards the centre of the window, instead of right at the edge.
> ] 
> [Remove excess whitespace in A.UpdatePointer
> Adam Vogt <vogt.adam@gmail.com>**20090322215553
> Ignore-this: 6fbc63642b946461e0fafcb44016824
> ] 
> [Combo fix ReleaseResources when no windows are available, new fix
> Anders Engstrom <ankaan@gmail.com>**20090224172018
> Ignore-this: b59603df8e4cfc1fb2cf9070cea615b3
> ] 
> [OneBig_resize.dpatch
> portnov84@rambler.ru**20090221142300
> Ignore-this: c02b25bd370ee449aab28005eb4418cf
> Add Shrink/Expand messages handling for OneBig layout.
> ] 
> [OneBig_layout.dpatch
> portnov84@rambler.ru**20090220172634
> Ignore-this: 9d4f308d13f003aa4236417307a66c15
> Add the OneBig layout, which places one (master) window at top left corner of
> screen (width and height of master window are parameters of layout), and other
> (slave) windows at bottom and at right of master, trying to give equal space
> for each slave window.
> ] 
> [Properly encode destop names before sending them to X server in \
> XMonad.Hooks.EwmhDesktops Khudyakov Alexey \
>                 <alexey.skladnoy@gmail.com>**20090220184137
> Ignore-this: 6a22ea8bdc49f8484e18f04aaeb545ae
> ] 
> [Make utf8-string regular dependency
> Khudyakov Alexey <alexey.skladnoy@gmail.com>**20090220183318
> Ignore-this: b38936b037c1172ec69905fa345f7afe
> 
> The reason for this is that EWMH specification require 
> utf8 encoded strings.
> ] 
> [Update haddock description for Actions.GridSelect
> Daniel Schoepe <asgaroth_@gmx.de>**20090422172510
> Ignore-this: db5a2c009f7e88647f168ccb225d6219
> ] 
> [X.H.DynamicLog: provides trim, inverse of pad
> sean.escriva@gmail.com**20090409163513
> Ignore-this: 9d92ff592f2bc4f041b85d1314058fdc
> ] 
> [Mouse support for GridSelect
> Daniel Schoepe <asgaroth_@gmx.de>**20090409223302
> Ignore-this: 38669e39c8676233d71f457c0b697500
> 
> GridSelect now allows selecting an element by a click with the left mouse button.
> ] 
> [Generalize GridSelect to arbitrary elements
> Daniel Schoepe <asgaroth_@gmx.de>**20090409155704
> Ignore-this: 69fbce85232871482adcce06c1a5fe62
> 
> This patch generalizes Actions.GridSelect to work for arbitrary (String,a)-lists. \
> The changes break configurations that used `gridSelect' 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'). ] 
> [Improve composability of X.H.Place, drop simple(st)Float support
> quentin.moser@unifr.ch**20090415184550
> Ignore-this: 8a0fb64aa0db27b242b7ad4bcba1a3ca
> ] 
> [Fixed X.H.Place.position
> quentin.moser@unifr.ch**20090409084946
> Ignore-this: 29e3936800194916a859976ff126dbfe
> ] 
> [Module for automatic placement of floating windows
> quentin.moser@unifr.ch**20090408080953
> Ignore-this: 1874df995fc02a0b80051db39d91a2e1
> ] 
> [X.H.FloatNext: new module, float the next spawned window(s)
> quentin.moser@unifr.ch**20090415181907
> Ignore-this: 95e1c9daa3ca43bfb058f6a881a97f3a
> ] 
> [ComboP
> konstantin.sobolev@gmail.com**20090415014327
> Ignore-this: 73bb986165a7bba466aae789a5448170
> ] 
> [New module: XMonad.Actions.TopicSpace
> Nicolas Pouillard <nicolas.pouillard@gmail.com>**20090419085239
> Ignore-this: 4c20592ea6ca74f38545c5a1a002ef91
> ] 
> [NamedScratchpad
> konstantin.sobolev@gmail.com**20090419045542
> Ignore-this: b442cb08123d2413e0bb144a73bf3f57
> ] 
> [More configurability for Layout.NoBorders (typeclass method)
> Adam Vogt <vogt.adam@gmail.com>**20090325050206
> Ignore-this: 91fe0bc6217b910b7348ff497b922e11
> 
> This method uses a typeclass to pass a function to the layoutmodifier. It is
> flexible, but a bit indirect and perhaps the flexibility is not required.
> ] 
> [Add XMonad.Actions.PhysicalScreens
> nelhage@mit.edu**20090321001320
> 
> Add an XMonad.Actions.PhysicalScreens contrib module that allows
> addressing of screens by physical ordering, rather than the arbitrary
> ScreenID.
> ] 
> [pointWithin has moved to the core
> Joachim Breitner <mail@joachim-breitner.de>**20081008154245] 
> [UpdatePointer even to empty workspaces
> Joachim Breitner <mail@joachim-breitner.de>**20081007080041
> This makes UpdatePointer more Xinerama-compatible: If the user switches to a
> screen with an empty workspace, the pointer is moved to that workspace, which I
> think is expected behavoiur.
> ] 
> [More predictable aspect ratio in GridVariants.Grid
> Norbert Zeh <nzeh@cs.dal.ca>**20090311013617
> 
> The old version fairly arbitrarily decided to prefer windows that are too
> high over those that are too wide.  The new version chooses the number of
> columns so that all windows on the screen are as close as possible to the
> desired aspect ratio.  As a side effect, the layout changes much more
> predictably under addition and removal of clients.
> ] 
> [X.L.Master: fix number of windows
> Ismael Carnales <icarnales@gmail.com>**20090301051509
> Ignore-this: 2af132159450d4fb72eb52024eda71b5
> ] 
> [U.EZConfig: add xK_Print <Print> to special keys
> wirtwolff@gmail.com**20090302230741
> Ignore-this: 9560b7c7c4424edb5cea6eec45e2b41d
> Many setups are expecting xK_Print rather than
> xK_Sys_Req, so make it available in additionalKeysP.
> ] 
> [More flexibility for H.FadeInactive
> Daniel Schoepe <asgaroth_@gmx.de>**20090309160020
> Ignore-this: ebfa2eadb439763276b372107cdf8d6c
> ] 
> [Prompt.Shell: escape ampersand
> Valery V. Vorotyntsev <valery.vv@gmail.com>**20090312091314
> Ignore-this: 7200b76af8109bab794157da46cb0030
> 
> Ampersand (&) is a special character and should be escaped.
> ] 
> [Cleanup X.L.Mosaic, without breaking it
> Adam Vogt <vogt.adam@gmail.com>**20090219022417
> Ignore-this: d49ed55fe8dc2204256dff9252384745
> ] 
> [X.L.Mosaic: prevent users from causing non-termination with negative elements
> Adam Vogt <vogt.adam@gmail.com>**20090210022727
> Ignore-this: 370a7d6249906f1743c6692758ce5aeb
> ] 
> [better Layout.NoBorders.smartBorders behavior on xinerama
> Adam Vogt <vogt.adam@gmail.com>**20090314170058
> Ignore-this: 36737ce2fa2087c4a16ddf226d3b0f0a
> 
> Now smartBorders shows borders when you have multiple screens with one window
> each. In the case where only one window is visible, no borders are drawn.
> ] 
> [H.DynamicLog: revised dzenStrip and xmobarStrip functions
> wirtwolff@gmail.com**20090314041517
> Ignore-this: 9897c60b8dfc59344939b7aebc370953
> Reconcile darcswatch patch with pushed version of dzenStrip.
> ] 
> [X.H.DynamicLog: Add dzenStrip to remove formatting, for use in dzenPP's ppUrgent.
> Braden Shepherdson <Braden.Shepherdson@gmail.com>**20090314032818
> Ignore-this: fd96a1a4b112d0f71589b639b83ec3e
> This function was written by Wirt Wolff. This change should allow UrgencyHook
> to work out of the box with dzen and dzenPP, rather than the colours being
> overridden so even though UrgencyHook is working, it doesn't change colours.
> ] 
> [X.H.ManageHelpers: export isInProperty
> Roman Cheplyaka <roma@ro-che.info>**20090308201112] 
> [L.Cross: clarify documentation
> wirtwolff@gmail.com**20090222042220
> Ignore-this: 4a5dcf71e63d045f27e2340e1def5cc8
> Amend-record earlier patch to work with byorgey's fix,
> this one is just the documentation typo fixes and 
> clarifications.
> ] 
> [documentation for IndependentScreens
> daniel@wagner-home.com**20090221235959] 
> [eliminate a haddock warning in BoringWindows
> daniel@wagner-home.com**20090221235836] 
> [merge IndependentScreens
> daniel@wagner-home.com**20090221232142] 
> [add IndependentScreens to xmonad-contrib.cabal
> daniel@wagner-home.com**20090221231632] 
> [add type information for IndependentScreens
> daniel@wagner-home.com**20090221231525] 
> [add some boilerplate comments at the top of IndependentScreens
> Brent Yorgey <byorgey@cis.upenn.edu>**20090221230850] 
> [IndependentScreens, v0.0
> daniel@wagner-home.com**20090221225229] 
> [U.Run: remove waitForProcess to close Issue 268
> wirtwolff@gmail.com**20090220214153
> Ignore-this: a6780565fde40a4aac9023cc55fc2273
> http://code.google.com/p/xmonad/issues/detail?id=268
> Submitting with some trepidation, since I've nearly no
> understanding of process handling. Should be ok, no 
> warnings by sjanssen when asking about it in hpaste or
> earlier email, and tested locally by spawning excessive
> numbers of dzens: did not leave zombies or raise exceptions.
> ] 
> [change Cross data declaration into a record so that Haddock will parse the \
> per-argument comments Brent Yorgey <byorgey@cis.upenn.edu>**20090221224742] 
> [X.L.Master: turn it to a Layout modifier and update the code
> Ismael Carnales <icarnales@gmail.com>**20090213020453
> Ignore-this: 69513ad2b60dc4aeb49d64ca30e6f9f8
> ] 
> [Use doShift in my config
> Spencer Janssen <spencerjanssen@gmail.com>**20090219042040
> Ignore-this: 1f103d21bbceec8d48384f975f18eaec
> ] 
> [SpawnOn: use doShift.  This resolves problems where SpawnOn would shift the wrong \
> window Spencer Janssen <spencerjanssen@gmail.com>**20090219041856
> Ignore-this: 6ae639a638db8eff77203f3f2e481a4e
> ] 
> [SpawnOn: delete seen pids
> Spencer Janssen <spencerjanssen@gmail.com>**20090213013011
> Ignore-this: 8b15a60bba1edf1bab5fb77ac54eb12f
> ] 
> [X.U.Loggers: handle possible EOF (reported by dyfrgi)
> Roman Cheplyaka <roma@ro-che.info>**20090216213842] 
> [U.Scratchpad: add general spawn action to close issue 249
> wirtwolff@gmail.com**20090214003642
> Ignore-this: 925ad9db4ecc934dcd86320f383ed44a
> Adds scratchpadSpawnActionCustom where user specifies how to set
> resource to "scratchpad". This allows use of gnome-terminal, etc.
> Add detail to RationalRectangle documentation; strip trailing spaces.
> ] 
> [SpawnOn: add 'exec' to shell strings where possible
> Spencer Janssen <spencerjanssen@gmail.com>**20090212234608
> Ignore-this: c7de4e05803d60b10f38004dcbda4732
> ] 
> [Add Cross Layout
> 'Luis Cabellos <zhen.sydow@gmail.com>'**20090209174802] 
> [Fix an undefined in EwmhDesktops
> Daniel Schoepe <asgaroth_@gmx.de>**20090209152308
> Ignore-this: f60a43d7ba90164ebcf700090dfb2480
> ] 
> [X.U.WindowProperties: docs (description and sections)
> Roman Cheplyaka <roma@ro-che.info>**20090208231422] 
> [X.U.WindowProperties: Add getProp32 and getProp32s, helpers to get properties from \
> windows Ismael Carnales <icarnales@gmail.com>**20090205013031
> Ignore-this: c5481fd5d97b15ca049e2da2605f65c1
> ] 
> [cleanup and make X.L.Mosaic behavior more intuitive wrt. areas
> Adam Vogt <vogt.adam@gmail.com>**20090208221629
> Ignore-this: 3c3c6faa203cbb1c1db909e5bf018b6f
> ] 
> [minor typo in XMonad/Util/EZConfig.hs
> Joachim Breitner <mail@joachim-breitner.de>**20090208192224
> Ignore-this: 7ffee60858785c3e31fdd5383c9bb784
> ] 
> [Multimedia keys support for EZConfig
> Khudyakov Alexey <alexey.skladnoy@gmail.com>**20090207173330
> Ignore-this: 21183dd7c192682daa18e3768828f88d
> ] 
> [+A.CycleWindows: bindings to cycle windows in new ways
> wirtwolff@gmail.com**20090207170622
> Ignore-this: 51634299addf224cbbc421adb4b048f5
> Provides binding actions and customizable pure stack operations
> to cycle through a list of permutations of the stack (recent),
> cycle nth into focus, cycle through focus excluding a neighbor,
> cycle unfocused, shift a window halfway around the stack.
> Esp. for Full, two or three pane layouts, but useful for any
> layout with many windows.
> ] 
> [XMonad.Actions.CopyWindow: fmt & qualify stackset import
> gwern0@gmail.com**20090206171833
> Ignore-this: 4d08f5a7627020b188f59fc637b53ae8
> ] 
> [XMonad.Actions.CopyWindow runOrCopy
> lan3ny@gmail.com**20080602205742] 
> [ManageHelpers: reduce duplicated code in predicates
> Ismael Carnales <icarnales@gmail.com>**20090204021847
> Ignore-this: e28a912d4f897eba68ab3edfddf9f26b
> ] 
> [Remove X.U.SpawnOnWorkspace (superseded by X.A.SpawnOn)
> Roman Cheplyaka <roma@ro-che.info>**20090204103635] 
> [X.A.SpawnOn: add docs
> Roman Cheplyaka <roma@ro-che.info>**20090204102424
> Add more documentation, including documentation from
> X.U.SpawnOnWorkspace by Daniel Schoepe.
> ] 
> [Remove silliness from XMonad.Doc.Configuring
> Spencer Janssen <spencerjanssen@gmail.com>**20090204055626] 
> [Adjustments to use the new event hook feature instead of Hooks.EventHook
> Daniel Schoepe <asgaroth_@gmx.de>**20090203160046
> Ignore-this: f8c239bc8e301cbd6fa509ef748af542
> ] 
> [Easier Colorizers for X.A.GridSelect
> quentin.moser@unifr.ch**20090128001702
> Ignore-this: df3e0423824e40537ffdb4bc7363655d
> ] 
> [X.A.SpawOn: fix usage doc
> Roman Cheplyaka <roma@ro-che.info>**20090202102042] 
> [Added GridVariants.SplitGrid
> Norbert Zeh <nzeh@cs.dal.ca>**20090129152146
> 
> GridVariants.TallGrid behaved weird when transformed using Mirror
> or Reflect.  The new layout SplitGrid does away with the need for
> such transformations by taking a parameter to specify horizontal
> or vertical splits.
> ] 
> [FixedColumn: added missing nmaster to the usage doc
> Ismael Carnales <icarnales@gmail.com>**20090130195239
> Ignore-this: 642aa0bc9e68e7518acc8af30324b97a
> ] 
> [XMonad.Actions.Search: fix whitespace & tabs
> gwern0@gmail.com**20090129025246
> Ignore-this: 894e479ccc46160848c4d70c2361c929
> ] 
> [xmonad-action-search-intelligent-searchengines
> Michal Trybus <komar007@gmail.com>**20090128101938
> 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. ] 
> [XMonad.Prompt autocompletion fix
> quentin.moser@unifr.ch**20090127184145
> Ignore-this: 635cbf6420722a4edef1ae9c40b36e1b
> ] 
> [X.A.SinkAll: re-add accidentally deleted usage documentation
> Brent Yorgey <byorgey@cis.upenn.edu>**20090127222533] 
> [move XMonad.Actions.SinkAll functionality to more general XMonad.Actions.WithAll, \
> and re-export sinkAll from X.A.SinkAll for backwards compatibility Brent Yorgey \
> <byorgey@cis.upenn.edu>**20090127222355]  [adds generic 'all windows on current \
> workspace' functionality loupgaroublond@gmail.com**20081221224850] 
> [placement patch to XMonad.Layout.LayoutHints
> quentin.moser@unifr.ch**20090126195950
> Ignore-this: 87a5efa9c841d378a808b1a4309f18
> ] 
> [XMonad.Actions.MessageFeedback module
> quentin.moser@unifr.ch**20090126181059
> Ignore-this: 82e58357a44f98c35ccf6ad0ef98b552
> ] 
> [submapDefault
> Anders Engstrom <ankaan@gmail.com>**20090118152933
> Ignore-this: c8958d47eb584a7de04a81eb087f05d1
> Add support for a default action to take when the entered key does not match any \
> entry. ] 
> [X.A.CycleWS: convert tabs to spaces (closes #266)
> Roman Cheplyaka <roma@ro-che.info>**20090127185604] 
> [Mosaic picks the middle aspect layout, unless overriden
> Adam Vogt <vogt.adam@gmail.com>**20090126032421
> Ignore-this: aaa31da14720bffd478db0029563aea5
> ] 
> [Mosaic: stop preventing access to the widest layouts
> Adam Vogt <vogt.adam@gmail.com>**20090125045256
> Ignore-this: c792060fe2eaf532f433cfa8eb1e8fe3
> ] 
> [X.L.Mosaic add documentation, update interface and aspect ratio behavior
> Adam Vogt <vogt.adam@gmail.com>**20090125041229
> Ignore-this: e78027707fc844b3307ea87f28efed73
> ] 
> [Use currentTag, thanks asgaroth
> Spencer Janssen <spencerjanssen@gmail.com>**20090125213331
> Ignore-this: dd1a3d96038de6479eca3b9798d38437
> ] 
> [Support for spawning most applications on a specific workspace
> Daniel Schoepe <asgaroth_@gmx.de>**20090125191045
> Ignore-this: 26076d54b131e037b42c87e4fde63200
> ] 
> [X.L.Mosaic: haddock fix
> Roman Cheplyaka <roma@ro-che.info>**20090124235908] 
> [A mosaic layout based on MosaicAlt
> Adam Vogt <vogt.adam@gmail.com>**20090124022058
> Ignore-this: 92bad7498f1ac402012e3eba6cbb2693
> 
> The position of a window in the stack determines its position and layout. And
> the overall tendency to make wide or tall windows can be changed, though not
> all of the options presented by MosaicAlt can be reached, the layout changes
> with each aspect ratio message.
> 
> ] 
> [uninstallSignalHandlers in spawnPipe
> Spencer Janssen <spencerjanssen@gmail.com>**20090122002745
> Ignore-this: e8cfe0f18f278c95d492628da8326fd7
> ] 
> [Create a new session for spawnPiped processes
> Spencer Janssen <spencerjanssen@gmail.com>**20090122000441
> Ignore-this: 37529c5fe8b4bf1b97fffb043bb3dfb0
> ] 
> [TAG 0.8.1
> Spencer Janssen <spencerjanssen@gmail.com>**20090118220647] 
> [Use spawnOn in my config
> Spencer Janssen <spencerjanssen@gmail.com>**20090117041026
> Ignore-this: 3f92e4bbe4f2874b86a6c7ad66a31bbb
> ] 
> [Add XMonad.Actions.SpawnOn
> Spencer Janssen <spencerjanssen@gmail.com>**20090117040432
> Ignore-this: 63869d1ab11f2ed5aab1690763065800
> ] 
> [Bump version to 0.8.1
> Spencer Janssen <spencerjanssen@gmail.com>**20090116223607
> Ignore-this: 1c201e87080e4404f51cadc108b228a1
> ] 
> [Compile without optimizations on x86_64 and GHC 6.10
> Spencer Janssen <spencerjanssen@gmail.com>**20090108231650
> Ignore-this: a803235b8022793f648e8953d9f05e0c
> This is a workaround for http://xmonad.org/bugs/226
> ] 
> [Update all uses of doubleFork/waitForProcess
> Spencer Janssen <spencerjanssen@gmail.com>**20090116210315
> Ignore-this: 4e15b7f3fd6af3b7317449608f5246b0
> ] 
> [Update to my config
> Spencer Janssen <spencerjanssen@gmail.com>**20090116204553
> Ignore-this: 81017fa5b99855fc8ed1fe8892929f53
> ] 
> [Adjustments to new userCode function
> Daniel Schoepe <asgaroth_@gmx.de>**20090110221310] 
> [X.U.EZConfig: expand documentation
> Brent Yorgey <byorgey@cis.upenn.edu>**20090116153143] 
> [add a bit of documentation to HintedTile
> Brent Yorgey <byorgey@cis.upenn.edu>**20090114065126] 
> [ManageHelpers: add isDialog
> johanngiwer@web.de**20090108232505] 
> [CenteredMaster
> portnov84@rambler.ru**20090111134513
> 
> centerMaster layout modifier places master window at top of other, at center of \
> screen. Other windows are managed by base layout. topRightMaster is similar, but \
> places master window at top right corner. ] 
> [XMonad.Util.XSelection: update maintainer information
> gwern0@gmail.com**20090110213000
> Ignore-this: 1592ba07f2ed5d2258c215c2d175190a
> ] 
> [X.U.XSelection: get rid of warning about missing newline, add Haddock link
> Brent Yorgey <byorgey@cis.upenn.edu>**20090102194357] 
> [adds haddock documentation for transformPromptSelection
> loupgaroublond@gmail.com**20090102190954
> 
> also renames the function per mailing list recommendation
> ] 
> [adds a weird function to XSelection
> loupgaroublond@gmail.com**20081222020730
> 
> This enables you to pass a function of (String -> 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. ] 
> [ThreeColumnsMiddle
> xmonad@c-otto.de**20090102091019] 
> [fix-fromJust-errors
> rupa@lrrr.us**20081224045509
> 
> bogner wrote all this stuff and i just tested it.
> 
> I had:
> 
> myLogHook = ewmhDesktopLogHookCustom ScratchpadFilterOutWorkspace >> updatePointer \
> Nearest 
> Everytime I invoked or hid Scratchpad, it would leave a 'Maybe.fromJust: Nothing' \
> line in .xsession-errors, and updatePointer would stop working. 
> ] 
> [ Prompt: Change Filemode to 600 for history-file (fixes bug 244)
> Dominik Bruhn <dominik@dbruhn.de>**20081218001601] 
> [X.L.Monitor: changes in message passing
> Roman Cheplyaka <roma@ro-che.info>**20081226220851
> - transform mbName (Maybe String) to name (String)
> - slghtly change semantics of messages, document it
> ] 
> [X.L.Monitor: change interface
> Roman Cheplyaka <roma@ro-che.info>**20081226213118
> - remove add*Monitor
> - add manageMonitor, monitor template
> ] 
> [X.U.WindowProperties: propertyToQuery+docs
> Roman Cheplyaka <roma@ro-che.info>**20081225080702] 
> [X.L.Monitor: docs
> Roman Cheplyaka <roma@ro-che.info>**20081225073904] 
> [hlintify XUtils, XSelection, Search, WindowGo
> gwern0@gmail.com**20081220153302
> Ignore-this: 7e877484e3cd8954b74232ea83180fa9
> ] 
> [fix focus issue for XMonad.Actions.Warp.banishScreen
> Norbert Zeh <nzeh@cs.dal.ca>**20081212203532
> 
> This patch ensures that the focus (or in fact the whose windowset)
> does not change as a result of a banishScreen.  The way this is implemented
> will become problematic if xmonad ever goes multithreaded.
> ] 
> [addition of XMonad.Actions.Warp.banishScreen
> Norbert Zeh <nzeh@cs.dal.ca>**20081212192621
> 
> This works on top of warpToScreen and, thus, suffers from the same issue:
> focus change.
> ] 
> [fixed documentation for banish
> Norbert Zeh <nzeh@cs.dal.ca>**20081212191819
> 
> banish actually warps to the specified corner of the current window, not
> the screen.
> ] 
> [addition of combined TallGrid layout
> Norbert Zeh <nzeh@cs.dal.ca>**20081212184836
> 
> Added a module XMonad.Layouts.GridVariants, which defines layouts
> Grid and TallGrid.  The former is a customizable version of Grid.  The latter
> is a combination of Grid and Tall (see doc of the module).
> ] 
> [Add FixedColumn, a layout like Tall but based on the resize hints of windows
> Justin Bogner <mail@justinbogner.com>**20081213073054] 
> [XMonad.Actions.WindowGo: fix a floating-related focus bug
> gwern0@gmail.com**20081205150755
> Ignore-this: c8b6625aa2bd4136937acbd2ad64ffd3
> If a floating window was focused, a cross-workspace 'raise' would cause a loop of
> shifting windows. Apparently the problem was 'focus' and its mouse-handling. \
> Spencer suggested that the calls to focus be replaced with 'focusWindow', which \
> resolved it. ] 
> [Prompt.hs: +greenXPConfig and amberXPConfig
> gwern0@gmail.com**20081119213122
> Ignore-this: 95ac7dbe9c8fe3618135966f251f4fc6
> ] 
> [Prompt.hs: increase font size to 12 from niggardly 10
> gwern0@gmail.com**20081119212523
> Ignore-this: 74a6e1ac5e1774da4ffc7c6667c034c
> ] 
> [Prompt.hs: replace magic numbers with understandable names
> gwern0@gmail.com**20081119212502
> Ignore-this: 8401c0213be9a32c925e1bd0ba5e01f1
> ] 
> [X.L.Monitor: recommend doHideIgnore (docs)
> Roman Cheplyaka <roma@ro-che.info>**20081215190710] 
> [X.L.Monitor: docs
> Roman Cheplyaka <roma@ro-che.info>**20081215184423] 
> [X.L.Monitor: export Monitor datatype
> Roman Cheplyaka <roma@ro-che.info>**20081215184318] 
> [X.H.ManageHelpers: add doHideIgnore
> Roman Cheplyaka <roma@ro-che.info>**20081215182758] 
> [Add KDE 4 config, thanks to Shirakawasuna on IRC
> Spencer Janssen <spencerjanssen@gmail.com>**20081211071141
> Ignore-this: 51698961ab5b6e569c294d174f2804a9
> ] 
> [I use the deleteConsecutive history filter
> Spencer Janssen <spencerjanssen@gmail.com>**20081025070438] 
> [Remove XMonad.Config.PlainConfig, it has been turned into the separate \
> xmonad-light project. Braden Shepherdson \
> <Braden.Shepherdson@gmail.com>**20081203161534]  [XMonad.Prompt: swap up and down \
> per bug #243 gwern0@gmail.com**20081203013323
> Ignore-this: 8ab0481a0da7a983f501ac2fec4a68e8
> ] 
> [Fix boolean operator precedence in GridSelect keybindings
> Aleksandar Dimitrov <aleks.dimitrov@googlemail.com>**20081201120928
> The vim-like hjkl keys were ORed to the key event AND arrow keys.
> ] 
> [GridSelect.hs: navigate grid with h,j,k,l as well as arrow keys
> sean.escriva@gmail.com**20081122084725] 
> [Export setOpacity from FadeInactive. Document how to make monitor transparent \
> (X.L.Monitor) Roman Cheplyaka <roma@ro-che.info>**20081117153027] 
> [Monitor: use broadcastMessage instead of sendMessage; this solves several issues
> Roman Cheplyaka <roma@ro-che.info>**20081117133957] 
> [FadeInactive: fade all inactive windows (including focused windows on visible \
> screens) Roman Cheplyaka <roma@ro-che.info>**20081117130115] 
> [Monitor: documented one more issue
> Roman Cheplyaka <roma@ro-che.info>**20081117113807] 
> [Monitor: improved the docs
> Roman Cheplyaka <roma@ro-che.info>**20081117073709] 
> [added XMonad.Layout.Monitor
> Roman Cheplyaka <roma@ro-che.info>**20081115104735] 
> [WindowProperties: added allWithProperty
> Roman Cheplyaka <roma@ro-che.info>**20081115104525] 
> [ManageHelpers: added doSideFloat (generalization of doCenterFloat)
> Roman Cheplyaka <roma@ro-che.info>**20081114113015] 
> [GridSelect: Export default_colorizer
> Dominik Bruhn <dominik@dbruhn.de>**20081112140005] 
> [Simplify code for restriction-calculation and remove compiletime warnings
> Dominik Bruhn <dominik@dbruhn.de>**20081112134630] 
> [Simplify handle/eventLoop, introduce findInWindowMap, partial updates for key \
> movements (less flickering) Clemens Fruhwirth \
> <clemens@endorphin.org>**20081111100405 
> * handle/eventLoop carried the display and the drawing window as
> parameters. The display is available from the embedded X monad, the
> drawing windows was added.
> 
> * updateWindows now takes a list of windows to
> update. updateAllWindows updates all windows.
> 
> * only the windows that are modified by key movements are redrawn
> now. This means less flickering.
> 
> ] 
> [GridSelect: force cursor stay in visible area
> Roman Cheplyaka <roma@ro-che.info>**20081111063348] 
> [GridSelect: fix infiniteness problem with diamondRestrict
> Roman Cheplyaka <roma@ro-che.info>**20081111055350] 
> [GridSelect: remove tabs
> Roman Cheplyaka <roma@ro-che.info>**20081111053647] 
> [Exported shrinkWhile from Decoration to use in GridSelect
> Roman Cheplyaka <roma@ro-che.info>**20081110191534] 
> [GridSelect: added link to a screenshot
> Roman Cheplyaka <roma@ro-che.info>**20081110190617] 
> [GridSelect: various improvements
> Roman Cheplyaka <roma@ro-che.info>**20081110184644
> Added documentation
> Restricted export list for the sake of haddock
> Added functions:
> withSelectedWindow
> bringSelected (by Clemens Fruhwirth)
> goToSelected (by Dominik Bruhn)
> ] 
> [Initial version of GridSelect.hs with a lot room for improvement/cleanups
> Clemens Fruhwirth <clemens@endorphin.org>**20081107115114] 
> [documentation: XMonad.Util.Search.hs, add EZConfig keybindings example
> sean.escriva@gmail.com**20081106171707] 
> [typo
> Don Stewart <dons@galois.com>**20081104043044
> Ignore-this: bdac0ff3316c821bce321b51c62f6e89
> ] 
> [place an upper bound on the version of base we support
> Don Stewart <dons@galois.com>**20081104035857
> Ignore-this: 29139cc4f0ecb299b56ae99f7d20b854
> ] 
> [explicit import list for things in the process library
> Don Stewart <dons@galois.com>**20081104035319
> Ignore-this: 91b7f96421828788760e8bcff7dec317
> ] 
> [Work around ghc 6.10 bug #2738
> Don Stewart <dons@galois.com>**20081104034819
> Ignore-this: c75da9693fa642025eac0d074869423d
> ] 
> [windowPromptBringCopy
> deadguysfrom@gmail.com**20081023173019] 
> [generic menu and window bringer
> Travis B. Hartwell <nafai@travishartwell.net>**20081027005523] 
> [Search.hs: +hackage search, courtesy of byorgey
> gwern0@gmail.com**20081031214937
> Ignore-this: 24db0ceed49f8bd37ce98ccf8f8ca2ab
> ] 
> [Prompt.hs rename deleteConsecutiveDuplicates
> gwern0@gmail.com**20081008205131
> That name is really unwieldy and long.
> ] 
> [Prompt.hs: have historyCompletion filter dupes
> gwern0@gmail.com**20081008204710
> Specifically, it calls deleteConsecutiveDuplicates on the end product. uniqSort \
> reverses order in an unfortunate way, so we don't use that. The use-case is when a \
> user has added the same input many times - as it stands, if the history records 30 \
> 'top's or whatever, the completion will show 30 'top' entries! This fixes that. ] 
> [Prompt.hs: tweak haddocks
> gwern0@gmail.com**20081008204649] 
> [Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off
> gwern0@gmail.com**20081008192645] 
> [Do not consider XMONAD_TIMER unknown
> Joachim Breitner <mail@joachim-breitner.de>**20081008195643] 
> [Kill window without focusing it first
> Joachim Breitner <mail@joachim-breitner.de>**20081005002533
> This patch requires the patch "add killWindow function" in xmonad.
> Before this patch, people would experience "workspace flicker" when closing
> a window via EWMH that is not on the current workspace, for example when
> quitting pidgin via the panel icon.
> ] 
> [let MagnifyLess actually magnify less
> daniel@wagner-home.com**20081015153911] 
> [Actions.Search: add a few search engines
> intrigeri@boum.org**20081008104033
> 
> Add Debian {package, bug, tracking system} search engines, as well as Google
> Images and isohunt.
> 
> ] 
> [Implement HiddenNonEmptyWS with HiddenWS and NonEmptyWS
> Joachim Breitner <mail@joachim-breitner.de>**20081006211027
> (Just to reduce code duplication)
> ] 
> [Add straightforward HiddenWS to WSType
> Joachim Breitner <mail@joachim-breitner.de>**20081006210548
> With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously missing.
> ] 
> [Merge emptyLayoutMod into redoLayout
> Joachim Breitner <mail@joachim-breitner.de>**20081005190220
> This removes the emptyLayoutMod method from the LayoutModifier class, and
> change the Stack parameter to redoLayout to a Maybe Stack one. It also changes
> all affected code. This should should be a refactoring without any change in
> program behaviour.
> ] 
> [SmartBorders even for empty layouts
> Joachim Breitner <mail@joachim-breitner.de>**20081005184426
> Fixes: http://code.google.com/p/xmonad/issues/detail?id=223
> ] 
> [Paste.hs: improve haddocks
> gwern0@gmail.com**20080927150158] 
> [Paste.hs: fix haddock
> gwern0@gmail.com**20080927145238] 
> [minor explanatory comment
> daniel@wagner-home.com**20081003015919] 
> [XMonad.Layout.HintedGrid: add GridRatio (--no-test because of haddock breakage)
> Lukas Mai <l.mai@web.de>**20080930141715] 
> [XMonad.Util.Font: UTF8 -> USE_UTF8
> Lukas Mai <l.mai@web.de>**20080930140056] 
> [Paste.hs: implement noModMask suggestion
> gwern0@gmail.com**20080926232056] 
> [fix a divide by zero error in Grid
> daniel@wagner-home.com**20080926204148] 
> [-DUTF8 flag with -DUSE_UTF8
> gwern0@gmail.com**20080921154014] 
> [XSelection.hs: use CPP to compile against utf8-string
> gwern0@gmail.com**20080920151615] 
> [add XMonad.Config.Azerty
> Devin Mullins <me@twifkak.com>**20080924044946] 
> [flip GridRatio to match convention (x/y)
> Devin Mullins <me@twifkak.com>**20080922033354] 
> [let Grid have a configurable aspect ratio goal
> daniel@wagner-home.com**20080922010950] 
> [Paste.hs: +warning about ASCII limitations
> gwern0@gmail.com**20080921155038] 
> [Paste.hs: shorten comment lines to under 80 columns per sjanssen
> gwern0@gmail.com**20080921154950] 
> [Forgot to enable historyFilter :(
> Spencer Janssen <spencerjanssen@gmail.com>**20080921094254] 
> [Prompt: add configurable history filters
> Spencer Janssen <spencerjanssen@gmail.com>**20080921093453] 
> [Update my config to use 'statusBar'
> Spencer Janssen <spencerjanssen@gmail.com>**20080921063513] 
> [Rename pasteKey functions to sendKey
> Spencer Janssen <spencerjanssen@gmail.com>**20080921062016] 
> [DynamicLog: doc fixes
> Spencer Janssen <spencerjanssen@gmail.com>**20080921061314] 
> [Move XMonad.Util.XPaste to XMonad.Util.Paste
> Spencer Janssen <spencerjanssen@gmail.com>**20080921060947] 
> [Depend on X11 >= 1.4.3
> Spencer Janssen <spencerjanssen@gmail.com>**20080921055456] 
> [statusBar now supplies the action to toggle struts
> Spencer Janssen <spencerjanssen@gmail.com>**20080918013858] 
> [cleanup - use currentTag
> Devin Mullins <me@twifkak.com>**20080921011159] 
> [XPaste.hs: improve author info
> gwern0@gmail.com**20080920152342] 
> [+XMonad.Util.XPaste: a module for pasting strings to windows
> gwern0@gmail.com**20080920152106] 
> [UrgencyHook bug fix: cleanupUrgents should clean up reminders, too
> Devin Mullins <me@twifkak.com>**20080920062117] 
> [Sketch of XMonad.Config.Monad
> Spencer Janssen <spencerjanssen@gmail.com>**20080917081838] 
> [raiseMaster
> seanmce33@gmail.com**20080912184830] 
> [Add missing space between dzen command and flags
> Daniel Neri <daniel.neri@sigicom.com>**20080915131009] 
> [Big DynamicLog refactor.  Added statusBar, improved compositionality for dzen and \
> xmobar Spencer Janssen <spencerjanssen@gmail.com>**20080913205931
> Compatibility notes:
> - dzen type change
> - xmobar type change
> - dynamicLogDzen removed
> - dynamicLogXmobar removed
> ] 
> [Take maintainership of XMonad.Prompt
> Spencer Janssen <spencerjanssen@gmail.com>**20080911230442] 
> [Overhaul Prompt to use a zipper for history navigation.  Fixes issue #216
> Spencer Janssen <spencerjanssen@gmail.com>**20080911225940] 
> [Use the new completion on tab setting
> Spencer Janssen <spencerjanssen@gmail.com>**20080911085940] 
> [Only start to show the completion window with more than one match
> Joachim Breitner <mail@joachim-breitner.de>**20080908110129] 
> [XPrompt: Add showCompletionOnTab option
> Joachim Breitner <mail@joachim-breitner.de>**20080908105758
> This patch partially implements
> http://code.google.com/p/xmonad/issues/detail?id=215
> It adds a XPConfig option that, if enabled, hides the completion window
> until the user presses Tab once. Default behaviour is preserved.
> TODO: If Tab causes a unique completion, continue to hide the completion
> window.
> ] 
> [XMonad.Actions.Plane.planeKeys: function to make easier to configure
> Marco Túlio Gontijo e Silva <marcot@riseup.net>**20080714153601] 
> [XMonad.Actions.Plane: removed unneeded hiding
> Marco Túlio Gontijo e Silva <marcot@riseup.net>**20080714152631] 
> [Improvements in documentation
> Marco Túlio Gontijo e Silva <marcot@riseup.net>**20080709002425] 
> [Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde}
> Spencer Janssen <spencerjanssen@gmail.com>**20080911040808] 
> [add clearUrgents for your keys
> Devin Mullins <me@twifkak.com>**20080909055425] 
> [add reminder functionality to UrgencyHook
> Devin Mullins <me@twifkak.com>**20080824200548
> I'm considering rewriting remindWhen and suppressWhen as UrgencyHookModifiers, so \
> to speak. Bleh. ] 
> [TAG 0.8
> Spencer Janssen <spencerjanssen@gmail.com>**20080905195420] 
> Patch bundle hash:
> 8e450fac99cf96282f2ca74b920aaf850a92d305


_______________________________________________
xmonad mailing list
xmonad@haskell.org
http://www.haskell.org/mailman/listinfo/xmonad


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic