
New patches:

[add --help option
Lukas Mai <l.mai@web.de>**20080129235258] 
<
> {
hunk ./Main.hs 40
     case args of
         []                    -> launch
         ["--resume", _]       -> launch
+        ["--help"]            -> usage
         ["--recompile"]       -> recompile False >> return ()
         ["--recompile-force"] -> recompile True >> return ()
         ["--version"]         -> putStrLn ("xmonad " ++ showVersion version)
hunk ./Main.hs 49
 #endif
         _                     -> fail "unrecognized flags"
 
+usage :: IO ()
+usage = do
+    self <- getProgName
+    putStr . unlines $
+        concat ["Usage: ", self, " [OPTION]"] :
+        "Options:" :
+        "  --help                       Print this message" :
+        "  --version                    Print the version number" :
+        "  --recompile                  Recompile your ~/.xmonad/xmonad.hs if it's been changed" :
+        "  --recompile-force            Recompile your ~/.xmonad/xmonad.hs" :
+#ifdef TESTING
+        "  --run-tests                  Run the test suite" :
+#endif
+        "  --resume STATE               Internal flag, do not use" :
+        []
+
 -- | Build "~/.xmonad/xmonad.hs" with ghc, then execute it.  If there are no
 -- errors, this function does not return.  An exception is raised in any of
 -- these cases:
}

Context:

