
New patches:

[Fix issue #111
Andrea Rossato <andrea.rossato@unibz.it>**20080221090220
 
 The use of broacastMessage for sending button events to visible
 layouts conflicts with the possibility for those layouts of changing
 the windowset. This is possible with sendMessage, if the layout
 modifying the windowset doesn't return a new layout. This is how we
 handle mouse focus changes in decorated layouts.
 
 By generalizing sendMessage, we can use it to broadcast button events
 and let layouts in visible workspaces change the windowset as long as
 they do not update the layout.
 
 This fixes the problems reported in issues #111.
] 
<
> {
hunk ./XMonad/Main.hs 201
     ba <- asks buttonActions
     if isr then userCode $ whenJust (M.lookup (m, b) ba) ($ ev_subwindow e)
            else focus w
-    broadcastMessage e -- Always send button events.
+    sendMessageToVisible e -- Always send button events.
 
 -- entered a normal window, makes this focused.
 handle e@(CrossingEvent {ev_window = w, ev_event_type = t})
hunk ./XMonad/Operations.hs 335
 sendMessage :: Message a => a -> X ()
 sendMessage a = do
     w <- W.workspace . W.current <$> gets windowset
+    sendMessageToWorkspace a w
+
+sendMessageToVisible :: Message a => a -> X ()
+sendMessageToVisible a = do
+  ws <- gets windowset
+  mapM_ (sendMessageToWorkspace a) (W.workspace (W.current ws) : map W.workspace (W.visible ws))
+
+sendMessageToWorkspace :: Message a => a -> W.Workspace i (Layout Window) Window -> X ()
+sendMessageToWorkspace a w = do
     ml' <- handleMessage (W.layout w) (SomeMessage a) `catchX` return Nothing
     whenJust ml' $ \l' -> do
         windows $ \ws -> ws { W.current = (W.current ws)
}

Context:

[add quickstart instructions
Don Stewart <dons@galois.com>**20080212203502] 
[Remove non-existent windows on restart
Spencer Janssen <sjanssen@cse.unl.edu>**20080207091140] 
[Lift initColor exceptions into Maybe
Don Stewart <dons@galois.com>**20080206194858
 
 We should audit all X11 Haskell lib calls we make for whether
 they throw undocumented exceptions, and then banish that.
 
] 
[some things to do
Don Stewart <dons@galois.com>**20080206192533] 
[module uses CPP
Don Stewart <dons@galois.com>**20080206190521] 
[Rename runManageHook to runQuery
Spencer Janssen <sjanssen@cse.unl.edu>**20080204053336] 
[let enter dismiss compile errors
daniel@wagner-home.com**20080203202852] 
[Core.hs, StackSet.hs: some documentation updates
Brent Yorgey <byorgey@gmail.com>**20080201190653] 
[xmonad.cabal: add `build-type' to make Cabal happy
"Valery V. Vorotyntsev" <valery.vv@gmail.com>**20080131163213] 
[Get version from the Paths_xmonad module generated by Cabal
Daniel Neri <daniel.neri@sigicom.se>**20080129144037
 No need to bump version in more than one place.
] 
[Kill stale xmonad 0.1 comments
Spencer Janssen <sjanssen@cse.unl.edu>**20080128211418] 
[Point to 0.6 release of contrib
Spencer Janssen <sjanssen@cse.unl.edu>**20080128101115] 
[notes on releases
Don Stewart <dons@galois.com>**20080128171012] 
[bump output of --version
Don Stewart <dons@galois.com>**20080128170840] 
[Generalize the type of catchIO, use it in Main.hs
Spencer Janssen <sjanssen@cse.unl.edu>**20080128054651] 
[Make Mirror implement emptyLayout
Andrea Rossato <andrea.rossato@unibz.it>**20080128001834] 
[clarify copyright
Don Stewart <dons@galois.com>**20080108185640] 
[TAG 0.6
Spencer Janssen <sjanssen@cse.unl.edu>**20080127220633] 
[More other-modules
Spencer Janssen <sjanssen@cse.unl.edu>**20080127220152] 
[Update example config
Spencer Janssen <sjanssen@cse.unl.edu>**20080127212331] 
[Bump version to 0.6
Spencer Janssen <sjanssen@cse.unl.edu>**20080127205000] 
[Updated ./man/xmonad.1.in to contain new command line parameters
Austin Seipp <mad.one@gmail.com>**20080122070153] 
[Depend on QuickCheck < 2 when building tests
Spencer Janssen <sjanssen@cse.unl.edu>**20080122070225] 
[Roll testing into the main executable, use Cabal to build the tests
Spencer Janssen <sjanssen@cse.unl.edu>**20080119091215] 
[Add emptyLayout to LayoutClass, a method to be called when a workspace is empty
Andrea Rossato <andrea.rossato@unibz.it>**20080124013207] 
[Simplify duplicate/cloned screen logic
Spencer Janssen <sjanssen@cse.unl.edu>**20080118032228] 
[Put the screen removing stuff in getCleanedScreenInfo
Joachim Breitner <mail@joachim-breitner.de>**20071231181556] 
[Ignore cloned screens
Joachim Breitner <mail@joachim-breitner.de>**20071231180628
 This patch ignores screens that are just clones of existing ones,
 or are completely contained in another. Currently only for rescreen, not yet for
 xmonad start.
] 
[-Werror when flag(testing) only
Spencer Janssen <sjanssen@cse.unl.edu>**20080118014827] 
[Export doubleFork
nicolas.pouillard@gmail.com**20080114202612] 
[reword comment (previous version didn't make sense to me)
Lukas Mai <l.mai@web.de>**20071122165925] 
[The recompile function now returns a boolean status instead of ().
nicolas.pouillard@gmail.com**20080105225500] 
[Make focus-follows-mouse configurable
Spencer Janssen <sjanssen@cse.unl.edu>**20071229023301] 
[Strictify all XConfig fields, gives nice error messages when a field is forgotten on construction
Spencer Janssen <sjanssen@cse.unl.edu>**20071229021923] 
[Spelling
Spencer Janssen <sjanssen@cse.unl.edu>**20071229021628] 
[Wibble
Spencer Janssen <sjanssen@cse.unl.edu>**20071229021519] 
[Broadcast button events to all layouts, fix for issue #111
Spencer Janssen <sjanssen@cse.unl.edu>**20071227080356] 
[Config.hs: too many users seem to be ignoring/missing the polite warning not to modify this file; change it to something a bit less polite/more obvious.
Brent Yorgey <byorgey@gmail.com>**20071220201549] 
[Remove desktop manageHook rules in favor of ManageDocks
Spencer Janssen <sjanssen@cse.unl.edu>**20071222113735] 
[Wibble
Spencer Janssen <sjanssen@cse.unl.edu>**20071222041151] 
[Add support for several flags:
Spencer Janssen <sjanssen@cse.unl.edu>**20071222020520
  --version: print xmonad's version
  --recompile: recompile xmonad.hs if it is out of date
  --force-recompile: recompile xmonad.hs unconditionally
] 
[Remove getProgName capability from restart, we don't use it anymore
Spencer Janssen <sjanssen@cse.unl.edu>**20071219215011] 
[Flush pending X calls before restarting
Spencer Janssen <sjanssen@cse.unl.edu>**20071219162029] 
[Allow for sharing of home directory across architectures.
tim.thelion@gmail.com**20071218065146] 
[Call 'broadcastMessage ReleaseResources' in restart
Spencer Janssen <sjanssen@cse.unl.edu>**20071219065710] 
[Manpage now describes config in ~/.xmonad/xmonad.hs
Adam Vogt <vogt.adam@gmail.com>**20071219023918] 
[Update manpage to describe greedyView
Adam Vogt <vogt.adam@gmail.com>**20071219023726] 
[Depend on X11-1.4.1, it has crucial bugfixes
Spencer Janssen <sjanssen@cse.unl.edu>**20071215022100] 
[1.4.1 X11 dep
Don Stewart <dons@galois.com>**20071214160558] 
[Set withdrawnState after calling hide
Spencer Janssen <sjanssen@cse.unl.edu>**20071212060250] 
[Remove stale comment
Spencer Janssen <sjanssen@cse.unl.edu>**20071211084236] 
[Make windows responsible for setting withdrawn state
Spencer Janssen <sjanssen@cse.unl.edu>**20071211080117] 
[Remove stale comment
Spencer Janssen <sjanssen@cse.unl.edu>**20071211075641] 
[Clean up stale mapped/waitingUnmap state in handle rather than unmanage.
Spencer Janssen <sjanssen@cse.unl.edu>**20071211074810
 This is an attempt to fix issue #96.  Thanks to jcreigh for the insights
 necessary to fix the bug.
] 
[Delete windows from waitingUnmap that aren't waitng for any unmaps
Spencer Janssen <sjanssen@cse.unl.edu>**20071211074506] 
[man/xmonad.hs: add some documentation explaining that 'title' can be used in the manageHook just like 'resource' and 'className'.
Brent Yorgey <byorgey@gmail.com>**20071210173357] 
[normalize Module headers
Lukas Mai <l.mai@web.de>**20071210085327] 
[Add 'testing' mode, this should reduce 'darcs check' time significantly
Spencer Janssen <sjanssen@cse.unl.edu>**20071210004704] 
[Use XMonad meta-module in Main.hs
Spencer Janssen <sjanssen@cse.unl.edu>**20071210004456] 
[TAG 0.5
Spencer Janssen <sjanssen@cse.unl.edu>**20071209233044] 
Patch bundle hash:
a90e3d09a2d324ee57c9221ec964cfda15990518
