[xmonad] darcs patch: Add support for fullscreen through the _NET_WM_STATE protocol

Adam Vogt vogt.adam at gmail.com
Fri Dec 18 15:59:40 EST 2009


Hello Audun,

Could you resend this patch as an attachment? I tried to apply this, but
the line wrapping in the patch context you added prevents darcs from
accepting the patch.

* On Monday, December 14 2009, Audun Skaugen wrote:

>See also discussion on issue 339.
>
>Mon Dec 14 14:51:19 CET 2009  audunskaugen at gmail.com
>  * Add support for fullscreen through the _NET_WM_STATE protocol
>
>  This patch adds support for applications using the
>  gtk_window_fullscreen function, and other applications using
>  _NET_WM_STATE for the same purpose.
>
>New patches:
>
>[Add support for fullscreen through the _NET_WM_STATE protocol
>audunskaugen at 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.
>] {
>hunk ./XMonad/Hooks/EwmhDesktops.hs 22
>     ewmhDesktopsStartup,
>     ewmhDesktopsLogHook,
>     ewmhDesktopsLogHookCustom,
>-    ewmhDesktopsEventHook
>+    ewmhDesktopsEventHook,
>+    fullscreenEventHook
>     ) where
>
> import Codec.Binary.UTF8.String (encode)
>hunk ./XMonad/Hooks/EwmhDesktops.hs 38
> import XMonad.Hooks.SetWMName
> import XMonad.Util.XUtils (fi)
> import XMonad.Util.WorkspaceCompare
>+import XMonad.Util.WindowProperties (getProp32)
>
> -- $usage
> -- You can use this module with the following in your
>@~\/.xmonad\/xmonad.hs@:
>hunk ./XMonad/Hooks/EwmhDesktops.hs 159
>           return ()
> handle _ = return ()
>
>+-- |
>+-- An event hook to handle applications that wish to fullscreen using the
>+-- _NET_WM_STATE protocol. This includes users of the
>gtk_window_fullscreen()
>+-- function, such as Totem, Evince and OpenOffice.org.
>+fullscreenEventHook :: Event -> X All
>+fullscreenEventHook (ClientMessageEvent _ _ _ dpy win typ dat) = do
>+  state <- getAtom "_NET_WM_STATE"
>+  fullsc <- getAtom "_NET_WM_STATE_FULLSCREEN"
>+  wstate' <- getProp32 state win
>+  let wstate = case wstate' of
>+                 Just ps -> ps
>+                 Nothing -> []
>+      isFull = fromIntegral fullsc `elem` wstate
>+
>+      -- Constants for the _NET_WM_STATE protocol:
>+      remove = 0
>+      add = 1
>+      toggle = 2
>+
>+      action = head dat
>+      ptype = 4 -- The atom property type for changeProperty
>+
>+  when (typ == state && fromIntegral fullsc `elem` tail dat) $ do
>+    when (action == add || (action == toggle && not isFull)) $ do
>+      io $ changeProperty32 dpy win state ptype propModeReplace
>(fromIntegral fullsc:wstate)
>+      windows $ W.float win $ W.RationalRect 0 0 1 1
>+    when (action == remove || (action == toggle && isFull)) $ do
>+      io $ changeProperty32 dpy win state ptype propModeReplace
>(delete (fromIntegral fullsc) wstate)
>+      windows $ W.sink win
>+
>+  return $ All True
>+
>+fullscreenEventHook _ = return $ All True
>
> setNumberOfDesktops :: (Integral a) => a -> X ()
> setNumberOfDesktops n = withDisplay $ \dpy -> do
>}
>
>Context:
>
>[X.L.MouseResizableTile: change description for mirrored variant
>Tomas Janousek <tomi at 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.
>]
>[X.A.GridSelect: documentation typo fix
>Tomas Janousek <tomi at nomi.cz>**20091211182515
> Ignore-this: 521bef2a73a9e969d7a96defb555177b
>
> spotted by Justin on IRC
>]
>[A.GridSelect shouldn't grab keys if there are no choices.
>Adam Vogt <vogt.adam at 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 at n-sch.de>**20091209003717
> Ignore-this: 6a9644c729c2b60f94398260f3640e4d
>]
>[Added Bluetile's config
>Jan Vornberger <jan.vornberger at 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 at informatik.uni-oldenburg.de>**20091208234431
> Ignore-this: 1a5a5e69c7c37d3ffe8d8e09496568de
>]
>[Use lookup instead of find in A.PerWorkspaceKeys
>Adam Vogt <vogt.adam at 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 at 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 at 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 at informatik.uni-oldenburg.de>**20091129003431
> Ignore-this: 38aff0f3beb1a1eb304219c4f3e85593
>]
>[A decoration with small buttons and a supporting module
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091129002416
> Ignore-this: 2d65133bc5b9ad29bad7d06780bdaa4
>]
>[XMonad.Actions.Search: finally fixed the internet archive search plugin
>gwern0 at gmail.com**20091205033435
> Ignore-this: c78ecebced9bc8e39e6077ffa9f9f182
>]
>[XMonad.Actions.Search: in retrospect, a bit silly to make everyone
>go through SSL
>gwern0 at gmail.com**20091205033318
> Ignore-this: 452b4e6efb83935fc1063ab695ae074d
>]
>[Prompt.hs: Corrected quit keybindings
>Tim Horton <tmhorton at gmail.com>**20091203050041
> Ignore-this: e8cd2cd1d41f6807f68157ef37c631ea
>]
>[Extended decoration module with more hooks and consolidated some
>existing ones
>Jan Vornberger <jan.vornberger at 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 at 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 at informatik.uni-oldenburg.de>**20091024205111
> Ignore-this: eb7d32284b7f98145038dcaa14f8075e
>]
>[Added the alignment option 'AlignRightOffset'
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091024204513
> Ignore-this: 58cc00e1be669877e38a97e36b924969
>]
>[Prevent windows from being decorated that are too small to contain
>decoration.
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20090627094316
> Ignore-this: 39b806462bbd424f1206b635e9d506e1
>]
>[X.L.MouseResizableTile: keep draggers on the bottom of the window stack.
>Tomas Janousek <tomi at nomi.cz>**20091126173413
> Ignore-this: 8089cf8ce53580090b045f4aebb1b899
>]
>[Implemented smarter system of managing borders for BorderResize
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091122233651
> Ignore-this: 4775c082249e598a84c79b2e819f28b0
>]
>[X.H.DynamicLog: fix xmonadPropLog double-encoding of UTF-8
>Tomas Janousek <tomi at nomi.cz>**20091121004829
> Ignore-this: bde612bbd1a19951f9718a03e737c4ac
>
> dynamicLogString utf-8 encodes its output, xmonadPropLog shouldn't do that
> again.
>]
>[X.H.DynamicLog: make documentation for 'dzen' and 'xmobar' slightly
>more clear
>Brent Yorgey <byorgey at cis.upenn.edu>**20091121170739
> Ignore-this: c9a241677fda21ef93305fc3882f102e
>]
>[X.H.ManageDocks: ignore struts that cover an entire screen on that screen
>Tomas Janousek <tomi at 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 at gmail.com>**20091119103112
> Ignore-this: 6563a3093083667c79aa491a6f59b805
>]
>[Changed interface of X.U.ExtensibleState
>Daniel Schoepe <daniel.schoepe at 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 at informatik.uni-oldenburg.de>**20091115184833
> Ignore-this: 8b1d0fcef1465356d72cb5f1f32413b6
>]
>[PositionStore utility to store information about position and size
>of a window
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091108195735
> Ignore-this: 2f6e68a490deb75cba5d007b30c93fb2
>]
>[X.H.Urgencyhook fix minor doc bug
>Anders Engstrom <ankaan at gmail.com>**20091115131121
> Ignore-this: 18b63bccedceb66c77b345a9300f1ac3
>]
>[X.H.DynamicLog fix minor indentation oddness
>Anders Engstrom <ankaan at gmail.com>**20091115130707
> Ignore-this: 7f2c49eae5527874ca4499767f4167c4
>]
>[X.A.CycleWS cycle by tag group
>Anders Engstrom <ankaan at 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 at gmail.com>**20091115025647
> Ignore-this: 1d27b8efc4d829a5642717c6f6426336
>]
>[Use io instead of liftIO in Prompt
>Adam Vogt <vogt.adam at gmail.com>**20091115025301
> Ignore-this: cd4031b74cd5bb874cd2c3cc2cb087f2
>]
>['io' and 'fi' are defined outside of Prompt
>Adam Vogt <vogt.adam at gmail.com>**20091115024001
> Ignore-this: 3426056362db9cbfde7d2f4edbfe6f36
>]
>[Use zipWithM_ instead of recursion in Prompt.printComplList
>Adam Vogt <vogt.adam at gmail.com>**20091115023451
> Ignore-this: 2457500ed871ef120653a3d4ada13441
>]
>[Minor style changes in DynamicWorkspaces
>Adam Vogt <vogt.adam at gmail.com>**20091115022751
> Ignore-this: 1a6018ab134e4420a949354575a8a110
>]
>[X.A.DynamicWorkspaces fix doc and add behaviour
>Anders Engstrom <ankaan at 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 at wagner-home.com**20091114051509
> Ignore-this: 16d93f91c54f7d195b1a418e6c0351c5
>]
>[generalize IO actions to MonadIO m => m actions
>daniel at 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 at wagner-home.com**20091114021328
> Ignore-this: 6dbbb118b139f443c40a573445a48d07
>]
>[Bypass more of stringToKeysym in U.Paste
>Adam Vogt <vogt.adam at gmail.com>**20091114223726
> Ignore-this: 617c922647e9f49f5ecefa0eb1c65d3c
>]
>[Don't erase floating information with H.InsertPosition (Issue 334)
>Adam Vogt <vogt.adam at gmail.com>**20091113161402
> Ignore-this: de1c03eb860ea25b390ee5c756b02997
>]
>[Rename gridselectViewWorkspace to gridselectWorkspace, add another
>example.
>Adam Vogt <vogt.adam at 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 at cis.upenn.edu>**20091112201351
> Ignore-this: 5bfe8129707b038ed04383b7566b2323
>]
>[Trim whitespace in H.FloatNext
>Adam Vogt <vogt.adam at gmail.com>**20091111022702
> Ignore-this: 1ad52678246fa1ac951169c2356ce10b
>]
>[Use ExtensibleState in H.FloatNext
>Adam Vogt <vogt.adam at gmail.com>**20091111022513
> Ignore-this: 760d95a685af080466cb4164d1096423
>]
>[Make a haddock link direct in C.Desktop.
>Adam Vogt <vogt.adam at gmail.com>**20091111013810
> Ignore-this: da724a7974c3de60f49996c1fe92d3fb
>]
>[Change A.TopicSpace haddocks to use block quotes.
>Adam Vogt <vogt.adam at gmail.com>**20091111013241
> Ignore-this: 6f7f43d2715cfde62b9c05c7d9a0da2
>]
>[Add defaultTopicConfig, to allow adding more fields to TopicSpace later.
>Adam Vogt <vogt.adam at gmail.com>**20091111012915
> Ignore-this: 6dad95769651a9a1ef8d771f81c91f8e
>]
>[X.A.WindowGo: fix haddock markup
>Spencer Janssen <spencerjanssen at gmail.com>**20091111003256
> Ignore-this: c6a06de900ca8b67498abf5152e3d9ea
>]
>[Minor style corrections in X.U.SpawnOnce
>Daniel Schoepe <daniel.schoepe at gmail.com>**20091109201543
> Ignore-this: 1264852c23b4f84b2580bf4567529c68
>]
>[Add gridselectViewWorkspace in X.A.GridSelect
>Daniel Schoepe <daniel.schoepe at gmail.com>**20091109155815
> Ignore-this: 5543211e9e3fd325cb798b004635a525
>]
>[minor-doc-fix-in-ManageHelpers
>`Henrique Abreu <hgabreu at gmail.com>'**20091104172727
> Ignore-this: 231ad417541bc3c17a1cb2dff139d55d
>]
>[Set buffering to LineBuffering in scripts/xmonadpropread.hs
>Daniel Schoepe <daniel.schoepe at gmail.com>**20091108204106
> Ignore-this: 4e593fc1461fbbfb5b147c7c7702584e
>
> (Required for the script to work properly with tools like dzen)
>]
>[X.U.ExtensibleState: style
>Spencer Janssen <spencerjanssen at gmail.com>**20091108182858
> Ignore-this: f189da75ad2c57ae9cca48eaf69a6bad
>]
>[X.A.DynamicWorkspaces: new 'addWorkspacePrompt' method
>Brent Yorgey <byorgey at cis.upenn.edu>**20091108170503
> Ignore-this: a3992b1b7938be80d8fd2a5a503a4042
>]
>[Remove defaulting when using NoMonomorphismRestriction in H.EwmhDesktops
>Adam Vogt <vogt.adam at gmail.com>**20091107195255
> Ignore-this: ca3939842639c94ca4fd1ff6624319c1
>]
>[Update A.TopicSpace to use extensible state. No config changes required.
>Adam Vogt <vogt.adam at gmail.com>**20091107194502
> Ignore-this: 7a82aad512bb727b3447de0faa4a210f
>]
>[Inline tupadd function in A.GridSelect
>Adam Vogt <vogt.adam at gmail.com>**20091101190312
> Ignore-this: 458968154303ab865c304f387d6ac83b
>]
>[Alphabetize exposed-modules
>Spencer Janssen <spencerjanssen at gmail.com>**20091107174946
> Ignore-this: 919684aea7747a756b303f9b34a2870b
>]
>[Use X.U.SpawnOnce in my config
>Spencer Janssen <spencerjanssen at gmail.com>**20091107174615
> Ignore-this: fe8f5f75136128280942771ec429f09a
>]
>[Add XMonad.Util.SpawnOnce
>Spencer Janssen <spencerjanssen at gmail.com>**20091107173820
> Ignore-this: 8d4657bbaa8dbeb1d0f9d22293bfef19
>]
>[Store deserialized data after reading in X.U.ExtensibleState
>Daniel Schoepe <daniel.schoepe at gmail.com>**20091107103832
> Ignore-this: 192beca56e9437292bd3f16451ae9e66
>]
>[Fixed conflict between X.U.ExtensibleState and X.C.Sjanssen
>Daniel Schoepe <daniel.schoepe at gmail.com>**20091107103619
> Ignore-this: 80f4bb218574d7c528af17473c6e4f66
>]
>[Use X.U.ExtensibleState instead of IORefs
>Daniel Schoepe <daniel.schoepe at 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 at gmail.com>**20091106115336
> Ignore-this: d80d9d0c10a53fb71a375e432bd29344
>]
>[My config uses xmonadPropLog now
>Spencer Janssen <spencerjanssen at gmail.com>**20091107005230
> Ignore-this: 8f16b8bea86dfcd3739f1566f5897578
>]
>[Add xmonadpropread script
>Spencer Janssen <spencerjanssen at gmail.com>**20091107004858
> Ignore-this: 8cc7ed36ec1126d0139638148f9642e8
>]
>[Add experimental xmonadPropLog function
>Spencer Janssen <spencerjanssen at gmail.com>**20091107004624
> Ignore-this: f09b2c11b16a3af993b63d1b39566120
>]
>[XMonad.Actions.Search: imdb search URL tweak for bug #33
>gwern0 at gmail.com**20091103222330
> Ignore-this: bae5e6d3ec6c4b6591016ece9dffb202
>]
>[Clean imports for L.BoringWindows
>Adam Vogt <vogt.adam at gmail.com>**20091103140649
> Ignore-this: 56946a652329390dbdd63746ca23ee8e
>]
>[I maintain L.BoringWindows
>Adam Vogt <vogt.adam at gmail.com>**20091103140509
> Ignore-this: de853972b4c1c4cefa2dc29e68828d5d
>]
>[fix window rectangle calculation in X.A.UpdatePointer
>Tomas Janousek <tomi at nomi.cz>**20091026154918
> Ignore-this: ad0c3a020b802854919c7827faa001ad
>]
>[Implement hasProperty in terms of runQuery in U.WindowProperties
>Adam Vogt <vogt.adam at 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 at gmail.com>**20091030235033
> Ignore-this: 3f568c1266d85dcaa5722b19bbbd61dd
>]
>[Remove putSelection, fixes #317
>Spencer Janssen <spencerjanssen at gmail.com>**20091030224354
> Ignore-this: 6cfd6d92e1d133bc9e3cbb7c8339f735
>]
>[Fix typo in H.FadeInactive documentation
>Adam Vogt <vogt.adam at gmail.com>**20091029165736
> Ignore-this: b2af487cd382416160d5540b7f210464
>]
>[X.L.MultiCol constructor 0 NWin bugfig
>Anders Engstrom <ankaan at 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 at gmail.com>**20091028193519
> Ignore-this: dcd3dac6bd741d26747807691f125637
>]
>[X.L.MultiColumns bugfix and formating
>Anders Engstrom <ankaan at 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 at 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 at 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 at 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
>
>]
>[fix X.U.Run.spawnPipe fd leak
>Tomas Janousek <tomi at nomi.cz>**20091025210246
> Ignore-this: 24375912d505963fafc917a63d0e79a0
>]
>[TAG 0.9
>Spencer Janssen <spencerjanssen at gmail.com>**20091026013449
> Ignore-this: 542b6105d6deed65e12d1f91c666b0b2
>]
>[Bump version to 0.9
>Spencer Janssen <spencerjanssen at gmail.com>**20091026004850
> Ignore-this: e9d2eee4ec5df8f52bf8f593ff0d2605
>]
>[README Update to point to wiki changelog, prettify
>Wirt Wolff <wirtwolff at gmail.com>**20091024203550
> Ignore-this: 8a0a1824e67c5b2dbbb23e5061d01ece
>]
>[Doc namespace minor updates
>Wirt Wolff <wirtwolff at 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 at 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 at gmail.com>**20091023035043
> Ignore-this: 7cac9c6c3795a3fb60899db29cc65d08
>]
>[Add ewmh function to set all EWMH settings in one step
>Spencer Janssen <spencerjanssen at gmail.com>**20091023034630
> Ignore-this: 4d79c1e156f56882036ce43e70cce6f2
>]
>[Refer to modm as the current modMask
>Adam Vogt <vogt.adam at 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 at gmail.com>**20091022115849
> Ignore-this: ba805e9889d6bda5ea873e3537b0111f
>]
>[Move EWMH support initialization to a startupHook
>Justin Bogner <mail at 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 at gmail.com>**20091022100156
> Ignore-this: 70b51a2d8b4443fa364414630ed074c0
>]
>[C.Desktop doc explaining common desktop config customizations
>Wirt Wolff <wirtwolff at 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 at gmail.com>**20091021223404
> Ignore-this: 2c315539bf1ae8c427b7856b5fdb2e49
>]
>[Share one StdGen between RGB channels in A.RandomBackground
>Adam Vogt <vogt.adam at gmail.com>**20091020165924
> Ignore-this: 15eef05c9a73d578f5513550757bb8bb
>]
>[Document A.RandomBackground
>Adam Vogt <vogt.adam at gmail.com>**20091020165205
> Ignore-this: cb6fb4567abde474fd975a25dca5adc2
>]
>[Bump X11 dependency to 1.4.6.1, to access cursor definitions.
>Adam Vogt <vogt.adam at gmail.com>**20091020161914
> Ignore-this: 60728999fe041302379326494df30921
>]
>[C.Gnome combine with instead of replace Desktop startupHook
>Wirt Wolff <wirtwolff at 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 at gmail.com>**20091019235722
> Ignore-this: 5796fe86879c2ce02ef12150e0a8603a
>]
>[Add some haddock formatting in U.Cursor
>Adam Vogt <vogt.adam at gmail.com>**20091019233036
> Ignore-this: 744c36a128b403980e3bc62c9e99d432
>]
>[XMonadContrib: set the default cursor to left_ptr for the Desktop config
>Andres Salomon <dilinger at collabora.co.uk>**20090915165753
> Ignore-this: a4f7417c8a4190a0cabdadbd359e217
>]
>[XMonadContrib: add a utility module to set the default cursor
>Andres Salomon <dilinger at 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 at gmail.com>**20091016203132
> Ignore-this: a0a489c2b65fa2d755b4aca544c3d73a
>]
>[In A.GridSelect correct haddocks
>Adam Vogt <vogt.adam at gmail.com>**20091016171159
> Ignore-this: f7f714c42544d9230eb9c9bec86cd36a
>]
>[Describe parameters to subLayouts more
>Adam Vogt <vogt.adam at gmail.com>**20091016164937
> Ignore-this: d09f236cb17adf7a9092f1b0e646def3
>]
>[Refer to modMask as modm in L.SubLayouts sample keybinds
>Adam Vogt <vogt.adam at gmail.com>**20091016164737
> Ignore-this: 3a8366f7d8f337be750b4db61a454991
>]
>[Format L.SubLayout TODO
>Adam Vogt <vogt.adam at gmail.com>**20091016155837
> Ignore-this: 4dfa10aa2f7087658b6a93299f75310
>]
>[Add more links in L.SubLayout documentation
>Adam Vogt <vogt.adam at gmail.com>**20091016155518
> Ignore-this: 70347cc0bcf4966e6c07f45740882087
>]
>[Link a screenshot in L.SubLayouts from the haskellwiki
>Adam Vogt <vogt.adam at gmail.com>**20091016150539
> Ignore-this: c58b64c5c5f28f4d71c9e8498965ca9e
>]
>[Added focusMaster to BoringWindows
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091015233518
> Ignore-this: 7f99337fc63cdc7c861fdc3c2ab2d3d1
>]
>[Remove NamedFieldPuns from L.LimitWindows
>Adam Vogt <vogt.adam at 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 at gmail.com>**20091001155853
> Ignore-this: 80e2b5d8658dc053c66993be970e6247
>]
>[Note L.Minimize in L.LimitWindows haddocks.
>Adam Vogt <vogt.adam at gmail.com>**20091014205326
> Ignore-this: 83a809d2467a286e0c1a133be947add9
>]
>[Move limitSelect into L.LimitWindows
>Max Rabkin <max.rabkin at gmail.com>**20091014202213
> Ignore-this: 51d6e9da4a6a4f683cd145371e90be17
>]
>[added haddocks for L.Selective
>Max Rabkin <max.rabkin at gmail.com>**20091002112720
> Ignore-this: d29016f1261d0176634bb040fcc1836a
>]
>[Support IncMasterN in Selective
>Max Rabkin <max.rabkin at gmail.com>**20090929173346
> Ignore-this: 3fd288d0062905177c06006ea4066f6d
>]
>[removed commented-out code
>Max Rabkin <max.rabkin at gmail.com>**20090929163509
> Ignore-this: 776b1566626660b639f8933980f5a3a1
>]
>[Test that update preserves invariants of Selection
>Max Rabkin <max.rabkin at gmail.com>**20090929163139
> Ignore-this: 340b2a1465b9fc98cdc386b511ce26bb
>]
>[move updateSel from test_Selective into Selective
>Max Rabkin <max.rabkin at gmail.com>**20090929160420
> Ignore-this: 6636f2f2d5aa15a6d0ef6d45ee38aa42
>]
>[Add "Selective" layout modifier
>Max Rabkin <max.rabkin at gmail.com>**20090929160207
> Ignore-this: ded23208563ca8c8d411916d01351132
>]
>[Filter extra modifier bits some layouts set in XMonad.Prompt
>Daniel Schoepe <daniel.schoepe at gmail.com>**20091012132814
> Ignore-this: c0898809766061700c11f6da84c74bed
>]
>[Cleanup L.BorderResize
>Adam Vogt <vogt.adam at gmail.com>**20091012055532
> Ignore-this: 7d369ed3050543a5c30a64991b7bf6f5
>]
>[Layout modifier to resize windows by dragging their borders with the mouse
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091011222214
> Ignore-this: 5cf197ea14b7c502fa13a16773215762
>]
>[Add U.Replace which implements a --replace behavior.
>Adam Vogt <vogt.adam at gmail.com>**20091012052306
> Ignore-this: bd519abe3250a01507f225a29c08048a
>]
>[Update D.Extending module lists with help of a script (also added)
>Adam Vogt <vogt.adam at gmail.com>**20091012044918
> Ignore-this: c280d3047355be962e8ef706d598aa43
>]
>[Correct erroneous haddock link in U.XSelection
>Adam Vogt <vogt.adam at gmail.com>**20091012043133
> Ignore-this: e5c905104741d14dbb411272c37e0e29
>]
>[Make L.Mosaic explicit imports compatible with haskell-src-exts
>Adam Vogt <vogt.adam at gmail.com>**20091012042859
> Ignore-this: 85ca9ff7fc924e6291edb05f4a1de77c
>]
>[Put screenshots inline for L.ThreeColumns and L.Roledex
>Adam Vogt <vogt.adam at gmail.com>**20091012042651
> Ignore-this: df314db757ad09bb7185c16cca8649d3
>]
>[Use LANGUAGE pragma instead of -fglasgow-exts in L.Minimize
>Adam Vogt <vogt.adam at gmail.com>**20091012042457
> Ignore-this: cbb454ab573b1e1f931d79c322fa1303
>]
>[Add a description to L.LayoutScreens
>Adam Vogt <vogt.adam at gmail.com>**20091012042231
> Ignore-this: beceb2f65206079fae6421c5df0fb439
>]
>[Add Portability and Stability boilerplate for a couple modules.
>Adam Vogt <vogt.adam at 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 at gmail.com>**20091012040340
> Ignore-this: db08eba0253f94e5ce9cbcf3632b387a
>]
>[NoFrillsDecoration - most basic version of decoration for windows
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091011220512
> Ignore-this: accda53da08f37d6b4091d1c6e17e2c1
>]
>[Split A.TopicSpace documentation into sections
>Adam Vogt <vogt.adam at gmail.com>**20091012004730
> Ignore-this: 312066f68e7051a8ee89cbbec40ce2a0
>]
>[Use hyperlinks in WorkspaceCursors documentation.
>Adam Vogt <vogt.adam at gmail.com>**20091008032047
> Ignore-this: d698d86d01d9a69652fa3aa732873299
>]
>[Minor haddock formatting correction in L.Tabbed
>Adam Vogt <vogt.adam at gmail.com>**20091008024839
> Ignore-this: 8084aebbae198eda3d455ab541e94169
>]
>[Hyperlink the reference to ResizableTile in MouseResizableTile
>Adam Vogt <vogt.adam at gmail.com>**20091005175303
> Ignore-this: 8d98176fd0b78ef3565a6f9556e220b8
>]
>[Finish a sentence in H.ManageDocks haddocks.
>Adam Vogt <vogt.adam at gmail.com>**20091005165312
> Ignore-this: 43f4ffc627b3db204d74ed361ef939cf
>]
>[Add a SetStruts message to H.ManageDocks.
>Adam Vogt <vogt.adam at 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 at gmail.com>**20091005163132
> Ignore-this: 258e35a6f23f46039b9a8ee45187cdff
>]
>[Rearrange the GSCONFIG class in A.Gridselect
>Adam Vogt <vogt.adam at gmail.com>**20091005023227
> Ignore-this: 875080c8beabb81e19de44f7e60ca19d
>]
>[Add a GSCONFIG class to overload defaultGSConfig.
>Adam Vogt <vogt.adam at 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 at gmail.com>**20091004160816
> Ignore-this: be358c0173df3d02b45526c134604f4e
>]
>[Fixed guard in WorkspaceByPos - condition got switched during
>transformation
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091004085232
> Ignore-this: 6685ef8ddff55c7758c2b77cfc65cbba
>]
>[A.CycleWindows update docs, use lib fn second instead of custom lambda
>Wirt Wolff <wirtwolff at gmail.com>**20090926154700
> Ignore-this: 7ec0d6a46d4a6255870b1e9c4a25c1bb
>]
>[Group functions in GridSelect haddock, add an inline screenshot.
>Adam Vogt <vogt.adam at gmail.com>**20091003181927
> Ignore-this: 3c6f1c5aff4fe197aa965cbda23e1be7
>]
>[minor hlint cleanup of Prompt and XMonad.Prompt.* sub-modules
>sean.escriva at gmail.com**20090928204443
> Ignore-this: 25e71f59bdcc5bf94c2d6f476833216b
>]
>[New module : X.H.SetCursor
>mail at 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 at gmail.com>**20091003151325
> Ignore-this: 5eb1496fd258fa0c43fb0a58136ccfff
>]
>[Mention X.L.Maximize and X.L.Minimize in WindowMenu documentation
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20091003111330
> Ignore-this: 3a00a896509aa8646ae718005d7a1fc1
>]
>[Small style change in L.SimplestFloat
>Adam Vogt <vogt.adam at gmail.com>**20091002001552
> Ignore-this: d8be5d01d47833c70d220e0f1555c42f
>]
>[Use U.XUtils.fi to make WindowMenu clearer
>Adam Vogt <vogt.adam at gmail.com>**20091001225736
> Ignore-this: 63e73cd7c5de22b3e30e63c1e588e403
>]
>[Extended GridSelect
>Jan Vornberger <jan.vornberger at 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 at informatik.uni-oldenburg.de>**20090930155343
> Ignore-this: b12a06c0321f3e9689ab8109a1fac0ac
>]
>[Use default handler in XMonad.Prompt.eventLoop
>Daniel Schoepe <daniel.schoepe at gmail.com>**20091001180402
> Ignore-this: 10c9c856aec515d57f0f0a42bc727f1
>]
>[Remove redundant parentheses from L.MouseResizableTile
>Adam Vogt <vogt.adam at gmail.com>**20090930212110
> Ignore-this: 1853cde69ec03ce5b88726b4de05f2b0
>]
>[Use ErrorT instead of nested case for H.WorkspaceByPos
>Adam Vogt <vogt.adam at gmail.com>**20090930204914
> Ignore-this: c3f96fbbf0ce917c4962b297dea3b174
>]
>[Note that ManageDocks is preferred to A.DeManage
>Adam Vogt <vogt.adam at gmail.com>**20090930204443
> Ignore-this: dcb9e069a65980f83941ca58607a6ce5
>]
>[Factor out redundancy in L.MouseResizableTile.handleResize
>Adam Vogt <vogt.adam at 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 at 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 at gmail.com>**20090930200443
> Ignore-this: 861364005402c2c34a20495dd2bb81f8
>]
>[Remove redundant ($) in A.Commands
>Adam Vogt <vogt.adam at gmail.com>**20090930200311
> Ignore-this: 63084d42007481b0e0ca5fd99d3ba083
>]
>[Fix haddock parse error in MouseResizableTile
>Adam Vogt <vogt.adam at gmail.com>**20090930200143
> Ignore-this: 34d9bbabcf48424121387e87931bf973
>]
>[A ResizableTile-like layout that can be resized using the mouse.
>Jan Vornberger <jan.vornberger at 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 at informatik.uni-oldenburg.de>**20090516233557
> Ignore-this: ffafa9ce65efb2639a147493fb49c7e1
>]
>[Expanded on X.L.Maximize functionality
>Jan Vornberger <jan.vornberger at 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 at informatik.uni-oldenburg.de>**20090928231549
> Ignore-this: 673b003c4e07b591046ed01e5f27a7ec
>]
>[LayoutModifier to minimize windows (re-recorded from Bluetile repo)
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20090928231320
> Ignore-this: 45830f2bf3bb8473c569582593844253
>]
>[Correctly check completionKey field in XMonad.Prompt
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090928093215
> Ignore-this: 99e68a63fe156650cc8e96d31e6d1f5a
>]
>[Fix for issue 315
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090928091946
> Ignore-this: 7de748d6cbd143b073451ba92ecec659
>]
>[Only use search history for completion in X.A.Search
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090920221455
> Ignore-this: 807fcd4fa14a25ecc9787940f9950736
>]
>[Fix regression in XMonad.Prompt's completion
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090920205711
> Ignore-this: 3c0e5a1f843be1981ecc3d40d43530d1
>]
>[Clean keymask before use in XMonad.Prompt
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090920201229
> Ignore-this: 80903452f15352aef025b9979793fb8a
>]
>[Export moveCursor in XMonad.Prompt
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090920192513
> Ignore-this: 7732b0444b26cd653190bb3a6e69346c
>]
>[U.EZConfig: Correct additionalKeysP M2-M5 values
>Wirt Wolff <wirtwolff at 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 at 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 at 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 at 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 at gmail.com>**20090918023410
> Ignore-this: 419959a33840264674d2c8034882b689
>]
>[Use U.Run.safeSpawn in C.Gnome
>Adam Vogt <vogt.adam at gmail.com>**20090917233953
> Ignore-this: b2476a239089a3fd3fe9001cf48e8f09
>]
>[Add gnomeRegister to C.Gnome.
>Adam Vogt <vogt.adam at 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 at 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 at gmail.com>**20090904005147
> Ignore-this: 53f7fde5684cd9f105cf4e3ce0d849d2
>
> http://www.haskell.org/pipermail/xmonad/2009-July/008328.html
>]
>[Minor changes to my config
>Spencer Janssen <spencerjanssen at gmail.com>**20090901024802
> Ignore-this: 5196fb217e72153fc4fb32fb40ab18f
>]
>[Return True in X.H.FadeInactive.isUnfocused if current workspace is
>empty. (dschoepe)
>Adam Vogt <vogt.adam at gmail.com>**20090828214537
> Ignore-this: 56a3dac874f6430f10ad23870a4be38a
>]
>[Actually execute the correct command when giving user-defined
>commands to ServerMode
>Jan Vornberger <jan.vornberger at informatik.uni-oldenburg.de>**20090825233828
> Ignore-this: 571e4d3ec5bcae56987c6e3b85b800b6
>]
>[Preserve backwards compatibility with H.ServerMode
>Adam Vogt <vogt.adam at gmail.com>**20090825220348
> Ignore-this: cd5df0c49e1d0f07ede1994da9c4c865
>]
>[Let the user decide which commands to use in X.H.ServerMode
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090825101630
> Ignore-this: 3a1b95f85253ce6059f4528e23c5a3d3
>]
>[Improve/correct documentation in X.A.TagWindows
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090823131229
> Ignore-this: e9adb7bf77eeebff42f564390c6ceedc
>]
>[Replace nextEvent with maskEvent to prevent GridSelect from
>swallowing unrelated events (such as map/unmap)
>Clemens Fruhwirth <clemens at endorphin.org>**20090809131055
> Ignore-this: 6c3bc2487e4f011e0febe0935c223f2
>]
>[Better default for ppUrgent in xmobarPP
>Daniel Schoepe <daniel.schoepe at 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 at gmail.com>**20090821225646
> Ignore-this: d2ef91429d80fde5126b2aa8f0de9b1f
>]
>[More flexible interface for X.H.FadeInactive
>Daniel Schoepe <daniel.schoepe at 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 at 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 at gmail.com>**20090817215549
> Ignore-this: 35acc32e696e665aca900721d309d1d3
>]
>[Add -fwarn-tabs to ghc-options for the regular build
>Adam Vogt <vogt.adam at gmail.com>**20090814022108
> Ignore-this: 203ea4e54936f8bb6c3c28446d069f88
>]
>[Don't use tabs in EwmhDesktops
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090813200119
> Ignore-this: 59b1ade240aa75cf448620cd7a37579b
>]
>[Do not warn about unknown ClientMessageEvents
>Joachim Breitner <mail at 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 at gmail.com**20090428200136
> Ignore-this: 17c946c04dae72f0873f0f5bb56c9f37
> Scratchpad reimplementation in terms of NamedScratchpad. No
>interface changes.
>]
>[NS_Placement
>konstantin.sobolev at 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 at 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 at cis.upenn.edu>**20090809184016
> Ignore-this: a1fcfe2446184a8cea4553fd68565b58
>]
>[XMonad.Actions.Search: removeColonPrefix shouldn't throw an
>exception if no :!
>gwern0 at gmail.com**20090808002224
> Ignore-this: db0a25c0d615c3d8cb6ef31489919d91
>]
>[XMonad.Actions.Search: clean up hasPrefix - dupe of Data.List.isPrefixOf
>gwern0 at gmail.com**20090808002120
> Ignore-this: 3327a19e5aa23af649ce080fc38a7409
>]
>[XMonad.Actions.Search: +wikt
>gwern0 at gmail.com**20090808000622
> Ignore-this: cee8b1325820ea1f513ae18d840b4c48
>]
>[NoWrap export patch for use with X.L.MessageControl
>quentin.moser at unifr.ch**20090128004726
> Ignore-this: 2b76afa0547aaed5fb39454a074ec4c3
>]
>[new XMonad.Layout.MessageControl module
>quentin.moser at unifr.ch**20090128013917
> Ignore-this: cc28e0def6c797f6d1da8f23469a4f8
>]
>[U.NamedActions: align the descriptions for each section, refactor
>its integration with EZConfig
>Adam Vogt <vogt.adam at gmail.com>**20090726032003
> Ignore-this: f7132388b1f1fd2dbf03885ffa534c20
>]
>[U.NamedActions support subtitles bound to (0,0) unreachable normally
>Adam Vogt <vogt.adam at gmail.com>**20090525002915
> Ignore-this: fdb9f0f07663854049cade2f0f7c2ebd
>]
>[Add U.NamedActions: present a list of keybindings including submaps
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090727012302
> Ignore-this: 936cfd1e1b6243ced54e356f8067fac
>]
>[Share more mkAdjust calls L.LayoutHints in the LayoutHintsToCenter
>modifier
>Adam Vogt <vogt.adam at gmail.com>**20090726061802
> Ignore-this: baa33d5b38a7811b9f50b7d0f808ee75
>]
>[Make direction keybindings configurable in A.GridSelect
>Adam Vogt <vogt.adam at gmail.com>**20090726020438
> Ignore-this: 9cd675485270ccebec22df72eea40578
>]
>[LayoutBuilder - make an example more sane
>Anders Engstrom <ankaan at gmail.com>**20090513155732
> Ignore-this: 772566441df97479c49b6b149b57fc27
>]
>[Clean Xkb masks in X.A.Submap
>Khudyakov Alexey <alexey.skladnoy at 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 at gmail.com>**20090716234955
> Ignore-this: 55dddcc134aa173d2c8e015fc462ff99
>]
>[Addition of Machine window property.
>Juraj Hercek <juhe_xmonad at 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 at darcs.net>**20090716153409
> Ignore-this: 362988aeca1996474942fa29ffcccbce5e543e57
>]
>[X.A.CopyWindow: add wsContainingCopies, doc cleanup
>wirtwolff at 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 at gmail.com>**20090709100703
> Ignore-this: 4e8b98f281001d7540617d0ff6a3d4f3
>]
>[Correct license for L.CenteredMaster
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090705201205
> Ignore-this: 1e28ff0974578d329bd3d593c1a5125e
>]
>[Clarify documentation the Migrate message added to L.SubLayouts
>Adam Vogt <vogt.adam at gmail.com>**20090705180014
> Ignore-this: 1d47165904048edfe28414ec5ce7f3e
>]
>[Reduce a bit of recently introduced duplication in L.SubLayouts
>Adam Vogt <vogt.adam at gmail.com>**20090705175145
> Ignore-this: e87a5643938183eff156e08646cc71ac
>]
>[Add Migrate message to L.SubLayouts, for better support of moving
>windows between groups
>Adam Vogt <vogt.adam at gmail.com>**20090705174934
> Ignore-this: d76b2f3e5999999a489b843b4dde59f1
>]
>[L.SubLayouts: also run the layout being modified in a restricted
>environment
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090705173504
> Ignore-this: 1d54ddb6596173f2fb6f30a648d7f3ba
>]
>[Simplify A.WorkspaceCursors use of layout for state, add documentation
>Adam Vogt <vogt.adam at gmail.com>**20090705050629
> Ignore-this: 5a4cb6f165edd266a55e42ccedc8c0a7
>]
>[Add A.WorkspaceCursors, a generalization of Plane to arbitrary dimensions
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090703021507
> Ignore-this: d45331ad77662b356f12b3912ea3eac0
>]
>[Added XMonad.Actions.OnScreen
>mail at n-sch.de**20090702101621
> Ignore-this: 605666aeba92e1d53f03a480506ddf2f
>]
>[Remove code duplication in X.A.CopyWindow
>Daniel Schoepe <daniel.schoepe at gmail.com>**20090702104933
> Ignore-this: cbbbe68690dbb4b814cd48fa32d4720
>]
>[Cleanup code duplication in X.P.Layout and X.P.Workspace
>sean.escriva at gmail.com**20090701215640
> Ignore-this: 8675be8952f8d100c9042bdcdb962d3a
>]
>[X.A.Search: use the new canonical package URL for hackage search
>Brent Yorgey <byorgey at cis.upenn.edu>**20090629192455]
>[X.H.ManageHelpers: add two new helper functions, doFloatDep and doFloatAt
>Brent Yorgey <byorgey at cis.upenn.edu>**20090605030113]
>[Keep track of whether messages should be given to new sublayouts in
>L.SubLayouts
>Adam Vogt <vogt.adam at gmail.com>**20090628060608
> Ignore-this: 647184c1b7f65c262c8cc15fdd0829d5
>]
>[Run sublayouts in L.Sublayouts in a restricted state
>Adam Vogt <vogt.adam at gmail.com>**20090628060333
> Ignore-this: f2a236d3dc0374bbc1c19b864baa7c86
>]
>[A.RandomBackground: Parameterize randomBg by a RandomColor data
>Adam Vogt <vogt.adam at gmail.com>**20090629004147
> Ignore-this: ba8042aa0f5d3221583aead9dced6cc
>]
>[Add A.RandomBackground, actions to start terminals with a random -bg
>option
>Adam Vogt <vogt.adam at gmail.com>**20090627202755
> Ignore-this: a90c98bb14a2f917d8552cd2563aeb49
>]
>[Replace most -fglasgow-exts with specific LANGUAGE pragmas
>Adam Vogt <vogt.adam at gmail.com>**20090626025457
> Ignore-this: 2274fdd689b0576a76d9f3373e9c7159
>]
>[Column_layout.dpatch
>portnov84 at 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 at cis.upenn.edu>**20090625173751
> Ignore-this: 98bbdd4fbf12d7cd9fad6645653cb84b
>]
>[Add ifWindow and ifWindows and simplify WindowGo
>Daniel Schoepe <daniel.schoepe at 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 at gmail.com>**20090624043831
> Ignore-this: 84dfa0d9d50826527abbe7ff6acf4465
>]
>[From A.Topicspace split functions for storing strings with root to
>U.StringProp
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090623003937
> Ignore-this: 68a6fed2943eb9982e32815168b6f297
>]
>[Add shiftNthLastFocused to A.TopicSpace
>Adam Vogt <vogt.adam at gmail.com>**20090623002645
> Ignore-this: 64f4fa63f4cc25f634f8fbc3276ef2a2
>]
>[Generalize Actions.SpawnOn
>Daniel Schoepe <daniel.schoepe at 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 at gmail.com**20090622201423
> Ignore-this: 484eca17b9877f7d587fc5bce8c5ae8a
>]
>[XMonad.Util.Run: improve definition so this can be used with emacs
>gwern0 at gmail.com**20090622201401
> Ignore-this: 984788359376e3d2bab0d1e86ff1276f
>]
>[XMonad.Actions.WindowGo: switch to safeSpawn, since everyone just
>passes a prog name (no shell scripting)
>gwern0 at gmail.com**20090622193255
> Ignore-this: 5515c72649471fac1ffcf4b68e1e0cf9
>]
>[XMonad.Util.Run: +convenience function for safeSpawn which drops
>args to the prog
>gwern0 at gmail.com**20090622193018
> Ignore-this: fc48265f252e015ffdc1792c6c9eaa12
>]
>[XMonad.Actions.WindowGo: improve haddocks
>gwern0 at gmail.com**20090622192831
> Ignore-this: 28dc1d5b094d50eaf6148fa9cc2d3755
>]
>[Fix window ordering bug in L.LimitWindows
>Adam Vogt <vogt.adam at gmail.com>**20090622004309
> Ignore-this: 7bcfffe335b765c081c18b103d9d450a
>]
>[L.LimitWindows add usage information, functions to modify the limit
>Adam Vogt <vogt.adam at gmail.com>**20090622000115
> Ignore-this: 813473c5f42540ed0d575bb273f8652
>]
>[Expand Tabbed documentation to describe mouse clicks processing
>Dmitry Astapov <dastapov at gmail.com>**20090621211947
> Ignore-this: 185a5dba1c1333aa4a2e778f34417c39
>]
>[Close tabs by middle click on tab decoration
>Dmitry Astapov <dastapov at 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 at 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 at gmail.com>**20090619052731
> Ignore-this: e91c07885f0ab662f70e0ebd82fb7a5d
>]
>[Remove Hooks.EventHook
>Daniel Schoepe <asgaroth_ at 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 at gmail.com>**20090618010118
> Ignore-this: ecbb2063337bb87108c12a3c3f8ceeba
>]
>[Correct many typos in the documentation, consistent US spellingg
>Adam Vogt <vogt.adam at gmail.com>**20090618003729
> Ignore-this: cf6dcf340fa6cc010f7879f188d376f5
>]
>[minor typo in ./XMonad/Layout/StackTile.hs
>Joachim Breitner <mail at 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 at cis.upenn.edu>**20090604123509]
>[X.A.PhysicalScreens: fix typo
>Roman Cheplyaka <roma at ro-che.info>**20090602172148]
>[X.L.AutoMaster: fix warning
>Roman Cheplyaka <roma at ro-che.info>**20090602171754]
>[AutoMaster.dpatch
>Ilya Portnov <portnov84 at 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 at gmail.com>**20090530185752
> Ignore-this: 4c3769dc96041608660789573b670c23
>]
>[FlexibleResize - Resize from edge, don't move adjust at opposite edge
>Anders Engstrom <ankaan at 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 at 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 at 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 at gmail.com>**20090525030734
> Ignore-this: 55bb5b7fabc00f3dcc89e45cc416fc97
>]
>[X.A.Search: add Wolfram|Alpha search
>Brent Yorgey <byorgey at cis.upenn.edu>**20090525010419]
>[Remove L.ThreeColumnsMiddle compatiblity module
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090525001834
> Ignore-this: 46a856cae139d2e224ded985a9866ecf
>]
>[LayoutBuilder fix maintainer
>Anders Engstrom <ankaan at gmail.com>**20090524205957
> Ignore-this: 380c279320cff67c60a9bbf9a49ec509
>]
>[FloatSnap fix maintainer
>Anders Engstrom <ankaan at 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 at gmail.com>**20090524201143
> Ignore-this: d5fd9356e101b019735d54267a120ed
>]
>[X.A.FloatSnap - Assisted move/resize of windows
>Anders Engstrom <ankaan at 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 at 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 at gmail.com>**20090519024258
> Ignore-this: a29502bc1302f18b9ae0062105a0e109
>]
>[L.LayoutHints, add layoutHintsToCentre
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090519013350
> Ignore-this: b4bb5b6aeba95be047a102d07d916c48
>]
>[new layout module X.L.Spacing, put blank space around each window
>Brent Yorgey <byorgey at cis.upenn.edu>**20090514215552]
>[X.L.LayoutBuilder doc fix and cleaning
>Anders Engstrom <ankaan at gmail.com>**20090509195254
> Ignore-this: 7cbf72ba48a2222b65615a02125d87ef
>]
>[X.L.LayoutBuilder custom layouts
>Anders Engstrom <ankaan at 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 at gmail.com>**20090426171002
> Ignore-this: edb0a2a03b2ed2959cb7068ae601fa28
>]
>[Fix typo in L.Mosaic hints
>Adam Vogt <vogt.adam at gmail.com>**20090508202937
> Ignore-this: 5f2163e64d876f4982b0d6baf13e0614
>]
>[U.Loggers: add maildirNew, other loggers, and logger formatting utilities
>wirtwolff at gmail.com**20090412041356
> Ignore-this: 73240ab34348ad895c3d66c2a2e8e40f
> Rework of the Logger portions of patches originally from
>seanmce33 at 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 at gmail.com>**20090503190755
> Ignore-this: e63f3ee533dd9bcf0f32da2316dde1dd
>]
>[Remove some excess whitespace in XMonad.AppLauncher
>Adam Vogt <vogt.adam at gmail.com>**20090503183416
> Ignore-this: b5bfa9625b5b080c20398cf1aa396a08
>]
>[Export ThreeColMid from L.ThreeColumnsMiddle
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090414061819
> Ignore-this: 5a8991269904986e0e012e955c6d4712
>]
>[X.L.ThreeColumnsMiddle merged into X.L.ThreeColumns with some new features
>Anders Engstrom <ankaan at gmail.com>**20090411113636
> Ignore-this: 1d5bb8de98f8ade3780444ed99f5a12f
>]
>[nameTail - Remove the first word of a layout description
>Anders Engstrom <ankaan at gmail.com>**20090503105950
> Ignore-this: a44c5e38163ed98ffc244cdd206632d1
>]
>[Add H.InsertPosition: add new windows to different positions in a
>workspace
>Adam Vogt <vogt.adam at gmail.com>**20090503020303
> Ignore-this: 7e7d5fa5b42698799cabe600159a75f7
>]
>[Add changeMaster function to L.Mosaic
>Adam Vogt <vogt.adam at gmail.com>**20090501233136
> Ignore-this: eca2a48fb987bb871ad93e6c6bf1a186
>]
>[Optimizer bug does not affect 6.10.2 (issue 226)
>Adam Vogt <vogt.adam at gmail.com>**20090430034823
> Ignore-this: f43f9bf9502ebb19743c3b417ef02347
>]
>[Remove -XScopedTypeVariables requirement with L.SubLayouts
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090423013135
> Ignore-this: abb21b19bfbc567953419b3035b6a295
>]
>[Document and extend BoringWindows to support multiple sources of boring.
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090303065701
> Ignore-this: e808729ddd2375778a96775568b8b621
>]
>[X.A.TopicSpace: remove the allTopics lists from the configuration.
>Nicolas Pouillard <nicolas.pouillard at gmail.com>**20090423172939
> Ignore-this: 1ac344b32865b38e53b968cc037b0a01
>]
>[added colour themes
>perlkat at 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 at gmail.com**20090409162609
> Ignore-this: cf04f87c546f89bd32a94de3a2a93b22
>]
>[Update focus on mouse moves within inactive windows
>Daniel Schoepe <asgaroth_ at 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 at 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 at 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 at gmail.com>**20090322215553
> Ignore-this: 6fbc63642b946461e0fafcb44016824
>]
>[Combo fix ReleaseResources when no windows are available, new fix
>Anders Engstrom <ankaan at gmail.com>**20090224172018
> Ignore-this: b59603df8e4cfc1fb2cf9070cea615b3
>]
>[OneBig_resize.dpatch
>portnov84 at rambler.ru**20090221142300
> Ignore-this: c02b25bd370ee449aab28005eb4418cf
> Add Shrink/Expand messages handling for OneBig layout.
>]
>[OneBig_layout.dpatch
>portnov84 at 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 at gmail.com>**20090220184137
> Ignore-this: 6a22ea8bdc49f8484e18f04aaeb545ae
>]
>[Make utf8-string regular dependency
>Khudyakov Alexey <alexey.skladnoy at 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_ at gmx.de>**20090422172510
> Ignore-this: db5a2c009f7e88647f168ccb225d6219
>]
>[X.H.DynamicLog: provides trim, inverse of pad
>sean.escriva at gmail.com**20090409163513
> Ignore-this: 9d92ff592f2bc4f041b85d1314058fdc
>]
>[Mouse support for GridSelect
>Daniel Schoepe <asgaroth_ at 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_ at 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 at unifr.ch**20090415184550
> Ignore-this: 8a0fb64aa0db27b242b7ad4bcba1a3ca
>]
>[Fixed X.H.Place.position
>quentin.moser at unifr.ch**20090409084946
> Ignore-this: 29e3936800194916a859976ff126dbfe
>]
>[Module for automatic placement of floating windows
>quentin.moser at unifr.ch**20090408080953
> Ignore-this: 1874df995fc02a0b80051db39d91a2e1
>]
>[X.H.FloatNext: new module, float the next spawned window(s)
>quentin.moser at unifr.ch**20090415181907
> Ignore-this: 95e1c9daa3ca43bfb058f6a881a97f3a
>]
>[ComboP
>konstantin.sobolev at gmail.com**20090415014327
> Ignore-this: 73bb986165a7bba466aae789a5448170
>]
>[New module: XMonad.Actions.TopicSpace
>Nicolas Pouillard <nicolas.pouillard at gmail.com>**20090419085239
> Ignore-this: 4c20592ea6ca74f38545c5a1a002ef91
>]
>[NamedScratchpad
>konstantin.sobolev at gmail.com**20090419045542
> Ignore-this: b442cb08123d2413e0bb144a73bf3f57
>]
>[More configurability for Layout.NoBorders (typeclass method)
>Adam Vogt <vogt.adam at 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 at 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 at joachim-breitner.de>**20081008154245]
>[UpdatePointer even to empty workspaces
>Joachim Breitner <mail at 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 at 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 at gmail.com>**20090301051509
> Ignore-this: 2af132159450d4fb72eb52024eda71b5
>]
>[U.EZConfig: add xK_Print <Print> to special keys
>wirtwolff at 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_ at gmx.de>**20090309160020
> Ignore-this: ebfa2eadb439763276b372107cdf8d6c
>]
>[Prompt.Shell: escape ampersand
>Valery V. Vorotyntsev <valery.vv at 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 at gmail.com>**20090219022417
> Ignore-this: d49ed55fe8dc2204256dff9252384745
>]
>[X.L.Mosaic: prevent users from causing non-termination with negative
>elements
>Adam Vogt <vogt.adam at gmail.com>**20090210022727
> Ignore-this: 370a7d6249906f1743c6692758ce5aeb
>]
>[better Layout.NoBorders.smartBorders behavior on xinerama
>Adam Vogt <vogt.adam at 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 at 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 at 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 at ro-che.info>**20090308201112]
>[L.Cross: clarify documentation
>wirtwolff at 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 at wagner-home.com**20090221235959]
>[eliminate a haddock warning in BoringWindows
>daniel at wagner-home.com**20090221235836]
>[merge IndependentScreens
>daniel at wagner-home.com**20090221232142]
>[add IndependentScreens to xmonad-contrib.cabal
>daniel at wagner-home.com**20090221231632]
>[add type information for IndependentScreens
>daniel at wagner-home.com**20090221231525]
>[add some boilerplate comments at the top of IndependentScreens
>Brent Yorgey <byorgey at cis.upenn.edu>**20090221230850]
>[IndependentScreens, v0.0
>daniel at wagner-home.com**20090221225229]
>[U.Run: remove waitForProcess to close Issue 268
>wirtwolff at 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 at cis.upenn.edu>**20090221224742]
>[X.L.Master: turn it to a Layout modifier and update the code
>Ismael Carnales <icarnales at gmail.com>**20090213020453
> Ignore-this: 69513ad2b60dc4aeb49d64ca30e6f9f8
>]
>[Use doShift in my config
>Spencer Janssen <spencerjanssen at gmail.com>**20090219042040
> Ignore-this: 1f103d21bbceec8d48384f975f18eaec
>]
>[SpawnOn: use doShift.  This resolves problems where SpawnOn would
>shift the wrong window
>Spencer Janssen <spencerjanssen at gmail.com>**20090219041856
> Ignore-this: 6ae639a638db8eff77203f3f2e481a4e
>]
>[SpawnOn: delete seen pids
>Spencer Janssen <spencerjanssen at gmail.com>**20090213013011
> Ignore-this: 8b15a60bba1edf1bab5fb77ac54eb12f
>]
>[X.U.Loggers: handle possible EOF (reported by dyfrgi)
>Roman Cheplyaka <roma at ro-che.info>**20090216213842]
>[U.Scratchpad: add general spawn action to close issue 249
>wirtwolff at 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 at gmail.com>**20090212234608
> Ignore-this: c7de4e05803d60b10f38004dcbda4732
>]
>[Add Cross Layout
>'Luis Cabellos <zhen.sydow at gmail.com>'**20090209174802]
>[Fix an undefined in EwmhDesktops
>Daniel Schoepe <asgaroth_ at gmx.de>**20090209152308
> Ignore-this: f60a43d7ba90164ebcf700090dfb2480
>]
>[X.U.WindowProperties: docs (description and sections)
>Roman Cheplyaka <roma at ro-che.info>**20090208231422]
>[X.U.WindowProperties: Add getProp32 and getProp32s, helpers to get
>properties from windows
>Ismael Carnales <icarnales at gmail.com>**20090205013031
> Ignore-this: c5481fd5d97b15ca049e2da2605f65c1
>]
>[cleanup and make X.L.Mosaic behavior more intuitive wrt. areas
>Adam Vogt <vogt.adam at gmail.com>**20090208221629
> Ignore-this: 3c3c6faa203cbb1c1db909e5bf018b6f
>]
>[minor typo in XMonad/Util/EZConfig.hs
>Joachim Breitner <mail at joachim-breitner.de>**20090208192224
> Ignore-this: 7ffee60858785c3e31fdd5383c9bb784
>]
>[Multimedia keys support for EZConfig
>Khudyakov Alexey <alexey.skladnoy at gmail.com>**20090207173330
> Ignore-this: 21183dd7c192682daa18e3768828f88d
>]
>[+A.CycleWindows: bindings to cycle windows in new ways
>wirtwolff at 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 at gmail.com**20090206171833
> Ignore-this: 4d08f5a7627020b188f59fc637b53ae8
>]
>[XMonad.Actions.CopyWindow runOrCopy
>lan3ny at gmail.com**20080602205742]
>[ManageHelpers: reduce duplicated code in predicates
>Ismael Carnales <icarnales at gmail.com>**20090204021847
> Ignore-this: e28a912d4f897eba68ab3edfddf9f26b
>]
>[Remove X.U.SpawnOnWorkspace (superseded by X.A.SpawnOn)
>Roman Cheplyaka <roma at ro-che.info>**20090204103635]
>[X.A.SpawnOn: add docs
>Roman Cheplyaka <roma at 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 at gmail.com>**20090204055626]
>[Adjustments to use the new event hook feature instead of Hooks.EventHook
>Daniel Schoepe <asgaroth_ at gmx.de>**20090203160046
> Ignore-this: f8c239bc8e301cbd6fa509ef748af542
>]
>[Easier Colorizers for X.A.GridSelect
>quentin.moser at unifr.ch**20090128001702
> Ignore-this: df3e0423824e40537ffdb4bc7363655d
>]
>[X.A.SpawOn: fix usage doc
>Roman Cheplyaka <roma at ro-che.info>**20090202102042]
>[Added GridVariants.SplitGrid
>Norbert Zeh <nzeh at 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 at gmail.com>**20090130195239
> Ignore-this: 642aa0bc9e68e7518acc8af30324b97a
>]
>[XMonad.Actions.Search: fix whitespace & tabs
>gwern0 at gmail.com**20090129025246
> Ignore-this: 894e479ccc46160848c4d70c2361c929
>]
>[xmonad-action-search-intelligent-searchengines
>Michal Trybus <komar007 at 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 at unifr.ch**20090127184145
> Ignore-this: 635cbf6420722a4edef1ae9c40b36e1b
>]
>[X.A.SinkAll: re-add accidentally deleted usage documentation
>Brent Yorgey <byorgey at 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 at cis.upenn.edu>**20090127222355]
>[adds generic 'all windows on current workspace' functionality
>loupgaroublond at gmail.com**20081221224850]
>[placement patch to XMonad.Layout.LayoutHints
>quentin.moser at unifr.ch**20090126195950
> Ignore-this: 87a5efa9c841d378a808b1a4309f18
>]
>[XMonad.Actions.MessageFeedback module
>quentin.moser at unifr.ch**20090126181059
> Ignore-this: 82e58357a44f98c35ccf6ad0ef98b552
>]
>[submapDefault
>Anders Engstrom <ankaan at 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 at ro-che.info>**20090127185604]
>[Mosaic picks the middle aspect layout, unless overriden
>Adam Vogt <vogt.adam at gmail.com>**20090126032421
> Ignore-this: aaa31da14720bffd478db0029563aea5
>]
>[Mosaic: stop preventing access to the widest layouts
>Adam Vogt <vogt.adam at gmail.com>**20090125045256
> Ignore-this: c792060fe2eaf532f433cfa8eb1e8fe3
>]
>[X.L.Mosaic add documentation, update interface and aspect ratio behavior
>Adam Vogt <vogt.adam at gmail.com>**20090125041229
> Ignore-this: e78027707fc844b3307ea87f28efed73
>]
>[Use currentTag, thanks asgaroth
>Spencer Janssen <spencerjanssen at gmail.com>**20090125213331
> Ignore-this: dd1a3d96038de6479eca3b9798d38437
>]
>[Support for spawning most applications on a specific workspace
>Daniel Schoepe <asgaroth_ at gmx.de>**20090125191045
> Ignore-this: 26076d54b131e037b42c87e4fde63200
>]
>[X.L.Mosaic: haddock fix
>Roman Cheplyaka <roma at ro-che.info>**20090124235908]
>[A mosaic layout based on MosaicAlt
>Adam Vogt <vogt.adam at 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 at gmail.com>**20090122002745
> Ignore-this: e8cfe0f18f278c95d492628da8326fd7
>]
>[Create a new session for spawnPiped processes
>Spencer Janssen <spencerjanssen at gmail.com>**20090122000441
> Ignore-this: 37529c5fe8b4bf1b97fffb043bb3dfb0
>]
>[TAG 0.8.1
>Spencer Janssen <spencerjanssen at gmail.com>**20090118220647]
>[Use spawnOn in my config
>Spencer Janssen <spencerjanssen at gmail.com>**20090117041026
> Ignore-this: 3f92e4bbe4f2874b86a6c7ad66a31bbb
>]
>[Add XMonad.Actions.SpawnOn
>Spencer Janssen <spencerjanssen at gmail.com>**20090117040432
> Ignore-this: 63869d1ab11f2ed5aab1690763065800
>]
>[Bump version to 0.8.1
>Spencer Janssen <spencerjanssen at gmail.com>**20090116223607
> Ignore-this: 1c201e87080e4404f51cadc108b228a1
>]
>[Compile without optimizations on x86_64 and GHC 6.10
>Spencer Janssen <spencerjanssen at 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 at gmail.com>**20090116210315
> Ignore-this: 4e15b7f3fd6af3b7317449608f5246b0
>]
>[Update to my config
>Spencer Janssen <spencerjanssen at gmail.com>**20090116204553
> Ignore-this: 81017fa5b99855fc8ed1fe8892929f53
>]
>[Adjustments to new userCode function
>Daniel Schoepe <asgaroth_ at gmx.de>**20090110221310]
>[X.U.EZConfig: expand documentation
>Brent Yorgey <byorgey at cis.upenn.edu>**20090116153143]
>[add a bit of documentation to HintedTile
>Brent Yorgey <byorgey at cis.upenn.edu>**20090114065126]
>[ManageHelpers: add isDialog
>johanngiwer at web.de**20090108232505]
>[CenteredMaster
>portnov84 at 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 at gmail.com**20090110213000
> Ignore-this: 1592ba07f2ed5d2258c215c2d175190a
>]
>[X.U.XSelection: get rid of warning about missing newline, add Haddock link
>Brent Yorgey <byorgey at cis.upenn.edu>**20090102194357]
>[adds haddock documentation for transformPromptSelection
>loupgaroublond at gmail.com**20090102190954
>
> also renames the function per mailing list recommendation
>]
>[adds a weird function to XSelection
>loupgaroublond at 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 at c-otto.de**20090102091019]
>[fix-fromJust-errors
>rupa at 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 at dbruhn.de>**20081218001601]
>[X.L.Monitor: changes in message passing
>Roman Cheplyaka <roma at 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 at ro-che.info>**20081226213118
> - remove add*Monitor
> - add manageMonitor, monitor template
>]
>[X.U.WindowProperties: propertyToQuery+docs
>Roman Cheplyaka <roma at ro-che.info>**20081225080702]
>[X.L.Monitor: docs
>Roman Cheplyaka <roma at ro-che.info>**20081225073904]
>[hlintify XUtils, XSelection, Search, WindowGo
>gwern0 at gmail.com**20081220153302
> Ignore-this: 7e877484e3cd8954b74232ea83180fa9
>]
>[fix focus issue for XMonad.Actions.Warp.banishScreen
>Norbert Zeh <nzeh at 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 at 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 at 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 at 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 at justinbogner.com>**20081213073054]
>[XMonad.Actions.WindowGo: fix a floating-related focus bug
>gwern0 at 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 at gmail.com**20081119213122
> Ignore-this: 95ac7dbe9c8fe3618135966f251f4fc6
>]
>[Prompt.hs: increase font size to 12 from niggardly 10
>gwern0 at gmail.com**20081119212523
> Ignore-this: 74a6e1ac5e1774da4ffc7c6667c034c
>]
>[Prompt.hs: replace magic numbers with understandable names
>gwern0 at gmail.com**20081119212502
> Ignore-this: 8401c0213be9a32c925e1bd0ba5e01f1
>]
>[X.L.Monitor: recommend doHideIgnore (docs)
>Roman Cheplyaka <roma at ro-che.info>**20081215190710]
>[X.L.Monitor: docs
>Roman Cheplyaka <roma at ro-che.info>**20081215184423]
>[X.L.Monitor: export Monitor datatype
>Roman Cheplyaka <roma at ro-che.info>**20081215184318]
>[X.H.ManageHelpers: add doHideIgnore
>Roman Cheplyaka <roma at ro-che.info>**20081215182758]
>[Add KDE 4 config, thanks to Shirakawasuna on IRC
>Spencer Janssen <spencerjanssen at gmail.com>**20081211071141
> Ignore-this: 51698961ab5b6e569c294d174f2804a9
>]
>[I use the deleteConsecutive history filter
>Spencer Janssen <spencerjanssen at gmail.com>**20081025070438]
>[Remove XMonad.Config.PlainConfig, it has been turned into the
>separate xmonad-light project.
>Braden Shepherdson <Braden.Shepherdson at gmail.com>**20081203161534]
>[XMonad.Prompt: swap up and down per bug #243
>gwern0 at gmail.com**20081203013323
> Ignore-this: 8ab0481a0da7a983f501ac2fec4a68e8
>]
>[Fix boolean operator precedence in GridSelect keybindings
>Aleksandar Dimitrov <aleks.dimitrov at 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 at gmail.com**20081122084725]
>[Export setOpacity from FadeInactive. Document how to make monitor
>transparent (X.L.Monitor)
>Roman Cheplyaka <roma at ro-che.info>**20081117153027]
>[Monitor: use broadcastMessage instead of sendMessage; this solves
>several issues
>Roman Cheplyaka <roma at ro-che.info>**20081117133957]
>[FadeInactive: fade all inactive windows (including focused windows
>on visible screens)
>Roman Cheplyaka <roma at ro-che.info>**20081117130115]
>[Monitor: documented one more issue
>Roman Cheplyaka <roma at ro-che.info>**20081117113807]
>[Monitor: improved the docs
>Roman Cheplyaka <roma at ro-che.info>**20081117073709]
>[added XMonad.Layout.Monitor
>Roman Cheplyaka <roma at ro-che.info>**20081115104735]
>[WindowProperties: added allWithProperty
>Roman Cheplyaka <roma at ro-che.info>**20081115104525]
>[ManageHelpers: added doSideFloat (generalization of doCenterFloat)
>Roman Cheplyaka <roma at ro-che.info>**20081114113015]
>[GridSelect: Export default_colorizer
>Dominik Bruhn <dominik at dbruhn.de>**20081112140005]
>[Simplify code for restriction-calculation and remove compiletime warnings
>Dominik Bruhn <dominik at dbruhn.de>**20081112134630]
>[Simplify handle/eventLoop, introduce findInWindowMap, partial
>updates for key movements (less flickering)
>Clemens Fruhwirth <clemens at 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 at ro-che.info>**20081111063348]
>[GridSelect: fix infiniteness problem with diamondRestrict
>Roman Cheplyaka <roma at ro-che.info>**20081111055350]
>[GridSelect: remove tabs
>Roman Cheplyaka <roma at ro-che.info>**20081111053647]
>[Exported shrinkWhile from Decoration to use in GridSelect
>Roman Cheplyaka <roma at ro-che.info>**20081110191534]
>[GridSelect: added link to a screenshot
>Roman Cheplyaka <roma at ro-che.info>**20081110190617]
>[GridSelect: various improvements
>Roman Cheplyaka <roma at 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 at endorphin.org>**20081107115114]
>[documentation: XMonad.Util.Search.hs, add EZConfig keybindings example
>sean.escriva at gmail.com**20081106171707]
>[typo
>Don Stewart <dons at galois.com>**20081104043044
> Ignore-this: bdac0ff3316c821bce321b51c62f6e89
>]
>[place an upper bound on the version of base we support
>Don Stewart <dons at galois.com>**20081104035857
> Ignore-this: 29139cc4f0ecb299b56ae99f7d20b854
>]
>[explicit import list for things in the process library
>Don Stewart <dons at galois.com>**20081104035319
> Ignore-this: 91b7f96421828788760e8bcff7dec317
>]
>[Work around ghc 6.10 bug #2738
>Don Stewart <dons at galois.com>**20081104034819
> Ignore-this: c75da9693fa642025eac0d074869423d
>]
>[windowPromptBringCopy
>deadguysfrom at gmail.com**20081023173019]
>[generic menu and window bringer
>Travis B. Hartwell <nafai at travishartwell.net>**20081027005523]
>[Search.hs: +hackage search, courtesy of byorgey
>gwern0 at gmail.com**20081031214937
> Ignore-this: 24db0ceed49f8bd37ce98ccf8f8ca2ab
>]
>[Prompt.hs rename deleteConsecutiveDuplicates
>gwern0 at gmail.com**20081008205131
> That name is really unwieldy and long.
>]
>[Prompt.hs: have historyCompletion filter dupes
>gwern0 at 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 at gmail.com**20081008204649]
>[Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off
>gwern0 at gmail.com**20081008192645]
>[Do not consider XMONAD_TIMER unknown
>Joachim Breitner <mail at joachim-breitner.de>**20081008195643]
>[Kill window without focusing it first
>Joachim Breitner <mail at 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 at wagner-home.com**20081015153911]
>[Actions.Search: add a few search engines
>intrigeri at 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 at joachim-breitner.de>**20081006211027
> (Just to reduce code duplication)
>]
>[Add straightforward HiddenWS to WSType
>Joachim Breitner <mail at joachim-breitner.de>**20081006210548
> With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously
>missing.
>]
>[Merge emptyLayoutMod into redoLayout
>Joachim Breitner <mail at 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 at joachim-breitner.de>**20081005184426
> Fixes: http://code.google.com/p/xmonad/issues/detail?id=223
>]
>[Paste.hs: improve haddocks
>gwern0 at gmail.com**20080927150158]
>[Paste.hs: fix haddock
>gwern0 at gmail.com**20080927145238]
>[minor explanatory comment
>daniel at wagner-home.com**20081003015919]
>[XMonad.Layout.HintedGrid: add GridRatio (--no-test because of
>haddock breakage)
>Lukas Mai <l.mai at web.de>**20080930141715]
>[XMonad.Util.Font: UTF8 -> USE_UTF8
>Lukas Mai <l.mai at web.de>**20080930140056]
>[Paste.hs: implement noModMask suggestion
>gwern0 at gmail.com**20080926232056]
>[fix a divide by zero error in Grid
>daniel at wagner-home.com**20080926204148]
>[-DUTF8 flag with -DUSE_UTF8
>gwern0 at gmail.com**20080921154014]
>[XSelection.hs: use CPP to compile against utf8-string
>gwern0 at gmail.com**20080920151615]
>[add XMonad.Config.Azerty
>Devin Mullins <me at twifkak.com>**20080924044946]
>[flip GridRatio to match convention (x/y)
>Devin Mullins <me at twifkak.com>**20080922033354]
>[let Grid have a configurable aspect ratio goal
>daniel at wagner-home.com**20080922010950]
>[Paste.hs: +warning about ASCII limitations
>gwern0 at gmail.com**20080921155038]
>[Paste.hs: shorten comment lines to under 80 columns per sjanssen
>gwern0 at gmail.com**20080921154950]
>[Forgot to enable historyFilter :(
>Spencer Janssen <spencerjanssen at gmail.com>**20080921094254]
>[Prompt: add configurable history filters
>Spencer Janssen <spencerjanssen at gmail.com>**20080921093453]
>[Update my config to use 'statusBar'
>Spencer Janssen <spencerjanssen at gmail.com>**20080921063513]
>[Rename pasteKey functions to sendKey
>Spencer Janssen <spencerjanssen at gmail.com>**20080921062016]
>[DynamicLog: doc fixes
>Spencer Janssen <spencerjanssen at gmail.com>**20080921061314]
>[Move XMonad.Util.XPaste to XMonad.Util.Paste
>Spencer Janssen <spencerjanssen at gmail.com>**20080921060947]
>[Depend on X11 >= 1.4.3
>Spencer Janssen <spencerjanssen at gmail.com>**20080921055456]
>[statusBar now supplies the action to toggle struts
>Spencer Janssen <spencerjanssen at gmail.com>**20080918013858]
>[cleanup - use currentTag
>Devin Mullins <me at twifkak.com>**20080921011159]
>[XPaste.hs: improve author info
>gwern0 at gmail.com**20080920152342]
>[+XMonad.Util.XPaste: a module for pasting strings to windows
>gwern0 at gmail.com**20080920152106]
>[UrgencyHook bug fix: cleanupUrgents should clean up reminders, too
>Devin Mullins <me at twifkak.com>**20080920062117]
>[Sketch of XMonad.Config.Monad
>Spencer Janssen <spencerjanssen at gmail.com>**20080917081838]
>[raiseMaster
>seanmce33 at gmail.com**20080912184830]
>[Add missing space between dzen command and flags
>Daniel Neri <daniel.neri at sigicom.com>**20080915131009]
>[Big DynamicLog refactor.  Added statusBar, improved compositionality
>for dzen and xmobar
>Spencer Janssen <spencerjanssen at gmail.com>**20080913205931
> Compatibility notes:
>     - dzen type change
>     - xmobar type change
>     - dynamicLogDzen removed
>     - dynamicLogXmobar removed
>]
>[Take maintainership of XMonad.Prompt
>Spencer Janssen <spencerjanssen at gmail.com>**20080911230442]
>[Overhaul Prompt to use a zipper for history navigation.  Fixes issue #216
>Spencer Janssen <spencerjanssen at gmail.com>**20080911225940]
>[Use the new completion on tab setting
>Spencer Janssen <spencerjanssen at gmail.com>**20080911085940]
>[Only start to show the completion window with more than one match
>Joachim Breitner <mail at joachim-breitner.de>**20080908110129]
>[XPrompt: Add showCompletionOnTab option
>Joachim Breitner <mail at 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 at riseup.net>**20080714153601]
>[XMonad.Actions.Plane: removed unneeded hiding
>Marco Túlio Gontijo e Silva <marcot at riseup.net>**20080714152631]
>[Improvements in documentation
>Marco Túlio Gontijo e Silva <marcot at riseup.net>**20080709002425]
>[Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde}
>Spencer Janssen <spencerjanssen at gmail.com>**20080911040808]
>[add clearUrgents for your keys
>Devin Mullins <me at twifkak.com>**20080909055425]
>[add reminder functionality to UrgencyHook
>Devin Mullins <me at twifkak.com>**20080824200548
> I'm considering rewriting remindWhen and suppressWhen as
>UrgencyHookModifiers, so to speak. Bleh.
>]
>[TAG 0.8
>Spencer Janssen <spencerjanssen at gmail.com>**20080905195420]
>Patch bundle hash:
>5c3eedbe20029a007c885985d396641b5ddd4cf3
>
>
>
>-- 
>Audun Skaugen
>_______________________________________________
>xmonad mailing list
>xmonad at haskell.org
>http://www.haskell.org/mailman/listinfo/xmonad


More information about the xmonad mailing list