[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] 
[Add emptyLayout to LayoutClass, a method to be called when a workspace is empty
Andrea Rossato <andrea.rossato@unibz.it>**20080124013207] 
[Generalize the type of catchIO, use it in Main.hs
Spencer Janssen <sjanssen@cse.unl.edu>**20080128054651] 
[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] 
[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] 
[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] 
[Remove references to 0.4
Spencer Janssen <sjanssen@cse.unl.edu>**20071209232336] 
[Bump version to 0.5!
Spencer Janssen <sjanssen@cse.unl.edu>**20071209231539] 
[Rename xmonad.hs to xmonad-template.hs
Spencer Janssen <sjanssen@cse.unl.edu>**20071209231426] 
[StackSet: some haddock tuning
Andrea Rossato <andrea.rossato@unibz.it>**20071209161525] 
[add a template xmonad.hs
Don Stewart <dons@galois.com>**20071209225018] 
[Remove kicker and gnome-panel from the default manageHook, these are better
Spencer Janssen <sjanssen@cse.unl.edu>**20071209135408
 handled by XMonad.Hooks.ManageDocks.  Also, remove the over-complicated list
 comprehensions.
] 
[XMonad.Layouts -> XMonad.Layout
Spencer Janssen <sjanssen@cse.unl.edu>**20071208080553] 
[Typos and formatting
Andrea Rossato <andrea.rossato@unibz.it>**20071124143221] 
[Move XMonad.Layouts to XMonad.Layout for uniformity with xmc
Andrea Rossato <andrea.rossato@unibz.it>**20071124143000] 
[Hide generalized newtype deriving from Haddock
Spencer Janssen <sjanssen@cse.unl.edu>**20071208015015] 
[Export XMonad.Layouts from XMonad
Spencer Janssen <sjanssen@cse.unl.edu>**20071208014927] 
[Export XMonad.Operations from XMonad
Spencer Janssen <sjanssen@cse.unl.edu>**20071208000636] 
[Export Graphics.X11, Graphics.X11.Xlib.Extras, and various Monad stuff from XMonad
Spencer Janssen <sjanssen@cse.unl.edu>**20071207233535] 
[Depend on X11>=1.4.0
Spencer Janssen <sjanssen@cse.unl.edu>**20071205045945] 
[Update extra-source-files
Spencer Janssen <sjanssen@cse.unl.edu>**20071205044421] 
[Update man location
Spencer Janssen <sjanssen@cse.unl.edu>**20071205043913] 
[make Query a MonadIO
Lukas Mai <l.mai@web.de>**20071128195126] 
[Add ManageHook to the XMonad metamodule
Spencer Janssen <sjanssen@cse.unl.edu>**20071127002840] 
[update todos before release
Don Stewart <dons@galois.com>**20071125052720] 
[Depend on X11 1.4.0
Don Stewart <dons@galois.com>**20071125034012] 
[reword comment (previous version didn't make sense to me)
Lukas Mai <l.mai@web.de>**20071122165925] 
[add getXMonadDir (2nd try)
Lukas Mai <l.mai@web.de>**20071121183018] 
[Add 'and' and 'or' functions to ManageHook.
Spencer Janssen <sjanssen@cse.unl.edu>**20071121104613] 
[generalise type of `io'
Don Stewart <dons@galois.com>**20071121054407] 
[Add recompilation forcing, clean up recompile's documentation
Spencer Janssen <sjanssen@cse.unl.edu>**20071120223614] 
[recompile does not raise any exceptions
Spencer Janssen <sjanssen@cse.unl.edu>**20071120215835] 
[-no-recomp because we're doing our own recompilation checking
Spencer Janssen <sjanssen@cse.unl.edu>**20071120215744] 
[pointfree
Don Stewart <dons@galois.com>**20071120184016] 
[clean up fmap overuse with applicatives. more opportunities remain
Don Stewart <dons@galois.com>**20071120181743] 
[ManageHook is a Monoid
Spencer Janssen <sjanssen@cse.unl.edu>**20071119060820] 
[No more liftM
Spencer Janssen <sjanssen@cse.unl.edu>**20071119033120] 
[Refactor recompile
Spencer Janssen <sjanssen@cse.unl.edu>**20071119032255] 
[Trailing space
Spencer Janssen <sjanssen@cse.unl.edu>**20071119030658] 
[Generalize recompile to MonadIO
Spencer Janssen <sjanssen@cse.unl.edu>**20071119030436] 
[Factor out doubleFork logic
Spencer Janssen <sjanssen@cse.unl.edu>**20071119030353] 
[handle case of xmonad binary not existing, when checking recompilation
Don Stewart <dons@galois.com>**20071119030057] 
[Use executeFile directly, rather than the shell, avoiding sh interepeting
Don Stewart <dons@galois.com>**20071119025015] 
[use 'spawn' rather than runProcess, to report errors asynchronously, avoiding zombies
Don Stewart <dons@galois.com>*-20071119023712] 
[use 'spawn' rather than runProcess, to report errors asynchronously, avoiding zombies
Don Stewart <dons@galois.com>**20071119023712] 
[Use xmessage to present a failure message to users when the config file cannot be loaded
Don Stewart <dons@galois.com>**20071119022429] 
[only check xmonad.hs against the xmonad binary, not the .o file (meaning you can remove it if you like)
Don Stewart <dons@galois.com>**20071119011528] 
[Do our own recompilation checking: only launch ghc if the xmonad.hs is newer than its .o file
Don Stewart <dons@galois.com>**20071119010759] 
[reformat export list to fit on the page
Don Stewart <dons@galois.com>**20071119003900] 
[add support for Mac users and their silly case-insensitive filesystems
Devin Mullins <me@twifkak.com>**20071117024836] 
[some more tweaks
Don Stewart <dons@galois.com>**20071116184227] 
[more todos: docs
Don Stewart <dons@galois.com>**20071116182444] 
[we need examples for the managehook edsl
Don Stewart <dons@galois.com>**20071116182332] 
[more todos
Don Stewart <dons@galois.com>**20071116182033] 
[polish readme
Don Stewart <dons@galois.com>**20071116181931] 
[more polish for config doc
Don Stewart <dons@galois.com>**20071116181640] 
[tweak .cabal synopsis a little
Don Stewart <dons@galois.com>**20071116181245] 
[Config: small haddock fix
Andrea Rossato <andrea.rossato@unibz.it>**20071116113158] 
[Core: documented XConfig and ScreenDetail
Andrea Rossato <andrea.rossato@unibz.it>**20071116112826] 
[CONFIG, TODO: fix typos
"Valery V. Vorotyntsev" <valery.vv@gmail.com>**20071115144151
 CONFIG: delete trailing whitespace
] 
[comments, reexport Data.Bits
Don Stewart <dons@galois.com>**20071114183759] 
[polish .cabal file. add xmonad@ as the default maintainer
Don Stewart <dons@galois.com>**20071114182716] 
[add lots more text on configuration
Don Stewart <dons@galois.com>**20071114182531] 
[refactor trace. 
Don Stewart <dons@galois.com>**20071114034109] 
[make default ratios in config nicer to look at
Lukas Mai <l.mai@web.de>**20071112013551] 
[clarify comment at top of Config.hs
Devin Mullins <me@twifkak.com>**20071111191304
 There appears to be some confusion -- several people have wanted to edit
 Config.hs as was done in the past. This comment probably won't stop that, but
 it's a start.
] 
[avoid Data.Ratio and % operator in XMonad.Config
David Roundy <droundy@darcs.net>**20071111183708
 I think this'll make Config.hs more friendly as a template for folks
 to modify.
] 
[remove obviated (and confusing) comments
Devin Mullins <me@twifkak.com>**20071111055047] 
[XMonad.Main uses FlexibleContexts
Spencer Janssen <sjanssen@cse.unl.edu>**20071111214528] 
[hide existential Layout (mostly) from user API.
David Roundy <droundy@darcs.net>**20071111003055] 
[Depend on X11 1.3.0.20071111
Don Stewart <dons@galois.com>**20071111200932] 
[update README some more
Don Stewart <dons@galois.com>**20071109181203] 
[we depend on Cabal 1.2.0 or newer
Don Stewart <dons@galois.com>**20071109155934] 
[Generalize several functions to MonadIO
Spencer Janssen <sjanssen@cse.unl.edu>**20071109064214] 
[Docs for ManageHook
Spencer Janssen <sjanssen@cse.unl.edu>**20071109031810] 
[New ManageHook system
Spencer Janssen <sjanssen@cse.unl.edu>**20071109024722] 
[Generalize the type of whenJust
Spencer Janssen <sjanssen@cse.unl.edu>**20071107062126] 
[refactor main, add "recompile" to XMonad.Core
Lukas Mai <l.mai@web.de>**20071108230933] 
[maybe False (const True) -> isJust. spotted by shachaf
Don Stewart <dons@galois.com>**20071108003539] 
[typo
Don Stewart <dons@galois.com>**20071108000259] 
[imports not needed in example now
Don Stewart <dons@galois.com>**20071107032346] 
[Provide top level XMonad.hs export module
Don Stewart <dons@galois.com>**20071107030617] 
[point to where defns for config stuff can be found
Don Stewart <dons@galois.com>**20071107020801] 
[Fix haddock comment
Spencer Janssen <sjanssen@cse.unl.edu>**20071107030510] 
[fall back to previous ~/.xmonad/xmonad if recompilation fails
Lukas Mai <l.mai@web.de>**20071107015309] 
[recommend --user
Don Stewart <dons@galois.com>**20071106221004] 
[add CONFIG with details of how to configure
Don Stewart <dons@galois.com>**20071105040741] 
[Run only 50 tests per property, decreases test time by 10 seconds on my system
Spencer Janssen <sjanssen@cse.unl.edu>**20071105064944] 
[Remove stale comment
Spencer Janssen <sjanssen@cse.unl.edu>**20071105063731] 
[Use Cabal's optimization flags rather than -O
Spencer Janssen <sjanssen@cse.unl.edu>**20071105061759] 
[Build the whole thing in the test hook
Spencer Janssen <sjanssen@cse.unl.edu>**20071105061615] 
[-Werror
Spencer Janssen <sjanssen@cse.unl.edu>**20071105060326] 
[Remove superfluous 'extensions:' field
Spencer Janssen <sjanssen@cse.unl.edu>**20071105034515] 
[Use configurations in xmonad.cabal
Spencer Janssen <sjanssen@cse.unl.edu>**20071105033428] 
[~/.xmonad/Main.hs is now ~/.xmonad/xmonad.hs !
Don Stewart <dons@galois.com>**20071105032655] 
[makeMain -> xmonad
Don Stewart <dons@galois.com>**20071105031203] 
[-Wall police
Don Stewart <dons@galois.com>**20071105022202] 
[remember to compile the xmonad library also with the usual ghc-optoins
Don Stewart <dons@galois.com>**20071105022127] 
[EventLoop -> Core, DefaultConfig -> Config
Don Stewart <dons@galois.com>**20071105021705] 
[clean up DefaultConfig.hs
Don Stewart <dons@galois.com>**20071105021142] 
[clean up some weird formatting/overboard strictness annotations
Don Stewart <dons@galois.com>**20071105011400] 
[Update pragmas for GHC 6.8 compatibility
Spencer Janssen <sjanssen@cse.unl.edu>**20071104215507] 
[Use the layout and workspaces values from the actual configuration used
Spencer Janssen <sjanssen@cse.unl.edu>**20071104020320] 
[Float handler out of makeMain, make keys and mouseBindings dependent on XConfig for easy modMask switching
Spencer Janssen <sjanssen@cse.unl.edu>**20071102025924] 
[We can't rely on the executable name, because it may be 'Main'
Spencer Janssen <sjanssen@cse.unl.edu>**20071101205057] 
[Get defaultGaps from the current config, not the default one
Spencer Janssen <sjanssen@cse.unl.edu>**20071101205025] 
[exposed-modules
Spencer Janssen <sjanssen@cse.unl.edu>**20071101193331] 
[Hierarchify
Spencer Janssen <sjanssen@cse.unl.edu>**20071101180846] 
[Main.hs -> DefaultConfig.hs, add new Main.hs with 'buildLaunch'
Spencer Janssen <sjanssen@cse.unl.edu>**20071101175749] 
[Layouts.Choose: handle ReleaseResources
Spencer Janssen <sjanssen@cse.unl.edu>**20071101152302] 
[Layouts.Choose: send Hide to non-selected layout
Spencer Janssen <sjanssen@cse.unl.edu>**20071101151147] 
[Export mirrorRect
Spencer Janssen <sjanssen@cse.unl.edu>**20071101085631] 
[Only export main from Main
Spencer Janssen <sjanssen@cse.unl.edu>**20071101082326] 
[Add readsLayout, remove the existential from XConfig
Spencer Janssen <sjanssen@cse.unl.edu>**20071101082155] 
[Delete Main.hs-boot!
Spencer Janssen <sjanssen@cse.unl.edu>**20071101080045] 
[Remove manageHook from Main.hs-boot
Spencer Janssen <sjanssen@cse.unl.edu>**20071101075308] 
[Remove workspaces from Main.hs-boot
Spencer Janssen <sjanssen@cse.unl.edu>**20071101074556] 
[-Wall police
Spencer Janssen <sjanssen@cse.unl.edu>**20071101074411] 
[Eliminate defaultTerminal
Spencer Janssen <sjanssen@cse.unl.edu>**20071101073147] 
[Store user configuration in XConf
Spencer Janssen <sjanssen@cse.unl.edu>**20071101072308] 
[This is a massive update, here's what has changed:
Spencer Janssen <sjanssen@cse.unl.edu>**20071101064318
  * Read is no longer a superclass of Layout
  * All of the core layouts have moved to the new Layouts.hs module
  * Select has been replaced by the new statically typed Choose combinator,
    which is heavily based on David Roundy's NewSelect proposal for
    XMonadContrib.  Consequently:
     - Rather than a list of choosable layouts, we use the ||| combinator to
       combine several layouts into a single switchable layout
     - We've lost the capability to JumpToLayout and PrevLayout.  Both can be
       added with some effort
] 
[cleaner version of main/config inversion.
David Roundy <droundy@darcs.net>**20071029184823] 
[make setLayout a bit more inclusive.
David Roundy <droundy@darcs.net>**20071024231250] 
[make xmonad work with inverted main/config.
David Roundy <droundy@darcs.net>**20071018170058] 
[sketch of config/main inversion.
David Roundy <droundy@darcs.net>**20071018164230] 
[more precise X11 version required
Don Stewart <dons@galois.com>**20071031203241] 
[HEADS UP: remove X11-extras dependency, depend on X11 >= 1.3.0
Don Stewart <dons@galois.com>**20071030220824
 
 The X11-extras library has been merged into the larger X11 library,
 so we now drop the dependency on X11-extras, and instead build 
 against the new X11 library.
 
 If you apply this patch you must build and install X11-1.3.0 or greater
 first,
 
   http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-1.3.0
 
 You can also go ahead and wipe X11-extras from GHC's memory, (for ghci to work
 out of the box with the testsuite)
 
   $ ghc-pkg unregister X11-extras
   $ ghc-pkg unregister --user X11-extras
 
] 
[tweaks to todo
Don Stewart <dons@galois.com>**20071031164618] 
[New windows start in the iconic state
Spencer Janssen <sjanssen@cse.unl.edu>**20071028063949] 
[add text on using xprop to find client names
Don Stewart <dons@galois.com>**20071027163031] 
[add text reminding people to run mod-shift-space
Don Stewart <dons@galois.com>**20071026225228] 
[StackSet.hs: (insertUp): remove comments about new window being made master window, since that clearly isn't true.
Brent Yorgey <byorgey@gmail.com>**20071022210856] 
[Replace 'findIndex' with 'findTag', which more accurately describes what the function does.
Brent Yorgey <byorgey@gmail.com>**20071022204105
 I realize this is a big change, but the name 'findIndex' was confusing for me, since I expected it to return some sort of integer.  What it actually does, of course, is return a workspace tag, which might be more general than an index.
 Of course, this change breaks several contrib modules; I'll submit a patch to make the change there as well.
] 
[StackSet.hs: (ensureTags): elaborate into a more descriptive comment.
Brent Yorgey <byorgey@gmail.com>**20071022202212] 
[StackSet.hs: remove dead code.
Brent Yorgey <byorgey@gmail.com>**20071022192636] 
[StackSet.hs: (differentiate): 'Texture' doesn't mean anything to me; replace with a more descriptive comment.
Brent Yorgey <byorgey@gmail.com>**20071022191333] 
[StackSet.hs: (new): better comment; 'm' is not an integer, it is a list of screen descriptions.
Brent Yorgey <byorgey@gmail.com>**20071022183411] 
[StackSet.hs: align some comments
Brent Yorgey <byorgey@gmail.com>**20071022161601] 
[StackSet.hs: small grammar fix and better flow in comment
Brent Yorgey <byorgey@gmail.com>**20071022160858] 
[StackSet.hs: better comments regarding hidden/visible workspace tracking for Xinerama
Brent Yorgey <byorgey@gmail.com>**20071022160239
 I'm not 100% sure that I understand what's going on here, but it seems as though the comment still described an older state of affairs.  I don't see any Map Workspace Screen keeping track of visible workspaces.
] 
[Add Config.terminal
Spencer Janssen <sjanssen@cse.unl.edu>**20071024105354] 
[explain that you need ghc as well
Don Stewart <dons@galois.com>**20071024030520] 
[xmonad, not XMonad
Spencer Janssen <sjanssen@cse.unl.edu>**20071023234900] 
[STYLE: enlarge on existing principles
gwern0@gmail.com**20071023225225
 Comments: the -Wall thing was just trying to say -Wall -Werror should work. The license thing was too narrow - or are my public domain contributions unwelcome because they are not BSD-3? I think comments are most important for exported functions users will use; it isn't so important for helper functions (used only in the module) to be very well-documented, right?
] 
[start on style guide
Don Stewart <dons@galois.com>**20071023221422] 
[Operations.hs: flip maybe id  is  fromMaybe
Eric Mertens <emertens@galois.com>**20071018231418] 
[Deobfuscate Tall layout
Eric Mertens <emertens@galois.com>**20071018231329] 
[setInitialProperties after placing windows
Spencer Janssen <sjanssen@cse.unl.edu>*-20071019201310] 
[setInitialProperties after placing windows
Spencer Janssen <sjanssen@cse.unl.edu>**20071019201310] 
[Ignore borders in the stored RationalRects of floating windows.
Spencer Janssen <sjanssen@cse.unl.edu>*-20071019063922
 Also, add 'floatWindow' which computes the actual Rectangle for that window,
 including border.
] 
[Only assign workspace keys up to xK_9.  Related to bug #63
Spencer Janssen <sjanssen@cse.unl.edu>**20071019083746] 
[Ignore borders in the stored RationalRects of floating windows.
Spencer Janssen <sjanssen@cse.unl.edu>**20071019063922
 Also, add 'floatWindow' which computes the actual Rectangle for that window,
 including border.
] 
[I prefer fmap over liftM
Spencer Janssen <sjanssen@cse.unl.edu>**20071019063104] 
[change 0/1/3 to named states, per X11-extras darcs head
Devin Mullins <me@twifkak.com>**20071018021651] 
[remove StackOrNot type synonymn.
David Roundy <droundy@darcs.net>**20071017201406] 
[Operations.hs: make use of notElem and notMember
Eric Mertens <emertens@galois.com>**20071017174357] 
[TAG 0.4
Spencer Janssen <sjanssen@cse.unl.edu>**20071016215343] 
Patch bundle hash:
17b138f056cfc93bb03db7607763b349487ae408
