
New patches:

[code to define a strut-avoiding layout.
David Roundy <droundy@darcs.net>**20071023220025] 
<
> {
hunk ./ManageDocks.hs 25
     manageDocksHook
     ,resetGap
     ,toggleGap
+    ,avoidStruts
     ) where
 
 import Control.Monad.Reader
hunk ./ManageDocks.hs 137
 max4 :: (Int, Int, Int, Int) -> (Int, Int, Int, Int) -> (Int, Int, Int, Int)
 max4 (a1,a2,a3,a4) (b1,b2,b3,b4) = (max a1 b1, max a2 b2, max a3 b3, max a4 b4)
 
+-- | Adjust layout automagically.
+avoidStruts :: LayoutClass l a => l a -> AvoidStruts l a
+avoidStruts = AvoidStruts
+
+data AvoidStruts l a = AvoidStruts (l a) deriving ( Read, Show )
+
+instance LayoutClass l a => LayoutClass (AvoidStruts l) a where
+    doLayout (AvoidStruts lo) (Rectangle x y w h) s =
+        do (t,l,b,r) <- calcGap
+           let rect = Rectangle (x+10+fromIntegral l) (y+fromIntegral t)
+                      (w-fromIntegral l-fromIntegral r) (h-fromIntegral t-fromIntegral b)
+           (wrs,mlo') <- doLayout lo rect s
+           return (wrs, AvoidStruts `fmap` mlo')
+    handleMessage (AvoidStruts l) m =
+        do ml' <- handleMessage l m
+           return (AvoidStruts `fmap` ml')
+    description (AvoidStruts l) = description l
+
}

Context:

[XPrompt.hs: fix vertical alignment of completions.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20071023183129] 
[fix bug in DragPane (where we forgot that r was mirrored).
David Roundy <droundy@darcs.net>**20071023152448] 
[ManPrompt.hs: a manual page prompt (new module)
"Valery V. Vorotyntsev" <valery.vv@gmail.com>**20071022191443] 
[STRUT aware gap toggling (clean patch)
mail@joachim-breitner.de**20071022220132
 
 Without this patch, ManageDocks would only set the gap according to a window���s
 STRUT when the window is first mapped. This information would then get lost when
 the user toggle the gap.
    
 Now, when the user toggles the Gap, all present windows are scanned for STRUT
 settings, and the gap is set accordingly. No need to manually configure the gap
 anymore.
 
 This is the same patch as before, but independant of the Hooks patches, and with
 more documentation.
] 
[add new LayoutCombinators module.
David Roundy <droundy@darcs.net>**20071023135638] 
[export DragPane type.
David Roundy <droundy@darcs.net>**20071023134933] 
[make DragPane work with any type (not just Windows).
David Roundy <droundy@darcs.net>**20071023134911] 
[SshPrompt.hs: while I'm here, replace nub with the faster Set trick
gwern0@gmail.com**20071019181514] 
[ShellPrompt.hs: fmt imports and update
gwern0@gmail.com**20071019181317] 
[SshPrompt.hs: fmt imports and update
gwern0@gmail.com**20071019181255] 
[XSelection.hs: fmt imports and sigs
gwern0@gmail.com**20071019181232] 
[XSelection.hs: +2 functions, safePromptSelection and unsafePromptSelection
gwern0@gmail.com**20071019181137
 Analogous to Run.hs patch; these use safeSpawn and unsafeSpawn respectively.
] 
[Run.hs: +2 functions, safeSpawn & unsafeSpawn
gwern0@gmail.com**20071019181009
 See their documentation. This is part of a re-organization of various 'run' commands; this two
 make it easier to go through the shell or not, and will be re-used elsewhere.
] 
[Run.hs: fmt
gwern0@gmail.com**20071019180953] 
[Run.hs, ShellPrompt.sh: mv runInXTerm to ShellPrompt.hs
gwern0@gmail.com**20071019180900] 
[XSelection.hs: documentation format changes.
gwern0@gmail.com**20071019010057] 
[XSelection.hs: +type signature for auxiliary function
gwern0@gmail.com**20071019010034] 
[XSelection.hs: simplify creation of window
gwern0@gmail.com**20071019010013
 While spelunking in the xclip source code, I noticed it had much the same call to createSimpleWindow but with a simpler geometry - just 1x1 pixels, not the odd 200x100 of the original code. It seems to work the same and looks better and less mysterious, so unless arossato had a specific reason for those particular two numbers...
] 
[XPrompt.hs (keyPressHandle): Ctrl-g and Ctrl-c added to quit keystrokes
"Valery V. Vorotyntsev" <valery.vv@gmail.com>**20071020170936
 Obvious comments removed.
] 
[XPrompt.hs: trailing whitespace cleaned
"Valery V. Vorotyntsev" <valery.vv@gmail.com>**20071020170719] 
[Fix pragmas in XMonadContrib
Shachaf Ben-Kiki <shachaf@gmail.com>**20071022011738] 
[test_XPrompt.hs: there is no ShellPrompt.rmPath
"Valery V. Vorotyntsev" <valery.vv@gmail.com>**20071019205830] 
[introduce new combineTwo layout combinator.
David Roundy <droundy@darcs.net>**20071020191748
 This layout combinator is similar in spirit (and in code) to
 the old combo combinator, but only allows two sublayouts.  As
 a result, we don't need to wrap these in existentials, and reading
 works seamlessly.  Also, we add the feature (which could also be
 added to combo) of being able to change which sublayout a given
 window is in through integration with WindowNavigation.
 
 I envision combo being deprecated soon.  combineTwo isn't quite
 so flexible, but it's much easier and is better-coded also.
] 
[allow layout modifiers to modify a Message in transit.
David Roundy <droundy@darcs.net>**20071020191542
 This is a helpful feature (for, e.g. WindowNavigation) that
 allows modifiers (if they so choose... the old API remains
 supported) to easily send a single Message to the modified
 layout in response to a Message.
] 
[update UrgencyHook example config to reflect changes to WindowNavigation and core Config.hs
Brent Yorgey <byorgey@gmail.com>**20071019145526] 
[DynamicLog.hs: Add dzenColor
Eric Mertens <emertens@galois.com>**20071018174523] 
[-Wall police
l.mai@web.de**20071018033000] 
[add ToggleLayouts module.
David Roundy <droundy@darcs.net>**20071018214525] 
[default to empty description for layout modifiers.
David Roundy <droundy@darcs.net>**20071018202604
 This is because modifierDescription is designed to be human-readable,
 and show rarely creates a human-readable description.  And in many (if
 not most) cases, an empty description is precisely what we want.
] 
[beautify description code for empty modifier-description.
David Roundy <droundy@darcs.net>**20071018202438] 
[change definition of 'description' function for LayoutModifier so an extra space is not added if the modifier description is empty.
Brent Yorgey <byorgey@gmail.com>**20071018183054] 
[add function to rename workspaces.
David Roundy <droundy@darcs.net>**20071018145604] 
[fix WindowNavigation comment
l.mai@web.de**20071018054315] 
[add dzenUrgencyHook as example (and the one I use)
Devin Mullins <me@twifkak.com>**20071018021742] 
[fixed Dzen and gave it a configurable timeout
Devin Mullins <me@twifkak.com>**20071018012910] 
[change example to dzenUrgencyHook
Devin Mullins <me@twifkak.com>**20071018022026] 
[rename LayoutSelect & defaultLayout in comments
Devin Mullins <me@twifkak.com>**20071016051819] 
[add import to comments, for clarity
Devin Mullins <me@twifkak.com>**20071012044555] 
[documentation for UrgencyHook
Devin Mullins <me@twifkak.com>**20071012034506] 
[d'oh, minor UrgencyHook cleanup
Devin Mullins <me@twifkak.com>**20071012032558] 
[brand new UrgencyHook contrib, depends on X11-extras WMHints binding
Devin Mullins <me@twifkak.com>**20071011051641
 It's a LayoutModifier which lets you define an urgencyHook function -- the
 action gets performed wheneveran X client sends an XUrgencyHint message (i.e.
 tries to "flash" the "taskbar").
 
 This statically points to Config.urgencyHook, which requires that the user add
 a line to Config.hs-boot, in addition to defining the urgencyHook.
 
 Documentation forthcoming.
] 
[TilePrime.hs: Give a description that distinguishs between horizontal/vertical
Eric Mertens <emertens@galois.com>**20071018063749] 
[Truncate title at 80 characters
Spencer Janssen <sjanssen@cse.unl.edu>**20071018003013] 
[shorten in sjanssenPP too
Spencer Janssen <sjanssen@cse.unl.edu>**20071018002821] 
[Truncate long window titles
Spencer Janssen <sjanssen@cse.unl.edu>**20071018002511] 
[DynamicLog.hs: Add ppWsSep field to PP to specify workspace separator.
Eric Mertens <emertens@galois.com>**20071018001652
 
 This can be useful when you are using colors to distinguish between
 workspaces and simply provides more functionality. The default behavior
 remains the same.
] 
[Wrapping the empty string yields the empty string
Spencer Janssen <sjanssen@cse.unl.edu>**20071018001542] 
[DynamicLog: documentation only
Spencer Janssen <sjanssen@cse.unl.edu>**20071017211427] 
[Allow the user to change the order of workspaces, layout, title
Spencer Janssen <sjanssen@cse.unl.edu>**20071017211303] 
[Don't wrap the layout description by default
Spencer Janssen <sjanssen@cse.unl.edu>**20071017211011] 
[DynamicLog: not . null. Duh.
Spencer Janssen <sjanssen@cse.unl.edu>**20071017210912] 
[A big dynamicLog refactor
Spencer Janssen <sjanssen@cse.unl.edu>**20071017210431
 We introduce the PP type to allow user customization of dynamicLog.
 dynamicLogWithTitle has been eliminated because this is the default behavior
 for dynamicLog now.
] 
[Don't toLower the layout description.
Spencer Janssen <sjanssen@cse.unl.edu>**20071017202953
 If we'd really like lower case layout descriptions, the 'description' method
 in the LayoutClass instances should be changed instead.
] 
[TilePrime.hs: Correct behavior when number of windows <= nmaster
Eric Mertens <emertens@galois.com>**20071017205153
 
 Additionally this patch does various clean-ups that should not
 affect functionality.
] 
[Remove RunInXTerm in favor of Run
Spencer Janssen <sjanssen@cse.unl.edu>**20071017202201] 
[Move runXXX functions to one module
Christian Thiemann <mail@christian-thiemann.de>**20071012145233
 This patch takes runProcessWithInput out of Dmenu, runProcessWithInputAndWait
 out of Dzen, and runInXTerm out of RunInXTerm and collects them in one central
 module called Run.  This way, other modules may include Run instead of Dmenu
 to get what they want without giving the impression of making use of dmenu.
] 
[Fix LANGUAGE pragmas
Shachaf Ben-Kiki <shachaf@gmail.com>**20071017194622] 
[use full screen for single window in TilePrime
l.mai@web.de**20071017191421] 
[RotSlaves.hs: Add rotAll functions
Eric Mertens <emertens@galois.com>**20071017173256] 
[TilePrime.hs: add usage info.
Joachim Fasting <joachim.fasting@gmail.com>**20071017192612] 
[TilePrime.hs: add LANGAUGE pragma.
Joachim Fasting <joachim.fasting@gmail.com>**20071017182042] 
[MetaModule.hs: add WorkspacePrompt.
Joachim Fasting <joachim.fasting@gmail.com>**20071017182027] 
[add TilePrime to MetaModule.
David Roundy <droundy@darcs.net>**20071017133202] 
[Initial import of TilePrime
Eric Mertens <emertens@galois.com>**20071017052017
 
 This layout provides a standard tiling layout with support for resize hints
 and filling the gaps created by them.
] 
[code cleanup in selectWorkspace.
David Roundy <droundy@darcs.net>**20071016231218] 
[allow users to go to dynamically-added workspaces with mod-n.
David Roundy <droundy@darcs.net>**20071016230301] 
[TAG 0.4
Spencer Janssen <sjanssen@cse.unl.edu>**20071016212343] 
[add modules to deal with Workspaces (select, etc) by name using XPrompt.
David Roundy <droundy@darcs.net>**20071016223347] 
[Spiral.hs: add 'description' function to LayoutClass instance for SpiralWithDir.
Brent Yorgey <byorgey@gmail.com>**20071016140959] 
[make windowNavigation simpler to use in simplest case.
David Roundy <droundy@darcs.net>**20071016214337] 
[compute nice window border for WindowNavigation properly.
David Roundy <droundy@darcs.net>**20071016213316] 
[fix docs on WindowNavigation.
David Roundy <droundy@darcs.net>**20071016210349] 
[ShellPrompt: traverse $PATH once per invocation.  Major speed improvement
Spencer Janssen <sjanssen@cse.unl.edu>**20071016090552] 
[ShellPrompt.hs: a quick optimization of nub
gwern0@gmail.com**20071015234850
 I saw some complaints about ShellPrompt being slow - and noticed it myself - and it seems ShellPrompt uses 'nub' in an awkward place to uniquefy input. Nub doesn't perform well on long lists, but I once ran into a similar problem and the suggested solution was something clever: convert to a Set and then back to a List. Sets can't have duplicate entries, and they uniquefy faster than nub. The price is that the output is not sorted the same as nub's output would be, but this is OK because the output of (toList . fromList) is immediately passed to 'sort' - which should then produce the same output for both versions. I haven't really tested this but on long directories this should help.
] 
[defaultLayout -> layoutHook
Spencer Janssen <sjanssen@cse.unl.edu>**20071015205901] 
[LayoutSelection -> Select
Spencer Janssen <sjanssen@cse.unl.edu>**20071015205804] 
[defaultLayouts -> layouts
Spencer Janssen <sjanssen@cse.unl.edu>**20071015205542] 
[compute a reasonable navigation color based on focussed color.
David Roundy <droundy@darcs.net>**20071015165504] 
[WindowNavigation: don't export the config constructor and some haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013090524
 I told to David I would have taken care of that: instead of exporting
 the config constructor we export 2 functions: navigateColor and
 noNavigateBorders. Updated documentation accordingly.
] 
[fix float bug in CopyWindow.
David Roundy <droundy@darcs.net>**20071015161529] 
[improvements in Combo.
David Roundy <droundy@darcs.net>**20071015132839] 
[Various docstring fixes
Spencer Janssen <sjanssen@cse.unl.edu>**20071013230529] 
[TwoPane: Fix syntax error in example
Alex Tarkovsky <alextarkovsky@gmail.com>**20071013014151] 
[note combo broken under head
Don Stewart <dons@galois.com>**20071013232524] 
[New features for generate-configs.sh; renamed to generate-configs
Alex Tarkovsky <alextarkovsky@gmail.com>**20071013090251] 
[WorkspaceDir introduces dependency on directory package
Don Stewart <dons@galois.com>**20071013230102] 
[Dmenu.hs introduces process dependency
Don Stewart <dons@galois.com>**20071013230051] 
[serialisedLayouts
Don Stewart <dons@galois.com>**20071013230040] 
[Combo requires FlexibleContexts (but still doesn't compile under ghc head)
Don Stewart <dons@galois.com>**20071013230020] 
['Anneal' requires 'random' package in ghc 6.8
Don Stewart <dons@galois.com>**20071013230007] 
[use leading % for magic comments in ./scripts/generate-configs.sh
Don Stewart <dons@galois.com>**20071013212429] 
[WindowPrompt: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013160735] 
[Fix more config docstrings
Alex Tarkovsky <alextarkovsky@gmail.com>**20071013085133] 
[DragPane: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013090437] 
[TagWindows.hs: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013090413] 
[Tabbed: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013090342] 
[Roledex.hs: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013090323] 
[ResizableTile.hs: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013090233] 
[CycleWS: typo
Andrea Rossato <andrea.rossato@unibz.it>**20071013090145] 
[CopyWindow.hs: type signature for copy
Andrea Rossato <andrea.rossato@unibz.it>**20071013090122] 
[Circle.hs: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013090100] 
[Accordion.hs: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071013090038] 
[clean up DynamicLog.hs
Don Stewart <dons@galois.com>**20071013195129] 
[remove old TODOs (fix darcs conflict)
Devin Mullins <me@twifkak.com>**20071012154859] 
[haddock improvement
Devin Mullins <me@twifkak.com>**20071012145447] 
[MetaModule.hs: add RunInXTerm and XUtils.
Joachim Fasting <joachim.fasting@gmail.com>**20071012114252] 
[Add documentation to Dishes.hs
nornagon@gmail.com**20071012072953] 
[doco fix: s/SomeLayout/Layout/g
Devin Mullins <me@twifkak.com>**20071012025953] 
[Haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20071012100416] 
[Fix EwmhDesktops, ManageDocks, and SetWMName compilation for amd64
Alex Tarkovsky <alextarkovsky@gmail.com>**20071010213853] 
[Export hasTag
Karsten Schoelzel <kuser@gmx.de>**20071011095504] 
[Improve readability of RotView
Eric Mertens <emertens@galois.com>**20071011175200] 
[Added wmii like actions extension.
Juraj Hercek <juhe_xmonad@hck.sk>**20071010201452] 
[Remove spurious output from ShellPrompt
Spencer Janssen <sjanssen@cse.unl.edu>**20071011182816] 
[add/reformat (commented out) tracing code to SwitchTrans
l.mai@web.de**20071011022139] 
[NoBorders bugfix (I hope)
l.mai@web.de**20071011021756
 
 David Roundy should probably have a look at this, but this change makes sense
 to me. Plus it makes NoBorders work in combination with SwitchTrans. :-)
 
] 
[XSelection.hs: Implement Andrea's idea for handling non-UTF-8 string cases
gwern0@gmail.com**20071010020616] 
[Add XSelection to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20071010160340] 
[XSelection.hs: a new module for XMonadContrib dealing with copy-and-paste
gwern0@gmail.com**20071008222706
 This is based on Andrea Rossato's standalone tools and is meant for integration straight into a Config.hs. It offers two main functions, 'getSelection' and 'putSelection', whose names should be self-explanatory.
] 
[Add WindowPrompt: the XPrompt equivalent of WindowBringer
Andrea Rossato <andrea.rossato@unibz.it>**20071009164047] 
[WindowBringer: export windowMapWith used by WindowPrompt
Andrea Rossato <andrea.rossato@unibz.it>**20071009163505] 
[MetaModule: added WindowPrompt
Andrea Rossato <andrea.rossato@unibz.it>**20071009163445] 
[LayoutScreens: update docs
Spencer Janssen <sjanssen@cse.unl.edu>**20071008161441] 
[TwoPane: update docs
Spencer Janssen <sjanssen@cse.unl.edu>**20071008161345] 
[DragPane: no need to deal with expose events in this simplified version
Andrea Rossato <andrea.rossato@unibz.it>**20071008143801] 
[Fix more LANGUAGE pragmas
Shachaf Ben-Kiki <shachaf@gmail.com>**20071008115229
 This patch should go after my other one -- I'd missed some files that used
 -fglasgow-exts.
] 
[Add LANGUAGE pragams
Shachaf Ben-Kiki <shachaf@gmail.com>**20071008022141
 It seems that GHC 6.6 just enables -fglasgow-exts when it sees any LANGUAGE
 pragma, so not all of them were added; this patch adds the rest of them, which
 is necessary for xmonad to compile in GHC >=6.7.
] 
[fix SwitchTrans some more
l.mai@web.de**20071007224116] 
[update doco
Devin Mullins <me@twifkak.com>**20071007215906] 
[add bringMenu, and extract duplication
Devin Mullins <me@twifkak.com>**20071007215532] 
[make createNewWindow set background and foreground to a given color.
David Roundy <droundy@darcs.net>**20071008125206
 This means we don't need to draw colors that are this color.  Also
 speeds up redrawing, since the X server can do all the drawing on its
 own, without talking with xmonad.
] 
[DragPane must handle ExposeEvent too
Andrea Rossato <andrea.rossato@unibz.it>**20071008074702] 
[ShellPrompt.hs: add getShellCompl to export list
gwern0@gmail.com**20071007220236
 getShellCompl is useful for writing prompts in Config.hs or even full standalone prompts; and personally, if a  small utility function like 'split' can be exported, how much more so something useful like getShellCompl?
] 
[Tabbed and XPrompt updated to lates Extras changes
Andrea Rossato <andrea.rossato@unibz.it>**20071007163825] 
[doc fixes for ManageDocks
Devin Mullins <me@twifkak.com>**20071007204016] 
[fix(?) SwitchTrans (makes noBorders work again)
l.mai@web.de**20071007193055] 
[avoid compiler warning in FlexibleManipulate
l.mai@web.de**20071007163509] 
[update NoBorders.hs configuration documentation
gwern0@gmail.com**20071007190621
 It seems 'noBorder full' no longer hacks it.
] 
[d'oh, add WindowBringer to MetaModule
Devin Mullins <me@twifkak.com>**20071007185138] 
[Maybe? What Maybe? (rollback earlier dmenu change)
Devin Mullins <me@twifkak.com>**20071007185915] 
[Enter WindowBringer, Bringer of Windows.
Devin Mullins <me@twifkak.com>**20071007173633] 
[add dmenuMap function
Devin Mullins <me@twifkak.com>**20071007172543] 
[ShellPrompt: check for executables and better error handling
Andrea Rossato <andrea.rossato@unibz.it>**20071007110133
 Code contributed by Spencer (basically I just removed FilePath
 depenency).
] 
[Move my NextWorkspace functionality into CycleWS
mail@joachim-breitner.de**20071007103933
 Hi,
 
 This patch merges the additional functionality of my NextWorkspace into CycleWS,
 using a compatible interface for what was there before.
 
 Greetings,
 Joachim
] 
[ManageDocks now handles STRUT windows as well
mail@joachim-breitner.de**20071007103116
 It now also detects window with STRUT set and modifies the gap accordingly.
 Cheveats:
  * Only acts on STRUT apps on creation, not if you move or close them
  * To reset the gap, press Mod-b twice and restart xmonad (Mod-q)
] 
[NextWorkspace haddock improvement
mail@joachim-breitner.de**20071007083216
 I just added to the docs how to move a window to the next workspace 
 _and_ switch to that (by >>���ing the two actions). Some users (like me, it
 seems) probably prefer that behaviour.
 
 Greetings,
 Joachim
] 
[NextWorkspace: Go forward or backward
mail@joachim-breitner.de**20071006233010
 Hi,
 
 inspired by RotView, I implemented an Extension that allows the user to go
 forward or backward in the list of workspaces, or to move the current
 window to the next or previous workspace. Haddock included. Works here, but
 hardly tested (and while tired).
 
 Cu torrow @ HacII, if you are there.
 
 Greetings,
 Joachim
] 
[Better EWMH support
mail@joachim-breitner.de**20071007091648
 Yay, SetWMName contains just what I need! Thanks Ivan, that saved me quite
 some work. Now the panel switch should work even when you start with xmonad
 right away, and don���t run it after metacity has run before :-]
 
 Greetings,
 Joachim
] 
[Add ShellPrompt to MetaModule
Andrea Rossato <andrea.rossato@unibz.it>**20071007075937] 
[Tabbed: updated to the last (unannounced) API changes
Andrea Rossato <andrea.rossato@unibz.it>**20071007072018] 
[ShellPrompt: fromMaybe requires importing Data.Maybe
Andrea Rossato <andrea.rossato@unibz.it>**20071007070148] 
[add MouseGestures to MetaModule
l.mai@web.de**20071006230735] 
[re-add SwitchTrans to MetaModule
l.mai@web.de**20071006230711] 
[add MouseGestures.hs to darcs
l.mai@web.de**20071006230425] 
[document noBorders breakage
l.mai@web.de**20071006230316] 
[Replace -fglasgow-exts with LANGUAGE pragma in WindowNavigation.hs
nornagon@gmail.com**20071006224156] 
[Replace -fglasgow-exts with LANGUAGE pragma in ResizableTile.hs
nornagon@gmail.com**20071006223156] 
[Replace -fglasgow-exts with LANGUAGE pragma in MosaicAlt.hs
nornagon@gmail.com**20071006223025] 
[Replace -fglasgow-exts with LANGUAGE pragma in Grid.hs
nornagon@gmail.com**20071006222320] 
[Replace -fglasgow-exts with LANGUAGE pragma in Dishes.hs
nornagon@gmail.com**20071006222155] 
[update SwitchTrans for the new layout system
l.mai@web.de**20071006212008] 
[Two new dynamic log functions that display the title of the currently focused window
Christian Thiemann <mail@christian-thiemann.de>**20071006173113
 I liked the window-title-in-statusbar feature of dwm very much and wanted to
 have that in XMonad as well.  Somewhere on the net I found some code to put
 into Config.hs (and sorry, that was last week and I already forgot where I got
 it from) which I modified and put into the DynamicLog extension.  One can now
 set the logHook in Config.hs either to dynamicLogWithTitle to get the usual
 layout description and workspace list plus window title enclosed in angle
 brackets, or dynamicLogWithTitleColored "white" (or "red" etc.) to have xmonad
 print out some ^fg() markers for dzen to display the window title in the given
 color.
 
 Some windows (like terminals or browsers) change their window title from time
 to time but xmonad does not recognize this.  So I started learning Haskell to
 provide patches for X11-extras and xmonad so that PropertyNotify events are
 captured and, if the event notifies about a WM_NAME property change, call the
 logHook to update the status bar.
 
 Hope you find this useful,
   Christian
] 
[change Dmenu functions to return IO/X (Maybe String)
Devin Mullins <me@twifkak.com>**20071006070959
 dmenu exits with code 1 when you hit Escape, and I wanna create a contrib that
 takes advantage of that.
 
 This required changes in four contribs (Commands, DirectoryPrompt, ShellPrompt,
 and WorkspaceDir), and might require changes in users' Configs. Also, I'm not
 sure some of the changes I made to the client code are very Haskelly. Would
 appreciate input there.
] 
[(un)Manage Docks based on WINDOW_TYPE
mail@joachim-breitner.de**20071006132802
 Hi,
 
 this is a replacement for the example code in Config.hs that should detect
 and unamange, for example, the gnome-panel.
 
 The problem with that code is that it also unamangs dialog boxes from gnome-panel
 which then are not usable (no keyboard intput, at least here).
 
 Greetings,
 Joachim
] 
[MetaModule.hs: add Dishes.
Joachim Fasting <joachim.fasting@gmail.com>**20071006123900] 
[Dishes.hs: needs -fglasgow-exts.
Joachim Fasting <joachim.fasting@gmail.com>**20071006123851] 
[ResizableTile.hs: needs -fglasgow-exts.
Joachim Fasting <joachim.fasting@gmail.com>**20071006123550] 
[MetaModule.hs: whitespace.
Joachim Fasting <joachim.fasting@gmail.com>**20071006123540] 
[MetaModule.hs: add some missing imports.
Joachim Fasting <joachim.fasting@gmail.com>**20071006123525] 
[MetaModule.hs: typo.
Joachim Fasting <joachim.fasting@gmail.com>**20071006123214] 
[NoBorders.hs: unused bindings.
Joachim Fasting <joachim.fasting@gmail.com>**20071006102316] 
[NoBorders.smartBorders: add type signature.
Joachim Fasting <joachim.fasting@gmail.com>**20071006102210] 
[Grid.hs: needs -fglasgow-exts.
Joachim Fasting <joachim.fasting@gmail.com>**20071006102204] 
[EwmhWindows wrap up for inclusion
mail@joachim-breitner.de**20071006110529
 Now with haddock documentation, a proper header and nicer, warningfree code, ready
 for a first release and inclusion in XMonadConrib. It works for me, but needs more
 testing. If you run xmonad with gnome-panel or something similar, please try it.
 
 Thanks,
 Joachim
] 
[EwmhDesktops initial patch
mail@joachim-breitner.de**20071005222540
 What works so far, quit hackerish:
  * Number of Workspaces
  * Active current workspace
  * Names of workspaces
 More to come..
] 
[get rid of obviated comment
Devin Mullins <me@twifkak.com>**20071006055652] 
[get rid of duplicate mapWorkspaces function
Devin Mullins <me@twifkak.com>**20071006055404] 
[add Grid to MetaModule
l.mai@web.de**20071005230032] 
[basic docs for Grid
l.mai@web.de**20071005225934] 
[import Grid.hs into repository
l.mai@web.de**20071005013412] 
[Dishes layout. Stacks windows underneath masters.
nornagon@gmail.com**20071005230038] 
[ShellPrompt: removed readline dependency and added escape character support
Andrea Rossato <andrea.rossato@unibz.it>**20071005112250] 
[XPrompt: added ^A and ^E and more
Andrea Rossato <andrea.rossato@unibz.it>**20071005112122
 - added ^A (start of line) and ^E (end of line)
 - added support for escaping spaces (see an example of it's use in the
   new ShellPrompt)
 - some code cleanup: I'm now tracking changes to XPrompt also in
   modified version that supports i18n. This is the reason of some name
   changes.
] 
[Tabbed: check if we really have a window to focus
Andrea Rossato <andrea.rossato@unibz.it>**20071005111733] 
[add QC tests for SwapWorkspaces
Devin Mullins <me@twifkak.com>**20071004081534
 run with -i..:../tests
] 
[add man page doco
Devin Mullins <me@twifkak.com>**20071004081504] 
[fix problem found by Heffalump in CopyWindow.
David Roundy <droundy@darcs.net>**20071005143746] 
[Maximize layout modifier
Jamie Webb**20071004061202] 
[Add ^K and ^U support to XPrompt
Eric Mertens <emertens@galois.com>**20071002210814] 
[Rename ResizableTile.Tall to ResizableTall
Jamie Webb**20071003023000
 Having two layouts named Tall was upsetting the deserialization code.
] 
[MosaicAlt take 2
Jamie Webb**20071003162533] 
[Mark modules that haven't been ported to the new API yet.
Spencer Janssen <sjanssen@cse.unl.edu>**20071003164516
 These need to be ported or removed before the 0.4 release.
] 
[More LANGUAGE pragmas
Spencer Janssen <sjanssen@cse.unl.edu>**20071003164257] 
[Add XPropManage to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20071003164236] 
[export constructor to make ThreeColumns layout usable again
Daniel Neri <daniel.neri@sigicom.se>**20071003093103] 
[Add SwapWorkspaces to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20071003163405] 
[add SwapWorkspaces (to reorder them on your number keys)
Devin Mullins <me@twifkak.com>**20071002212407] 
[Layout -> LayoutClass for ResizableTile and MosaicAlt
Jamie Webb**20071003010849] 
[NoBorders: reduce flicker
Spencer Janssen <sjanssen@cse.unl.edu>**20071002213053] 
[TagWindows
Karsten Schoelzel <kuser@gmx.de>**20071002190526
 
 Functions to work with window tags, including a XPrompt interface.
 These are stored in the window property "_XMONAD_TAGS"
 
 Adding also functions shiftHere and shiftToScreen (move to another module?).
] 
[Add XPropManage, a manageHook using XProperties
Karsten Schoelzel <kuser@gmx.de>**20071002190231] 
[add swapping capability in WindowNavigation.
David Roundy <droundy@darcs.net>**20071003151755
 This allows you to reorder your windows geometrically, by
 swapping the currently focussed window with ones that are
 up/down/right/left of it.  The idea is that we should be
 able to manipulate windows based on the visual layout of
 the screen rather than some (possibly obscure) logical ordering.
] 
[WindowNavigation: add configurable colors and the possibility to turn them off
Andrea Rossato <andrea.rossato@unibz.it>**20071003090017] 
[SimpleStacking is deprecated
Spencer Janssen <sjanssen@cse.unl.edu>**20071002185604] 
[Make Tabbed use XUtils.releaseFont
Andrea Rossato <andrea.rossato@unibz.it>**20071002062709] 
[XUtils: added releaseFont
Andrea Rossato <andrea.rossato@unibz.it>**20071002062640] 
[An alternative mosaic layout implementation
Jamie Webb**20071002011716] 
[Fix infinite loop in ResizableTile serialization
Jamie Webb**20071002001254] 
[make Spiral work with new layout class.
David Roundy <droundy@darcs.net>**20071002164735] 
[some renaming of classes and data types.
David Roundy <droundy@darcs.net>**20070929191238] 
[Use newtype deriving for Invisible
Spencer Janssen <sjanssen@cse.unl.edu>**20071001151555] 
[Tabbed: updated usage information
Andrea Rossato <andrea.rossato@unibz.it>**20071001082219] 
[XMonadContrib.ResizableTile in darcs patch.
matsuyama3@ariel-networks.com**20071001091411
 
 I have fixed error "" to return Nothing. Thanks Andrea.
 
 
 
] 
[Commands: added recent layout commands
Andrea Rossato <andrea.rossato@unibz.it>**20070930213225] 
[Removed fromIMaybe from Tabbed ad added it to Invisible
Andrea Rossato <andrea.rossato@unibz.it>**20070930181912] 
[Tabbed: reintroduced shrinker configuration option and removed the unneeded Read instance
Andrea Rossato <andrea.rossato@unibz.it>**20070930131936] 
[Tabbed: moved string positioning to XUtils
Andrea Rossato <andrea.rossato@unibz.it>**20070930095441] 
[refactor paintAndWrite to take the alignment and hide string positioning
Andrea Rossato <andrea.rossato@unibz.it>**20070930095215] 
[make DraPane use XUtils
Andrea Rossato <andrea.rossato@unibz.it>**20070929172849] 
[make Tabbed use XUtils
Andrea Rossato <andrea.rossato@unibz.it>**20070929172823] 
[Added XUtils: a library for drawing
Andrea Rossato <andrea.rossato@unibz.it>**20070929172754] 
[enable color setting in WindowNavigation.
David Roundy <droundy@darcs.net>**20070929114531
 This is still somewhat experimental, comments welcome.
] 
[Add smartBorders
Spencer Janssen <sjanssen@cse.unl.edu>**20070929010946] 
[Give Invisible a definition for fail.
Spencer Janssen <sjanssen@cse.unl.edu>**20070929051527
 The default definition of fail calls error.  This is very bad, as we rely on a
 non-bottom result.  We should consider moving to MonadZero, to be on the safe
 side.
] 
[Tabbed: fixed a bug: when only one window is in the stack doLayout must still return a Tabbed (I Nothing) TConf
Andrea Rossato <andrea.rossato@unibz.it>**20070928223136] 
[Added Invisible to store layout state
Andrea Rossato <andrea.rossato@unibz.it>**20070928190107
 Invisible is a data type to store information that will be lost when
 restarting XMonad (the idea came from David Roundy)
] 
[WindowNavigation now uses Invisible (plus some vertical alignement)
Andrea Rossato <andrea.rossato@unibz.it>**20070928185907] 
[DragPane now uses Invisible
Andrea Rossato <andrea.rossato@unibz.it>**20070928185832] 
[Tabbed now uses Invisible
Andrea Rossato <andrea.rossato@unibz.it>**20070928185808] 
[Tabbed: removed two little bugs due to the mess during the transition (my fault, sorry ;)
Andrea Rossato <andrea.rossato@unibz.it>**20070928085513] 
[DeManage.hs: doesn't need -fglasgow-exts.
Joachim Fasting <joachim.fasting@gmail.com>**20070928083639] 
[Use LANGUAGE pragmas over -fglasgow-exts
Spencer Janssen <sjanssen@cse.unl.edu>**20070928181614] 
[Various fixes to NoBorders.  Hopefully fixes bug #42
Spencer Janssen <sjanssen@cse.unl.edu>**20070928174615] 
[Use LANGUAGE pragmas
Spencer Janssen <sjanssen@cse.unl.edu>**20070928174602] 
[LayoutModifier: call unhook after releaseResources
Spencer Janssen <sjanssen@cse.unl.edu>**20070928174510] 
[DynamicLog: sort first by index in the workspaces list, then by tag name
Spencer Janssen <sjanssen@cse.unl.edu>**20070928144900] 
[add new WindowNavigation module.
David Roundy <droundy@darcs.net>**20070928131906] 
[Make modifier descriptions prettier
Spencer Janssen <sjanssen@cse.unl.edu>**20070928053257] 
[Give Hinted a nice description
Spencer Janssen <sjanssen@cse.unl.edu>**20070928053121] 
[LayoutModifier should have descriptions too
Spencer Janssen <sjanssen@cse.unl.edu>**20070928053106] 
[Tabbed: give a nice description
Spencer Janssen <sjanssen@cse.unl.edu>**20070928052608] 
[DynamicLog: print a description of the current layout
Spencer Janssen <sjanssen@cse.unl.edu>**20070928051606] 
[Update docs
Spencer Janssen <sjanssen@cse.unl.edu>**20070928034350] 
[Add simpler layoutHints
Spencer Janssen <sjanssen@cse.unl.edu>**20070928034008] 
[NewTabbed: after a ReleaseResources we should return Tabbed Nothing...
Andrea Rossato <andrea.rossato@unibz.it>**20070928011645] 
[remove SetLayout.
David Roundy <droundy@darcs.net>**20070928015855] 
[Move NewTabbed to Tabbed
Spencer Janssen <sjanssen@cse.unl.edu>**20070927231840] 
[Remove Tabbed.hs
Spencer Janssen <sjanssen@cse.unl.edu>**20070927231002] 
[Remove Decoration.hs
Spencer Janssen <sjanssen@cse.unl.edu>**20070927230947] 
[DragPane:just code formatting
Andrea Rossato <andrea.rossato@unibz.it>**20070927083814] 
[NewTabbed: fixes a (reintroduced) bug and some code formatting
Andrea Rossato <andrea.rossato@unibz.it>**20070927083551
 - The InvisibleMaybe patch reintroduced the rectangle bug.
 - Some code formatting
 - Corrected usage information
] 
[make NewTabbed use InvisibleMaybe to hide its cache.
David Roundy <droundy@darcs.net>**20070926202330] 
[make MagicFocus work with the new Layout class
Andrea Rossato <andrea.rossato@unibz.it>**20070926114307] 
[NewTabbed: we must check if the sceen rectangle changed
Andrea Rossato <andrea.rossato@unibz.it>**20070926114056
 - Check if rectangle changed
 - removed orphan instances warnings
 - some code formatting
] 
[make DragPane code a bit more compact.
David Roundy <droundy@darcs.net>**20070926191656] 
[hide implementation of DragPane from users.
David Roundy <droundy@darcs.net>**20070926191630] 
[make DragPane a bit more succinct.
David Roundy <droundy@darcs.net>**20070926190900] 
[make DragPane work with the new Layout class
Andrea Rossato <andrea.rossato@unibz.it>**20070926190439] 
[Remove LayoutChoice, this functionality is in the core
Spencer Janssen <sjanssen@cse.unl.edu>**20070925214912] 
[fix DynamicWorkspaces.
David Roundy <droundy@darcs.net>**20070925220659] 
[new SetLayout module.
David Roundy <droundy@darcs.net>**20070925205333] 
[make Accordian use pureLayout.
David Roundy <droundy@darcs.net>**20070925192117] 
[make Roledex work with Layout class
Andrea Rossato <andrea.rossato@unibz.it>**20070925153237] 
[make Accordion work with Layout class
Andrea Rossato <andrea.rossato@unibz.it>**20070925152307] 
[NewTabbed: fixed a bug and some code formatting
Andrea Rossato <andrea.rossato@unibz.it>**20070925133749
 - Since now Operations.windows doesn't call sendMessage UnDoLayout
 anymore, doLayout must take care of destroying all tabs when only one
 window ( or none) is left on the workspace.
 - Some code formatting.
] 
[modifyLayout -> handleMessage.
David Roundy <droundy@darcs.net>**20070925182930] 
[Make Square work with class.
David Roundy <droundy@darcs.net>**20070925174446] 
[make Combo work with class
David Roundy <droundy@darcs.net>**20070925174417] 
[Added a NewTabbed module with a new tabbed layout to test
Andrea Rossato <andrea.rossato@unibz.it>**20070924193419] 
[LayoutModifier updated to use LayoutMessages
Andrea Rossato <andrea.rossato@unibz.it>**20070924193345] 
[fix embarrassing bugs in LayoutModifier.
David Roundy <droundy@darcs.net>**20070924195726] 
[move ThreeCol over to new class.
David Roundy <droundy@darcs.net>**20070924191632] 
[Cope with StackSet export changes
Spencer Janssen <sjanssen@cse.unl.edu>**20070924091031] 
[Use the new modifiers in LayoutHints
Spencer Janssen <sjanssen@cse.unl.edu>**20070924062000] 
[Use the new layout switcher in Commands
Spencer Janssen <sjanssen@cse.unl.edu>**20070924060541] 
[Follow kind changes in FindEmptyWorkspace
Spencer Janssen <sjanssen@cse.unl.edu>**20070924055928] 
[make TwoPane work with Layout class
Andrea Rossato <andrea.rossato@unibz.it>**20070922124210] 
[Circle: must export type constructor
Andrea Rossato <andrea.rossato@unibz.it>**20070922124126] 
[update WorkspaceDir.
David Roundy <droundy@darcs.net>**20070923221456] 
[rename LayoutHelpers to LayoutModifier.
David Roundy <droundy@darcs.net>**20070923215956] 
[convert LayoutScreens to class.
David Roundy <droundy@darcs.net>**20070923215942] 
[Update NoBorders and LayoutHelpers.
David Roundy <droundy@darcs.net>**20070923192640] 
[add a hook to LayoutHelpers.
David Roundy <droundy@darcs.net>**20070923121723] 
[use default modifyLayout in Circle.
David Roundy <droundy@darcs.net>**20070923115257] 
[update LayoutHelpers to work with new Layout class.
David Roundy <droundy@darcs.net>**20070923114929] 
[make Circle work with Layout class.
David Roundy <droundy@darcs.net>**20070921215525] 
[Rolodex.hs: add missing type signature.
Joachim Fasting <joachim.fasting@gmail.com>**20070919215436
 div' is only used with Dimension, used Integral to keep it general.
] 
[Warp.hs: remove seemingly unused code.
Joachim Fasting <joachim.fasting@gmail.com>**20070919214634] 
[CopyWindow.hs: -Wall police.
Joachim Fasting <joachim.fasting@gmail.com>**20070919214556] 
[CopyWindow.copy: remove seemingly unnecessary parameter from helper func.
Joachim Fasting <joachim.fasting@gmail.com>**20070919214526] 
[DirectoryPrompt.hs: add missing type signature.
Joachim Fasting <joachim.fasting@gmail.com>**20070919213736] 
[LayoutChoice.hs: update module header.
Joachim Fasting <joachim.fasting@gmail.com>**20070919213101] 
[LayoutChoice.hs: add LANGUAGE pragma.
Joachim Fasting <joachim.fasting@gmail.com>**20070919212815] 
[SinkAll.hs: -Wall police.
Joachim Fasting <joachim.fasting@gmail.com>**20070919212359] 
[XPrompt.hs: replace 'borderWidth' with 'borderPixel'
gwern0@gmail.com**20070918162950
 borderWidth is already defined in Config.hs. Thus, if one attempted to use a prompt configuration different than defaultXPConfig, and one defined it in one's Config.hs where it should be, then the borderWidth field would cause a warning by -Wall, since borderWidth is already a name being used by XMonad at large.
] 
[Operations.sink is gone
Spencer Janssen <sjanssen@cse.unl.edu>**20070917214113] 
[Match 'Remove Operations functions which have StackSet equivalents' from the core
Spencer Janssen <sjanssen@cse.unl.edu>**20070917213329] 
[SshPrompt.hs: fix some copy/paste errors, rebind sshPrompt to not conflict with xmonadPrompt
Brandon S Allbery KF8NH <allbery@ece.cmu.edu>**20070916182520
 Just a minor patch to the comments/documentation, which was clearly copied
 unchanged from ShellPrompt.hs.
] 
[make fixedLayout accept a list of Rectangles.
David Roundy <droundy@darcs.net>**20070911134845
 This works nicely for describing a fixed xinerama-like layout.
 (e.g. when using two distinct VNC clients to log into a single
 VNC server and attain multiheadedness).
] 
[Fixing some typos and grammar in documentation.
Michael Fellinger <m.fellinger@gmail.com>**20070911023158] 
[Typo in Tabbed.hs documentation
Michael Fellinger <m.fellinger@gmail.com>**20070911021815] 
[ssh-global-known-hosts
Brandon S Allbery KF8NH <allbery@ece.cmu.edu>**20070909222432
 Add support for global ssh known hosts file, which is checked for via
 $SSH_KNOWN_HOSTS or a standard list of locations.  This is stripped of
 comments and hashed hosts, combined with the local hosts file (which is
 trated the same way), and duplicates eliminated.
] 
[add LayoutChoice module.
David Roundy <droundy@darcs.net>**20070906154955] 
[FloatKeys.hs: needs -fglasgow-exts to compile.
Joachim Fasting <joachim.fasting@gmail.com>**20070909144215] 
[DragPane.hs: needs -fglasgow-exts to compile.
Joachim Fasting <joachim.fasting@gmail.com>**20070909144205] 
[Unify Drag(UpDown)Pane
Karsten Schoelzel <kuser@gmx.de>**20070904210312] 
[add function and comment assisting use in resizing the screen.
David Roundy <droundy@darcs.net>**20070906125543] 
[Add FloatKeys for moving and resizing of floating windows with the keyboard
Karsten Schoelzel <kuser@gmx.de>**20070905212531] 
[Fix FlexibleResize for change in applySizeHints
Karsten Schoelzel <kuser@gmx.de>**20070905193926] 
[make dragPane handle thinner.
David Roundy <droundy@darcs.net>**20070905124139] 
[cleanup in WorkspaceDir.
David Roundy <droundy@darcs.net>**20070827185833] 
[new SetWMName module, useful for working around problems running Java GUI applications.
Ivan Tarasov <Ivan.Tarasov@gmail.com>**20070826004411] 
[remove LayoutHooks module (which is unused).
David Roundy <droundy@darcs.net>**20070823154520] 
[cleanup in DwmPromote.
David Roundy <droundy@darcs.net>**20070823155437] 
[cleanup in ViewPrev.
David Roundy <droundy@darcs.net>**20070823155405] 
[clean up CopyWindow.
David Roundy <droundy@darcs.net>**20070823155912] 
[Add CycleWS to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20070905203137] 
[CycleWS: a couple of simple functions to cycle between workspaces
Andrea Rossato <andrea.rossato@unibz.it>**20070821061132] 
[make Contrib use WorkspaceId = type String.
David Roundy <droundy@darcs.net>**20070820113813] 
[Add HintedTile docstring
Spencer Janssen <sjanssen@cse.unl.edu>**20070905200310] 
[Docstring parser for generating xmonad build configs with default settings for extensions
Alex Tarkovsky <alextarkovsky@gmail.com>**20070905200128] 
[TAG 0.3
Spencer Janssen <sjanssen@cse.unl.edu>**20070905022947] 
[docs not generated in DragPane.hs
Don Stewart <dons@cse.unsw.edu.au>**20070904232447] 
[HintedTile typo
Spencer Janssen <sjanssen@cse.unl.edu>**20070904202804] 
[HintedTile
Spencer Janssen <sjanssen@cse.unl.edu>**20070904202219] 
[Doc fixes for DragPane
Spencer Janssen <sjanssen@cse.unl.edu>**20070904201847] 
[XPrompt: a very long string in the completion list can lead to a division by zero
Andrea Rossato <andrea.rossato@unibz.it>**20070830141524] 
[XPrompt.hs: remove debugging bits
Andrea Rossato <andrea.rossato@unibz.it>**20070828081235] 
[make code more compact in XPrompt.
David Roundy <droundy@darcs.net>**20070827191830] 
[XPrompt: just code formatting
Andrea Rossato <andrea.rossato@unibz.it>**20070822193220] 
[fix bug leading to early exit in XPrompt.
David Roundy <droundy@darcs.net>**20070827185858] 
[fix bug where we draw divider for DragPane even if there's just one window.
David Roundy <droundy@darcs.net>**20070823155810] 
[CopyWindow: update usage info
Spencer Janssen <sjanssen@cse.unl.edu>**20070820232834] 
[add DragPane.
David Roundy <droundy@darcs.net>**20070813144007] 
[fix bug in Combo where we ignored changes in super.
David Roundy <droundy@darcs.net>**20070813143500] 
[remove redundant fromIntegral from Commands.
David Roundy <droundy@darcs.net>**20070820000925] 
[Mosaic.hs (really) Fix incorrect usage example
Jason Creighton <jcreigh@gmail.com>**20070818215725
 "tall" and "wide" are anachronisms as well. It makes me wonder how we can
 and/or should give examples like this that don't bitrot and confuse newbies.
] 
[Mosaic.hs: Fix incorrect usage example
Jason Creighton <jcreigh@gmail.com>**20070818212854] 
[XPrompt: haddock tuning and more comments
Andrea Rossato <andrea.rossato@unibz.it>**20070818083423] 
[SwitchTrans:: haddock tuning
Andrea Rossato <andrea.rossato@unibz.it>**20070818083401] 
[RunInXTerm: haddock tuning
Andrea Rossato <andrea.rossato@unibz.it>**20070818083329] 
[RotSlaves: haddock tuning
Andrea Rossato <andrea.rossato@unibz.it>**20070818083306] 
[Roledex: haddock tuning
Andrea Rossato <andrea.rossato@unibz.it>**20070818083244] 
[LayoutHelpers: haddock tuning
Andrea Rossato <andrea.rossato@unibz.it>**20070818083220] 
[DirectoryPrompt: removed ShellPrompt usage info and added pointer to WorkspaceDir
Andrea Rossato <andrea.rossato@unibz.it>**20070818083105] 
[DeManage: haddock fixes
Andrea Rossato <andrea.rossato@unibz.it>**20070818083036] 
[MetaModule: removed BackCompat no longer in the repository
Andrea Rossato <andrea.rossato@unibz.it>**20070818071916] 
[fix MagicFocus/floats interaction
Peter De Wachter <pdewacht@gmail.com>**20070816185217] 
[fix Circle/floats interaction
Peter De Wachter <pdewacht@gmail.com>**20070816185144] 
[XPrompt: documentation only
Andrea Rossato <andrea.rossato@unibz.it>**20070817162806] 
[ShellPrompt: quickcheck related refactoring
Andrea Rossato <andrea.rossato@unibz.it>**20070817155725] 
[added a tests directory with quickcheck tests for XPrompt and ShellPrompt
Andrea Rossato <andrea.rossato@unibz.it>**20070817155634] 
[XPrompt: quickcheck related refactoring
Andrea Rossato <andrea.rossato@unibz.it>**20070817155454
 With this patch XPrompt can be tested with quickcheck. As a result
 getLastWord and skipLastWord has been refactored to avoid possible
 exceptions.
] 
[XPrompt: fixes a nasty bug in getLastWord
Andrea Rossato <andrea.rossato@unibz.it>**20070815163457
 This patch fixes a nasty bug in getLastWord, a bug that causes XMonad
 to crash as soon as the command line consists of only 2 empty spaces.
 *PLEASE UPDATE* if you are running XPrompt.
] 
[ghc thinks I don't need those fromIntegrals
l.mai@web.de**20070815231852] 
[use XPrompt in WorkspaceDir.
David Roundy <droundy@darcs.net>**20070814191103] 
[clean up DynamicWorkspaces to handle layouts properly.
David Roundy <droundy@darcs.net>**20070814183542] 
[make DynamicWorkspace more thorough.
David Roundy <droundy@darcs.net>**20070814014548
 Note: there's still a bug due to our failure to inform
 the old layouts to clean up.
] 
[new module DynamicWorkspaces to add and remove workspaces.
David Roundy <droundy@darcs.net>**20070814011501] 
[fix Commands to work with new workspaces.
David Roundy <droundy@darcs.net>**20070814004146] 
[Make FlexibleManipulate comply with new mouse dragging system
Spencer Janssen <sjanssen@cse.unl.edu>**20070815032619] 
[make FlexibleResize use new mouseDrag properly.
David Roundy <droundy@darcs.net>**20070807202016] 
[fix Expand/Shrink for spiralWithDir
bobstopper@bobturf.org**20070808204752] 
[Remove GreedyView: the functionality is now in StackSet
Spencer Janssen <sjanssen@cse.unl.edu>**20070815022101] 
[Use maskEvent rather than nextEvent.  Fixes rare segfaults
Spencer Janssen <sjanssen@cse.unl.edu>**20070814170416] 
[Decoration: don't crash when given a non-existent font
Andrea Rossato <andrea.rossato@unibz.it>**20070810182433] 
[actually use the selected font in XPrompt.
David Roundy <droundy@darcs.net>**20070810174543] 
[increase default contrast in XPrompt.
David Roundy <droundy@darcs.net>**20070810174724] 
[center prompt text in window.
David Roundy <droundy@darcs.net>**20070810173746] 
[don't crash when given a non-existent font in XPrompt.
David Roundy <droundy@darcs.net>**20070810170445] 
[Add ViewPrev to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20070810211242] 
[ViewPrev.hs
nelhage@mit.edu**20070810032653
 Add a ViewPrev extension which gives a viewPrev command to view the
 previously visible workspace.
] 
[fix CopyWindow to not require Integral WorkspaceId.
David Roundy <droundy@darcs.net>**20070801144543] 
[SshPrompt now uses RunInXTerm to launch the command
Andrea Rossato <andrea.rossato@unibz.it>**20070807101911] 
[RunInXTerm: a simple module to run commands in an X terminal
Andrea Rossato <andrea.rossato@unibz.it>**20070807101603
 This is just a wrapper around spawn to launch commands in an X
 terminal: runInXTerm will check the for the XTERMCMD environmental
 variable, and use it to run the command. If the variable is not set
 the command will be executed with xterm.
] 
[XPrompt: removed touchFile (which is not the equivalent of touch!)
Andrea Rossato <andrea.rossato@unibz.it>**20070805225906] 
[LayoutScreen: haddock cleanup
Andrea Rossato <andrea.rossato@unibz.it>**20070805215800] 
[XPrompt.hs: getCompletion should check for completions of the last word of the command line
Andrea Rossato <andrea.rossato@unibz.it>**20070805124130] 
[work around Magnifier's problems with floating windows
Peter De Wachter <pdewacht@gmail.com>**20070805141051] 
[Add Roledex to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20070806151628] 
[XPrompt.hs: read history lazily
Andrea Rossato <andrea.rossato@unibz.it>**20070804185914
 Instead of forcing the reading of all the history file we read it lazily.
] 
[XPrompt.hs: removed defaultPromptConfig. use defautlXPConfig instead
Andrea Rossato <andrea.rossato@unibz.it>**20070804183252] 
[weird formatting fixed
Don Stewart <dons@cse.unsw.edu.au>**20070806032739] 
[rolodex
tim.thelion@gmail.com**20070804235730
 Cascading windows...
] 
[XPrompt.hs: haddock corrections and some comments
Andrea Rossato <andrea.rossato@unibz.it>**20070804104622] 
[XMonadPrompt.hs: minor haddock corrections
Andrea Rossato <andrea.rossato@unibz.it>**20070804104534] 
[SwitchTrans.hs: minor haddock corrections
Andrea Rossato <andrea.rossato@unibz.it>**20070804104458] 
[SshPrompt.hs: minor haddock corrections
Andrea Rossato <andrea.rossato@unibz.it>**20070804104441] 
[ShellPrompt.hs: minor haddock corrections
Andrea Rossato <andrea.rossato@unibz.it>**20070804104408] 
[FlexibleManipulate.hs: minor haddock corrections
Andrea Rossato <andrea.rossato@unibz.it>**20070804104330] 
[MetaModule: added XPrompt and others
Andrea Rossato <andrea.rossato@unibz.it>**20070804093049
 XPrompt, XMonadPrompt, SshPrompt.
 ShellPrompt is commented out since it requires readline and the related
 xmonad.cabal modifications.
] 
[XPrompt: fixes a couple of bugs
Andrea Rossato <andrea.rossato@unibz.it>**20070804090817
 - we run the action passed to mkXPrompt only if we have a command;
 - updateWindows must call destroyComplWin if there are no completions;
 - some comments (more to come)
 - a shorthand in keyPressHandle
 - removed all warnings
] 
[RotSlaves rework
Karsten Schoelzel <kuser@gmx.de>**20070803185337
 
 Rework the logic of RotSlaves and rename it RotSlavesDown, add RotSlavesUp. These rotate
 the slaves in different directions.
 Also changed the usage, eliminating the need for "windows" in the keybinding.
] 
[XPrompt: code cleanup
Andrea Rossato <andrea.rossato@unibz.it>**20070803181905
 The completion list is not cached anymore: this greatly simplify the code
 making its runtime behaviour more predictable...;-) Suggested by Spencer.
] 
[Make 'compList :: [String]', rather than Maybe.  No completions is represented by []
Spencer Janssen <sjanssen@cse.unl.edu>**20070803160424] 
[Rename 'setCompletionList' to 'refreshCompletionList'
Spencer Janssen <sjanssen@cse.unl.edu>**20070803155942] 
[XPrompt: added comletion and history support
Andrea Rossato <andrea.rossato@unibz.it>**20070803154531
 This is a long patch the brings us a real prompt, more or less: completions
 now work. Added history support, with a configuration option: defaul history
 size is 256.  
 defaultPromptConfig is now deprecated: please use defaultXPConfig instead
] 
[Prompts: updated and corrected usage info
Andrea Rossato <andrea.rossato@unibz.it>**20070803130158] 
[Make the XPrompt appear on the current screen
Spencer Janssen <sjanssen@cse.unl.edu>**20070802184231] 
[XPrompt: a module for easily writing graphical prompts
Andrea Rossato <andrea.rossato@unibz.it>**20070802171552] 
[ XMonadPrompt: a graphical prompt for running XMonad internal commands
Andrea Rossato <andrea.rossato@unibz.it>**20070802165336] 
[SshPrompt: a graphical prompt for ssh connection
Andrea Rossato <andrea.rossato@unibz.it>**20070802155943] 
[ShellPrompt: a graphical shell prompt
Andrea Rossato <andrea.rossato@unibz.it>**20070802155845
 This module requires readline and so a modification to xmonad.cabal. See
 usage for instructions.
] 
[FlexibleManipulate.hs: needs -fglasgow-exts to compile.
joachim.fasting@gmail.com**20070802144042] 
[MetaModule.hs: add FocusNth.
joachim.fasting@gmail.com**20070802144023] 
[Add ThreeColumns to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20070802143356] 
[Add RotSlaves to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20070802143334] 
[RotSlaves
Hans Philipp Annen <haphi@gmx.net>**20070802094408] 
[DeManage.hs: haddock compatibility.
joachim.fasting@gmail.com**20070725100910] 
[Fix warnings in FlexibleManipulate (Sorry!)
Michael G. Sloan <mgsloan@gmail.com>**20070729032407] 
[Add FlexibleManipulate extension
Michael G. Sloan <mgsloan@gmail.com>**20070729031402] 
[Commands: refactoring to include in MetaModule
Andrea Rossato <andrea.rossato@unibz.it>**20070728132029
 Just a small refactooring (well, now runCommand requires a command list, and
 I added runCommand's that will take a string to run it against the default
 command list) to include this module in MetaModule so that we can track it
 in case of API changes (this patch has been requested by Spencer).
] 
[SwitchTrans.hs, initial version
l.mai@web.de**20070728153826] 
[fix WorkspaceDir (which was broken) using LayoutHelpers.
David Roundy <droundy@darcs.net>**20070726133520] 
[FocusNth initial import
Karsten Schoelzel <kuser@gmx.de>**20070725203305] 
[use a little more contrast in default tabs.
David Roundy <droundy@darcs.net>**20070724143723] 
[3col fix: do not switch to tall layout on resize/incmastern
Kai Grossjohann <kai@emptydomain.de>**20070723212754] 
[3col rounding
Kai Grossjohann <kai@emptydomain.de>**20070721204026] 
[fix 3col layout for nmaster + 1 windows
Kai Grossjohann <kai@emptydomain.de>**20070721150825
 Do like two column layout if there are nmaster+1 windows (putting 1 window
 in the right column).
] 
[Three column layout
Kai Grossjohann <kai@emptydomain.de>**20070721144654
 This layout is similar to tall, but has three columns.  The first column
 is the master column.
] 
[Made the direction of spiral in Spiral.hs optionally configurable
bobstopper@bobturf.org**20070721002307] 
[DeManage: take a Window as argument
Spencer Janssen <sjanssen@cse.unl.edu>**20070718204410] 
[Typo
Spencer Janssen <sjanssen@cse.unl.edu>**20070718204041] 
[Add XMonadContrib.DeManage: a module for unmanaging windows (like panels)
Spencer Janssen <sjanssen@cse.unl.edu>**20070718203107] 
[Tabbed.hs: corrected error in Usage reported by Xavier Maillard
Andrea Rossato <andrea.rossato@unibz.it>**20070717050034] 
[fixes Commands.hs
Andrea Rossato <andrea.rossato@unibz.it>**20070716164017] 
[MetaModule.hs: add missing modules.
joachim.fasting@gmail.com**20070715205857] 
[Magnifier: unbreak: raise focus window
Peter De Wachter <pdewacht@gmail.com>**20070630072206] 
[Spiral.hs: correct module header.
joachim.fasting@gmail.com**20070707212836] 
[LayoutScreens.hs: correct module header.
joachim.fasting@gmail.com**20070701215712] 
[add FlexibleResize to MetaModule
l.mai@web.de**20070708130229] 
[link to xinerama-dmenu patch for dmenu 3.2
Jason Creighton <jcreigh@gmail.com>**20070708021413
 Thanks to Dave Harrison for an updated version of the patch.
] 
[Tabbed: updated usage information
Andrea Rossato <andrea.rossato@unibz.it>**20070707065123] 
[Tabs should stay beneath any floating window
Andrea Rossato <andrea.rossato@unibz.it>**20070707064941
 This ifxes the issue reported by Geoffrey Alan Washburn: " Sometimes the
 tabs will be drawn on top of floating windows." Not anymore!
] 
[Tabbed: added more configuration options
Andrea Rossato <andrea.rossato@unibz.it>**20070706130845
 It is now possible to configure active and inactive border colors, and
 active and inactive text colors (i.e. tabs are now very similar to Ion3
 tabs: former Ion users may appreciate).
] 
[NamedWindows: if fetchName returns Nothing sets the name to resName ClassHint
Andrea Rossato <andrea.rossato@unibz.it>**20070706130644
 fetchName may return a Nothing if the window's name contains multi byte
 characters. In such a case the resName string of the ClassHints of that
 window will be used instead.
] 
[the gaps list should be filled with the default value from Config.hs
Andrea Rossato <andrea.rossato@unibz.it>**20070704224110] 
[SimpleStacking: -Wall police
Alec Berryman <alec@thened.net>**20070704201255] 
[SimpleStacking: remove note about Xinerama incompatability, works fine now
Alec Berryman <alec@thened.net>**20070704200626] 
[ScreenLayouts.hs: updates to the last API changes
Andrea Rossato <andrea.rossato@unibz.it>**20070703201145
 A silent API change broke this nice piece of David's code: Spencer decided
 to move screen details into StackSet, and there we went to manipulate them!
] 
[More ScreenDetails fixes
Spencer Janssen <sjanssen@cse.unl.edu>**20070630065916] 
[Make GreedyView work with ScreenDetails
Spencer Janssen <sjanssen@cse.unl.edu>**20070630065643] 
[flexible resizing for floating windows
l.mai@web.de**20070629171038
 
 The default resize handler for floating windows warps the mouse pointer to
 the bottom right corner of the window (fixing the opposite, upper left,
 corner). This extension lets you use any of the four window corners as
 grabbing points, allowing more flexible resizing.
 
] 
[resolve conflicts in Decoration and Tabbed.
David Roundy <droundy@darcs.net>**20070629204518
 Note that you no longer need simpleStacking when using tabbed.
] 
[resolve conflict in Square.
David Roundy <droundy@darcs.net>**20070629201636] 
[clean up code in Combo.
David Roundy <droundy@darcs.net>**20070624171346
 This adds some type safety, since the super-layout is now of a distinct
 type from the sublayouts.  This avoids the ugliness we had, of passing
 "fake" windows to the super layout.  Now we directly lay out the layouts.
] 
[add CopyWindow module, to support sticky/tagged windows.
David Roundy <droundy@darcs.net>**20070624155648
 This module allows dwm-style tagging (as I understand dwm).  You can have a
 given window visible in multiple workspaces.  If it's visible in two
 workspaces both of which are visible, a gap will show up in one of them
 (which is something that needs fixing in xmonad core).  Also defines a
 kill1 which is like kill, but only removes from the current workspace a
 window if it's in multiple workspaces.
] 
[make everything work with new doLayout.
David Roundy <droundy@darcs.net>**20070623210952
 This modifies all the contrib modules to work (so far as I know) with the
 new contrib layout.  The exception is the LayoutHooks module, which isn't
 used.  It exports an API that is inherently unsafe, so far as I can tell
 (and always has been).
] 
[move Accordian to use idModify.
David Roundy <droundy@darcs.net>**20070623143745] 
[introduce idModify which is just "const (return Nothing)".
David Roundy <droundy@darcs.net>**20070623143542] 
[move Spiral to LayoutHelpers.
David Roundy <droundy@darcs.net>**20070623143516] 
[Note that SimpleStacking is incompatible with Xinerama
Jason Creighton <jcreigh@gmail.com>**20070627035426
 It's unclear to me what SimpleStacking is supposed to accomplish, so I'm just
 going to note that it doesn't work with Xinerama. (Due to assuming that the
 current workspace is the one being laid out)
] 
[Tabbed: Make use of the Stack to get focused window
Jason Creighton <jcreigh@gmail.com>**20070627033910] 
[Accordion.hs: whitespace.
joachim.fasting@gmail.com**20070626071449
 Makes Haddock not complain about not finding documentation for '$'.
] 
[MetaModule.hs: add LayoutHelpers.
joachim.fasting@gmail.com**20070626065522
 Also tweaks import ordering slightly.
] 
[Tabbed.hs: updated usage information
Andrea Rossato <andrea.rossato@unibz.it>**20070625140735] 
[added configration options and moved font stuff to Decorations.hs
Andrea Rossato <andrea.rossato@unibz.it>**20070625140112
 Added a new data type to keep configuration options. tabbed now takes the shrinker and the configuration
 type.
 Fixed a bug related to vertical alignment of text.
] 
[Decoration.hs: added automatic font managment
Andrea Rossato <andrea.rossato@unibz.it>**20070625135722
 newDecoration now takes also a fontname to set fonts in decorations that use them.
 If an empty string is send the the default Xorg fonts will be loaded.
] 
[fix usage instructions on NoBorders.
David Roundy <droundy@darcs.net>**20070624141631] 
[remove BackCompat.hs
daniel@wagner-home.com**20070624171740] 
[Square.hs: put usage instructions after imports for Haddock compatibility.
joachim.fasting@gmail.com**20070623184938] 
[Magnifier.hs: quote screenshot url for Haddock compatibility.
joachim.fasting@gmail.com**20070623223227] 
[add new LayoutHelpers module.
David Roundy <droundy@darcs.net>**20070622142950] 
[Add SinkAll module.
joachim.fasting@gmail.com**20070623050510
 Provides a means of pushing all windows on the current workspace back into
 tiling. Not all that useful, but might be preferable to restarting or manually
 pushing windows.
] 
[Magnifier.hs: needs -fglasgow-exts to compile.
joachim.fasting@gmail.com**20070622111442] 
[fix usage info for LayoutScreens.
David Roundy <droundy@darcs.net>**20070622132618] 
[add new LayoutScreens module.
David Roundy <droundy@darcs.net>**20070622131300] 
[Magnifier: raise the focus window
Peter De Wachter <pdewacht@gmail.com>**20070621192541] 
[Circle: raise the focus window
Peter De Wachter <pdewacht@gmail.com>**20070621191207] 
[Circle cleanups
Peter De Wachter <pdewacht@gmail.com>**20070621191125] 
[make Mosaic lay thigs out a bit better.
David Roundy <droundy@darcs.net>**20070621162632] 
[add SimpleStacking module to make Combo and Tabbed work together.
David Roundy <droundy@darcs.net>**20070621151524
 WARNING! This change will break existing Tabbed configurations.  The
 problem is that there is no way within a Layout's "doLayout" to safely
 modify the layout itself.  This makes LayoutHooks fragile, and more to the
 point, makes SimpleStacking fragile, so we can't safely define a
 
 tabbed' = simpleStacking . tabbed
 
 A workaround would have been to duplicate the tabbed code, but I'd rather
 leave the ugliness and get this fixed.
] 
[Make Magnifier's master window behavior customizable
Peter De Wachter <pdewacht@gmail.com>**20070620170020
 based on a suggestion by Tim Hobbs
] 
[Whitespace.
joachim.fasting@gmail.com**20070620115852] 
[Make Mosaic compile without warnings
Spencer Janssen <sjanssen@cse.unl.edu>**20070620153111] 
[make some layouts more general.
David Roundy <droundy@darcs.net>**20070620125420] 
[Mosaic.hs: get rid off some of the warnings generated by -Wall.
joachim.fasting@gmail.com**20070620123449
 Unused definitions and imports left in, as I assume they'll be used for
 something later on.
] 
[MetaModule.hs: add LayoutHooks.
joachim.fasting@gmail.com**20070620115457] 
[Combo.hs: use case instead of non-standard pattern matching.
joachim.fasting@gmail.com**20070620112805
 Also uses fmap/maybe instead of do/case, which makes the code look a little
 cleaner (imo).
 Please note that I've only been able to test this briefly, but it seems to be
 working like it's supposed to.
] 
[Combo.hs: tweak usage instructions.
joachim.fasting@gmail.com**20070620112555
 tabbed needs an additional argument.
] 
[README: change reference to 'examples/'.
joachim.fasting@gmail.com**20070620093753] 
[Use Data.Ord.comparing in DynamicLog
Shachaf Ben-Kiki <shachaf@gmail.com>**20070620011016
 This patch replaces (compare `on`) with Data.ord.comparing, so on doesn't have
 to be defined.
] 
[Fix type signatures.
joachim.fasting@gmail.com**20070619220323
 Think this fixes the rest of the errors caused by the Layout change.
] 
[MagicFocus.magicFocus: fix type signature.
joachim.fasting@gmail.com**20070619214839
 Layout change caused because of missing type argument.
] 
[LayoutHooks.hs: add module header.
joachim.fasting@gmail.com**20070619204504] 
[Factor out pprWindowSet (and Xinerama version) from dynamicLog.
Shachaf Ben-Kiki <shachaf@gmail.com>**20070619183657
 This patch lets you pretty-print a WindowSet to a string, rather than always
 printing it out to stdout directly.
] 
[clean up TwoPane to work on Stacks as it ought.
David Roundy <droundy@darcs.net>**20070619150928] 
[run-xmonad.sh: don't hard-code path to mkfifo.
joachim.fasting@gmail.com**20070619124212
 mkfifo isn't located in /sbin on all distributions (Gentoo puts it in /bin).
 By temporarily appending /sbin to PATH both setups are supported.
 'which' and friends are not viable options since /sbin usually isn't in
 user's PATH by default.
] 
[Anneal.hs: add module header.
joachim.fasting@gmail.com**20070619002849] 
[run-xmonad.sh: use $HOME when setting PATH.
joachim.fasting@gmail.com**20070618234703] 
[Circle.hs: only compute sqrt 2 once.
joachim.fasting@gmail.com**20070618232051] 
[Magnifier.hs: add usage instructions.
joachim.fasting@gmail.com**20070618212215] 
[MagicFocus.hs: add module header and usage instructions.
joachim.fasting@gmail.com**20070618205421] 
[MagicFocus.magicFocus: add type signature.
joachim.fasting@gmail.com**20070618205222] 
[Accordion.hs: add module header and usage instructions.
joachim.fasting@gmail.com**20070618193626] 
[LayoutHints.hs: add usage thingie for Haddock.
joachim.fasting@gmail.com**20070618143234] 
[LayoutHints.hs: add module header.
joachim.fasting@gmail.com**20070618143059] 
[Dzen.hs: add module header.
joachim.fasting@gmail.com**20070618142915] 
[MetaModule.hs: correct module header.
joachim.fasting@gmail.com**20070618191905] 
[Remove all references to exec
Spencer Janssen <sjanssen@cse.unl.edu>**20070618201652] 
[Add Accordion to MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20070618190526] 
[Add an "accordion" layout which puts non-focused windows in ribbons at the top and bottom of the screen.
glasser@mit.edu**20070618153943] 
[RotView.rotView: use Data.Ord.comparing.
joachim.fasting@gmail.com**20070618144502
 Looks a bit cleaner than '\x y -> compare (tag x) (tag y)'
] 
[shrink window names to fit tabs.
David Roundy <droundy@darcs.net>**20070617152340] 
[Tabbed.hs: fixed centerText issues and some binding shadowing warnings
Andrea Rossato <andrea.rossato@unibz.it>**20070617104219
 This patch fixes the centerText issue due to the inappropriate use of
 textExtends and textWidth. Those functions need a FontStruct id to
 operate, and this cannot be retrieved with queryFont (see comments in
 Graphics.X11.Xlib.Font).
 So we now get the FontStruct with loadQueryFont, we set the default
 Xorg fonts and we calculate things for (vertical and horizontal)
 centering.
 It also removes some binding shadows compiler warnings 
] 
[fix leak in Combo.
David Roundy <droundy@darcs.net>**20070616191052
 We leaked decorations, since UnDoLayout wasn't passed to the actual layouts
 that had decorations attached.  :(
] 
[Typo
Spencer Janssen <sjanssen@cse.unl.edu>**20070617000924] 
[Comment only
Spencer Janssen <sjanssen@cse.unl.edu>**20070617000805] 
[Import typo
Spencer Janssen <sjanssen@cse.unl.edu>**20070614211337] 
[Magnifier layout hack
Peter De Wachter <pdewacht@gmail.com>**20070614203219
 This layout hack increases the size of the window that has focus (the master
 window excepted). This causes it to overlap with nearby windows, so not for
 tiling purists :)
 
 Screenshot: http://caladan.rave.org/magnifier.png
] 
[Use Haskell '98 data declaration rather than GADT-style
Spencer Janssen <sjanssen@cse.unl.edu>**20070614205211] 
[WorkspaceDir.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144443] 
[Warp.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144426] 
[TwoPane.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144409] 
[Submap.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144348] 
[Square.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144317] 
[Spiral.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144300] 
[SimpleDate.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144241] 
[RotView.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144225] 
[NoBorders.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144200] 
[NamedWindows.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144135] 
[Mosaic.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144118] 
[metaModule.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144102] 
[HintedTile.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614144019] 
[GreedyView.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614143953] 
[FindEmptyWorkspace.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614143909] 
[DynamicLog.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614143839] 
[DwmPromote.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614143813] 
[Dmenu.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614143753] 
[Decoration.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614143731] 
[Combo.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614143700] 
[Circle.hs: info and documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614143550] 
[BackCompat.hs info e documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070614064850] 
[Tabbed.hs: Get correct color values instead of assuming a 24-bit display
Jason Creighton <jcreigh@gmail.com>**20070613235049
 Using, eg, 0xBBBBBB directly makes assumptions about the server's colormap and
 only works on 24-bit displays.
 
 This patch fetches the colors on every doLayout call, which is ugly, but works.
 It would be nice if we could do all the required initColors only once.
] 
[added info to Commands.hs
Andrea Rossato <andrea.rossato@unibz.it>**20070613190908
 Haddock stuff.
] 
[add bsd-style license for xmonad contrib
Don Stewart <dons@cse.unsw.edu.au>**20070614025454] 
[Update license information
Spencer Janssen <sjanssen@cse.unl.edu>**20070613152829] 
[template for module information e documentation
Andrea Rossato <andrea.rossato@unibz.it>**20070613131029] 
[Remove some debugging statements I forgot about earlier
Stefan O'Rear <stefanor@cox.net>**20070613041112] 
[Update MagicFocus to the new StackSet
Spencer Janssen <sjanssen@cse.unl.edu>**20070613035323] 
[Magic Focus
Peter De Wachter <pdewacht@gmail.com>**20070612175357
 Automatically puts the focused window in the master position. It's magic.
 I wrote this for the Circle layout, but it's actually usable with other
 layouts as well.
] 
[add -fglasgow-exts to some modules that use it.
David Roundy <droundy@darcs.net>**20070612170349] 
[changes to work with Stacks that can't be empty.
David Roundy <droundy@darcs.net>**20070612151209] 
[add Combo and Square to MetaModule.
David Roundy <droundy@darcs.net>**20070612133753] 
[new module NoBorders to let a given layout have windows without borders.
David Roundy <droundy@darcs.net>**20070612133727
 This is designed for layouts like full and tabbed, where the red square
 around the screen actually conveys no information (except for weird windows
 that use the shape extension or something, so that more than one window is
 actually visible).  Save some real estate at no cost.
] 
[make combo sort of work with new doLayout.
David Roundy <droundy@darcs.net>**20070612133027
 For some reason (not entirely clear to me) this doesn't work properly just
 yet with the tabbed layout.  :( But at least it'll compile.  The trouble is
 that we have no way of tracking which tab ought to be visible without
 adding a *lot* of infrastructure.  I'd rather have that infrastructure in
 xmonad proper than reimplement all the focus-handling in combo, so for now
 I'll just delay upgrading my xmonad at work...
] 
[make square work with new doLayout.
David Roundy <droundy@darcs.net>**20070612133009] 
[add "Square" layout.
David Roundy <droundy@darcs.net>**20070612021048
 This is probably only ever useful in combination with Combo.
 It sticks one window in a square region, and makes the rest
 of the windows live with what's left (in a full-screen sense).
] 
[add new combo layout combiner.
David Roundy <droundy@darcs.net>**20070611224922] 
[In Decoration.hs, track rename of ModifyWindows
Stefan O'Rear <stefanor@cox.net>**20070612060713] 
[Refactor Decoration into a general layout-level hooks interface, and a decoration support module on top of that
Stefan O'Rear <stefanor@cox.net>**20070612060210] 
[the Stack can be Empty
Andrea Rossato <andrea.rossato@unibz.it>**20070612055144] 
[Documentation fix
Spencer Janssen <sjanssen@cse.unl.edu>**20070612035655] 
[Comment only
Spencer Janssen <sjanssen@cse.unl.edu>**20070612031305] 
[Fix LayoutHints in the presence of nonzero border widths
Stefan O'Rear <stefanor@cox.net>**20070611005407] 
[add keybinding to make aspect ratio flexible.
David Roundy <droundy@darcs.net>**20070611165915] 
[Note the modules I maintain
Spencer Janssen <sjanssen@cse.unl.edu>**20070611184830] 
[Add MetaModule
Spencer Janssen <sjanssen@cse.unl.edu>**20070611184601] 
[Updates to work with recent API changes
Spencer Janssen <sjanssen@cse.unl.edu>**20070611183439] 
[Rename safeIO to catchIO
Spencer Janssen <sjanssen@cse.unl.edu>**20070611162028] 
[add WorkspaceDir, which sets the current directory in a workspace.
David Roundy <droundy@darcs.net>**20070611154041
 Actually, it sets the current directory in a layout, since there's no way I
 know of to attach a behavior to a workspace.  This means that any terminals
 (or other programs) pulled up in that workspace (with that layout) will
 execute in that working directory.  Sort of handy, I think.
] 
[fmt 
Don Stewart <dons@cse.unsw.edu.au>**20070611053450] 
[added dynamicLogXinerama, a workspace logger that's nicer for Xinerama
Jason Creighton <jcreigh@gmail.com>**20070611051810] 
[redraw decorations on PropertyNotify
Jason Creighton <jcreigh@gmail.com>**20070611021408
 newDecoration now takes a Window parameter, which is the window the decoration
 is "for". If there is a PropertyNotify for that window, the decoration is
 redrawn.
] 
[use safe peek instead of unsafe focus
Jason Creighton <jcreigh@gmail.com>**20070611015437
 Fixes crashing bug with Xinerama where you have a tabbed layout on one screen
 and attempt to switch to an empty workspace on the other.
] 
[make Tabbed respect the y position of the layout rect (statusbar bugfix)
Jason Creighton <jcreigh@gmail.com>**20070610231510] 
[tune layout of Tabbed just a bit.
David Roundy <droundy@darcs.net>**20070610203513] 
[make Decoration set the input mask appropriately.
David Roundy <droundy@darcs.net>**20070610203451] 
[Updates for Layout API change
Spencer Janssen <sjanssen@cse.unl.edu>**20070610203840] 
[color focussed tab differently.
David Roundy <droundy@darcs.net>**20070610195743] 
[update Mosaic for latest changes.
David Roundy <droundy@darcs.net>**20070610145816] 
[maximize rather than minimize the rating.
David Roundy <droundy@darcs.net>**20070601183240] 
[fix error in select.
David Roundy <droundy@darcs.net>**20070601183147] 
[improve changeMosaic.
David Roundy <droundy@darcs.net>**20070601175042] 
[cut obsolete description of mosaic.
David Roundy <droundy@darcs.net>**20070609131456] 
[start switching over to a Monte Carlo algorithm for Mosaic
David Roundy <droundy@darcs.net>**20070601170505] 
[new layout algorithm for Mosaic.
David Roundy <droundy@darcs.net>**20070527191153] 
[display names of windows on tabs.
David Roundy <droundy@darcs.net>**20070610163729] 
[make Decoration draw the window initially.
David Roundy <droundy@darcs.net>**20070610163651
 We still don't respond to expose events.  :(
] 
[Fix name of xmonad-clock in compilation instructions.
glasser@mit.edu**20070610155204] 
[add Decoration module to be used to easily define decorations.
David Roundy <droundy@darcs.net>**20070610153939] 
[add sketch of tabbed layout.
David Roundy <droundy@darcs.net>**20070610153926] 
[make LayoutHints work with new modifyLayout (in X).
David Roundy <droundy@darcs.net>**20070610145740] 
[tag visibles with <N>
Don Stewart <dons@cse.unsw.edu.au>**20070610111931] 
[tweak pkill
Don Stewart <dons@cse.unsw.edu.au>**20070610093027] 
[greedydoc
dave@nullcube.com**20070610091056
 Add documentation on how to use GreedyView as your default workspace switcher.
] 
[use all 3 load values
Don Stewart <dons@cse.unsw.edu.au>**20070610090959] 
[Modified xmonad-clock.c to display battery information from ACPI (will work only on linux though). Also restored three load averages instead of only one.
buisse@cs.chalmers.se**20070610090228] 
[example xinitrc
Don Stewart <dons@cse.unsw.edu.au>**20070610085715] 
[update run-xmonad.sh
Don Stewart <dons@cse.unsw.edu.au>**20070610063915] 
[no need for ./scripts/xmonad-status.c, update run-xmonad.sh
Don Stewart <dons@cse.unsw.edu.au>**20070610062806] 
[add DynamicLog.hs
Don Stewart <dons@cse.unsw.edu.au>**20070610062757] 
[make LayoutHints robust with regard to future addition of Layout fields.
David Roundy <droundy@darcs.net>**20070609173725] 
[remove out of date ./scripts/xmonad-status.hs
Don Stewart <dons@cse.unsw.edu.au>**20070610005107] 
[add new LayoutHints module that makes layouts respect size hints.
David Roundy <droundy@darcs.net>**20070604213716] 
[improve xmonad-status.c
Don Stewart <dons@cse.unsw.edu.au>**20070609140258] 
[Add C script for parsing new logging encoding, and displaying workspace info
Don Stewart <dons@cse.unsw.edu.au>**20070609131856] 
[missing unsetenv
Don Stewart <dons@cse.unsw.edu.au>**20070609090127] 
[add tiny clock program (C) i'm using in the status bar
Don Stewart <dons@cse.unsw.edu.au>**20070609080435] 
[remove obsolete 'examples' dir
Don Stewart <dons@cse.unsw.edu.au>**20070609061450] 
[latest version of xmonad-status.hs
Don Stewart <dons@cse.unsw.edu.au>**20070609060913] 
[remove dead version
Don Stewart <dons@cse.unsw.edu.au>**20070609060857] 
[Circle layout
Peter De Wachter <pdewacht@gmail.com>**20070606064153
 Windows are arranged in a circle around the master window. Rather nice to use
 with a mouse, if you got many windows open.
 
 Screenshot: http://caladan.rave.org/circle.png
] 
[Submap: For creating keyboard submappings
Jason Creighton <jcreigh@gmail.com>**20070606061941] 
[nicer format for dynamic workspaces
Don Stewart <dons@cse.unsw.edu.au>**20070606045705] 
[add script which only draws current workspace, and those with clients
Don Stewart <dons@cse.unsw.edu.au>**20070606044544] 
[In docs, change name of program from mux to xmonad-status.
glasser@mit.edu**20070605140045] 
[Add xmonad-status.hs
Don Stewart <dons@cse.unsw.edu.au>**20070605132108
 
 An external status bar client for xmonad. 
 
 See screenshots:
 
     http://www.cse.unsw.edu.au/~dons/tmp/dons-dzen-status.png
     http://www.cse.unsw.edu.au/~dons/tmp/xmonad-dzen-tags.png
 
] 
[gapless tiled layout obeying size hints
Peter De Wachter <pdewacht@gmail.com>**20070605071716] 
[Contrib package for 6.4 users
daniel@wagner-home.com**20070604225534] 
[XMonadContrib.ReadMap: a Read instance of Map for GHC 6.4 users
daniel@wagner-home.com**20070602064318] 
[keybindings to warp pointer to window center
daniel@wagner-home.com**20070602062328] 
[XMonadContrib.Commands: for workspace and screen commands, leave out W/S tag
glasser@mit.edu**20070601161351] 
[New contrib module: run internal xmonad commands via dmenu
glasser@mit.edu**20070601043849] 
[Note that my xinerama patch is now in dzen.
glasser@mit.edu**20070601041112] 
[Rescreen is in main xmonad now
Spencer Janssen <sjanssen@cse.unl.edu>**20070528050656] 
[replace "name" in NamedWindow with a Show instance.
David Roundy <droundy@darcs.net>**20070526185114] 
[[Spiral] blend in the scale factor so it doesn't have any effect on the smallest windows
joe.thornber@gmail.com**20070525032732] 
[[Spiral] last rect takes all available space
joe.thornber@gmail.com**20070524120239] 
[[Spiral] Introduce a simpler Rect data type to remove a lot of the fromIntegrals
joe.thornber@gmail.com**20070524100423] 
[[Spiral] divideRects now takes a list of directions to split in
joe.thornber@gmail.com**20070524090211] 
[[Spiral] misc tidying
joe.thornber@gmail.com**20070524085537] 
[[Spiral] remove old spiral code
joe.thornber@gmail.com**20070524084805] 
[[Spiral] add fibonacci spiral
joe.thornber@gmail.com**20070524084423] 
[Allow clients of NamedWindows to get at the name.
glasser@mit.edu**20070523184251] 
[dzen module (with xinerama support, which requires glasser's Xinerama patch to dzen)
glasser@mit.edu**20070523184315] 
[Extract NamedWindow support from Mosaic into its own module
glasser@mit.edu**20070523155855] 
[remove SwapFocus (which is no longer possible)
David Roundy <droundy@darcs.net>**20070523153841
 This module depended on the focus stack.
] 
[Fix Spiral's module name
Spencer Janssen <sjanssen@cse.unl.edu>**20070522170909] 
[[SPIRAL] add spiral tiling layout
joe.thornber@gmail.com**20070522062537] 
[Make RotView compile.
Miikka Koskinen <arcatan@kapsi.fi>**20070522075338
 
 As I'm not a Xinerama user, I'm not sure if rotView should consider only
 hidden workspaces or also visible but not focused workspaces. I thought hidden
 workspaces only would be more logical.
] 
[bug fix in DwmPromote. whoops.
Miikka Koskinen <arcatan@kapsi.fi>**20070522062118] 
[make FindEmptyWorkspace compile
Miikka Koskinen <arcatan@kapsi.fi>**20070521123239] 
[make DwmPromote compile
Miikka Koskinen <arcatan@kapsi.fi>**20070521123140] 
[updated Dmenu.hs to work with zipper StackSet
Jason Creighton <jcreigh@gmail.com>**20070521233947] 
[Add GreedyView
Spencer Janssen <sjanssen@cse.unl.edu>**20070521220048] 
[Rescreen: collects new screen information
Spencer Janssen <sjanssen@cse.unl.edu>**20070521164808] 
[Fixes for windowset -> workspace rename
Spencer Janssen <sjanssen@cse.unl.edu>**20070521042118] 
[TwoPane: hide windows that aren't in view
Spencer Janssen <sjanssen@cse.unl.edu>**20070518224240] 
[make Mosaic even less picky by default.
David Roundy <droundy@darcs.net>**20070516175554] 
[add clear window message in Mosaic.
David Roundy <droundy@darcs.net>**20070516175518] 
[Comment only
Spencer Janssen <sjanssen@cse.unl.edu>**20070517211003] 
[Add instructions for TwoPane
Spencer Janssen <sjanssen@cse.unl.edu>**20070517210206] 
[Add TwoPane
Spencer Janssen <sjanssen@cse.unl.edu>**20070517195618] 
[throttle the exponential expense when many windows are present.
David Roundy <droundy@darcs.net>**20070516022123] 
[make mosaic configure windows by name rather than by Window.
David Roundy <droundy@darcs.net>**20070512215644
 Note that this is still pretty flawed.  Often window names change, and the
 layout then stagnates a bit.  Gimp, for example, opens most its windows
 with the same name before renaming them, so you have to hit mod-return or
 something to force a doLayout.  Also, gimp still overrides xmonad regarding
 the size of its main window.  :(
] 
[XMonadContrib.FindEmptyWorkspace
Miikka Koskinen <arcatan@kapsi.fi>**20070513184338
 
 With this module you can find empty workspaces, view them and tag windows to
 them.
] 
[make DwmPromote compile
Miikka Koskinen <arcatan@kapsi.fi>**20070513184254] 
[make DwmPromote compile again
Miikka Koskinen <arcatan@kapsi.fi>**20070510154158] 
[make DwmPromote compile
Miikka Koskinen <arcatan@kapsi.fi>**20070503105236] 
[add SwapFocus.
David Roundy <droundy@darcs.net>**20070512191315] 
[make rotView only consider non-visible workspaces (Xinerama)
Jason Creighton <jcreigh@gmail.com>**20070510012059] 
[fix commend in RotView.
David Roundy <droundy@darcs.net>**20070505185654] 
[switch to Message type for layout messages
Don Stewart <dons@cse.unsw.edu.au>**20070505014332] 
[Fix instructions in Mosaic.
Chris Mears <chris@cmears.id.au>**20070503222345] 
[add Mosaic layout.
David Roundy <droundy@darcs.net>**20070503151024] 
[-Wall police
Spencer Janssen <sjanssen@cse.unl.edu>**20070503211700] 
[Make RotView build, and add a brief description.
Chris Mears <chris@cmears.id.au>**20070503104234] 
[comment: Gave URL to xinerama-enabled dmenu patch
Jason Creighton <jcreigh@gmail.com>**20070503053133] 
[Put dmenu in X too
Spencer Janssen <sjanssen@cse.unl.edu>**20070503053727] 
[Add dmenu (thanks jcreigh)
Spencer Janssen <sjanssen@cse.unl.edu>**20070503052225] 
[add RotView module.
David Roundy <droundy@darcs.net>**20070421233838] 
[XMonadContrib.DwmPromote: dwm-like promote
Miikka Koskinen <arcatan@kapsi.fi>**20070501082031
 I like the way dwm's equivalent to xmonad's promote works, so I
 implemented dwmpromote.
] 
[add simple date example
Don Stewart <dons@cse.unsw.edu.au>**20070429064013] 
[more details
Don Stewart <dons@cse.unsw.edu.au>**20070429061426] 
[add readme
Don Stewart <dons@cse.unsw.edu.au>**20070429061329] 
[Initial import of xmonad contributions
Don Stewart <dons@cse.unsw.edu.au>**20070429061150] 
Patch bundle hash:
fae2d8a60a6de473b120ecc731fafe7e9bbfbf66
