New patches: [Add emptyLayout to LayoutClass, a method to be called when a workspace is empty Andrea Rossato **20080124013207] < > { hunk ./XMonad/Core.hs 221 pureLayout :: layout a -> Rectangle -> Stack a -> [(a, Rectangle)] pureLayout _ r s = [(focus s, r)] + -- | 'emptyLayout' is called when there is no window. + emptyLayout :: layout a -> Rectangle -> X ([(a, Rectangle)], Maybe (layout a)) + emptyLayout _ _ = return ([], Nothing) + -- | 'handleMessage' performs message handling for that layout. If -- 'handleMessage' returns Nothing, then the layout did not respond to -- that message and the screen is not refreshed. Otherwise, 'handleMessage' hunk ./XMonad/Core.hs 245 instance LayoutClass Layout Window where doLayout (Layout l) r s = fmap (fmap Layout) `fmap` doLayout l r s + emptyLayout (Layout l) r = fmap (fmap Layout) `fmap` emptyLayout l r handleMessage (Layout l) = fmap (fmap Layout) . handleMessage l description (Layout l) = description l hunk ./XMonad/Core.hs 253 -- | This calls doLayout if there are any windows to be laid out. runLayout :: LayoutClass l a => l a -> Rectangle -> Maybe (Stack a) -> X ([(a, Rectangle)], Maybe (l a)) -runLayout l r = maybe (return ([], Nothing)) (doLayout l r) +runLayout l r = maybe (emptyLayout l r) (doLayout l r) -- | Based on ideas in /An Extensible Dynamically-Typed Hierarchy of Exceptions/, -- Simon Marlow, 2006. Use extensible messages to the handleMessage handler. hunk ./XMonad/Layout.hs 56 instance (LayoutClass l a, LayoutClass r a) => LayoutClass (Choose l r) a where doLayout (SLeft r l) = (fmap (second . fmap $ SLeft r) .) . doLayout l doLayout (SRight l r) = (fmap (second . fmap $ SRight l) .) . doLayout r + + emptyLayout (SLeft r l) = (fmap (second . fmap $ SLeft r) .) $ emptyLayout l + emptyLayout (SRight l r) = (fmap (second . fmap $ SRight l) .) $ emptyLayout r description (SLeft _ l) = description l description (SRight _ r) = description r } Context: [Updated ./man/xmonad.1.in to contain new command line parameters Austin Seipp **20080122070153] [Depend on QuickCheck < 2 when building tests Spencer Janssen **20080122070225] [Roll testing into the main executable, use Cabal to build the tests Spencer Janssen **20080119091215] [Simplify duplicate/cloned screen logic Spencer Janssen **20080118032228] [Put the screen removing stuff in getCleanedScreenInfo Joachim Breitner **20071231181556] [Ignore cloned screens Joachim Breitner **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 **20080118014827] [Export doubleFork nicolas.pouillard@gmail.com**20080114202612] [reword comment (previous version didn't make sense to me) Lukas Mai **20071122165925] [The recompile function now returns a boolean status instead of (). nicolas.pouillard@gmail.com**20080105225500] [Make focus-follows-mouse configurable Spencer Janssen **20071229023301] [Strictify all XConfig fields, gives nice error messages when a field is forgotten on construction Spencer Janssen **20071229021923] [Spelling Spencer Janssen **20071229021628] [Wibble Spencer Janssen **20071229021519] [Broadcast button events to all layouts, fix for issue #111 Spencer Janssen **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 **20071220201549] [Remove desktop manageHook rules in favor of ManageDocks Spencer Janssen **20071222113735] [Wibble Spencer Janssen **20071222041151] [Add support for several flags: Spencer Janssen **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 **20071219215011] [Flush pending X calls before restarting Spencer Janssen **20071219162029] [Allow for sharing of home directory across architectures. tim.thelion@gmail.com**20071218065146] [Call 'broadcastMessage ReleaseResources' in restart Spencer Janssen **20071219065710] [Manpage now describes config in ~/.xmonad/xmonad.hs Adam Vogt **20071219023918] [Update manpage to describe greedyView Adam Vogt **20071219023726] [Depend on X11-1.4.1, it has crucial bugfixes Spencer Janssen **20071215022100] [1.4.1 X11 dep Don Stewart **20071214160558] [Set withdrawnState after calling hide Spencer Janssen **20071212060250] [Remove stale comment Spencer Janssen **20071211084236] [Make windows responsible for setting withdrawn state Spencer Janssen **20071211080117] [Remove stale comment Spencer Janssen **20071211075641] [Clean up stale mapped/waitingUnmap state in handle rather than unmanage. Spencer Janssen **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 **20071211074506] [man/xmonad.hs: add some documentation explaining that 'title' can be used in the manageHook just like 'resource' and 'className'. Brent Yorgey **20071210173357] [normalize Module headers Lukas Mai **20071210085327] [Add 'testing' mode, this should reduce 'darcs check' time significantly Spencer Janssen **20071210004704] [Use XMonad meta-module in Main.hs Spencer Janssen **20071210004456] [TAG 0.5 Spencer Janssen **20071209233044] Patch bundle hash: 37e8b91590e3ffda2d8c4fc231013669a4c29558