[xmonad] Floats always go to the current screen (Patch)
Robert
robreim at bobturf.org
Thu Apr 3 00:17:04 EDT 2008
That's the one. How's it not Xinerama safe? Maybe I can fix that.
Don Stewart wrote:
> Hmm,
>
> Fri Mar 21 14:41:29 PDT 2008 Don Stewart <dons at galois.com>
> * Revert float location patch. Not Xinerama safe
>
> Fri Mar 7 18:19:39 PST 2008 robreim at bobturf.org
> * Small linecount fix :)
>
> Fri Mar 7 17:58:29 PST 2008 robreim at bobturf.org
> * Change floats to always use the current screen
>
> Or were you thinking of something else?
>
> -- Don
>
>
> robreim:
>> This patch was previously applied but now seems to have disappeared in
>> the latest darcs xmonad. Does anyone know what happened?
>>
>>
>> Robert wrote:
>>> When opening new floating windows on a multihead display, they will
>>> often unpredictably appear on a different screen to the one that
>>> currently has focus. Example:
>>>
>>> Bind a key to run 'gmrun'. Run gmrun from one screen and take note of
>>> which screen it appears on. Switch to another screen and do the same
>>> thing. gmrun will generally appear on the same screen each time.
>>>
>>> This seems unpredictable to me. I think new windows should always appear
>>> on the current workspace (unless it's transient perhaps). This allows me
>>> to, for example, choose which screen a new window appears on by
>>> switching to it first. In the current situation, I have to somehow
>>> remember where X prefers to launch an application and try to arrange my
>>> workspaces and screens such that the application will appear in the
>>> right location.
>>>
>>> This patch makes new float windows appear on the current screen as I
>>> think they should. The contrib patch makes contrib compatible with this
>>> change.
>>>
>>> I've undone some of the floating layer work in this patch. It seems the
>>> floating layer stuff was written explicitly to support the current way
>>> of placing floating windows. If there were good reasons for this
>>> functionality, please convince me my patch does the wrong thing.
>>> Otherwise, I think this patch has the benefit of being more predictable
>>> and simpler in code.
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> New patches:
>>>
>>> [Fix to work with "floats always use current screen" patch
>>> robreim at bobturf.org**20080308024928] {
>>> hunk ./XMonad/Hooks/ManageHelpers.hs 143
>>> -doCenterFloat = ask >>= \w -> doF . W.float w . center . snd =<< liftX
>>> (floatLocation w)
>>> +doCenterFloat = ask >>= \w -> doF . W.float w . center =<< liftX
>>> (floatLocation w)
>>> }
>>>
>>> Context:
>>>
>>> [Fix ThreeColumns doc.
>>> Roman Cheplyaka <roma at ro-che.info>**20080307203022]
>>> [Shell: add support for UTF-8 locales
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080302095924]
>>> [Font and XUtils: add UTF-8 support and various fixes related to XFT
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080302095712
>>> - printStringXMF: use the background color for XFT fonts too
>>> - textWidthXMF now returns the text width even with xft fonts
>>> - textExtentsXMF will now return only the ascend and the descent of a
>>> string.
>>> - stringPosition now takes the display too
>>> - add support for UTF-8 locales: if the contrib library is compiled
>>> with the 'with_xft' or the 'with_utf8' option the prompt and the
>>> decoration system will support UTF-8 locales - this requires
>>> utf8-strings.
>>> ]
>>> [Ssh: coding style
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080229100346]
>>> [Ssh: complete known hosts with non standard ports too
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080229095014]
>>> [Fix xmonadPromptC and use it.
>>> nicolas.pouillard at gmail.com**20080306163928]
>>> [Documentation typo about UpdatePointer.
>>> nicolas.pouillard at gmail.com**20080306163516]
>>> [Fix ToggleOff: It was adding 0.1 to the magnification.
>>> Braden Shepherdson <Braden.Shepherdson at gmail.com>**20080305222302]
>>> [Removed WmiiActions module.
>>> Juraj Hercek <juhe_xmonad at hck.sk>**20080305082336]
>>> [Adjusted signature of DirExec module functions.
>>> Juraj Hercek <juhe_xmonad at hck.sk>**20080301171905
>>> - added parameter for function which executes the selected program
>>> - renamed dirExecPromptWithName to dirExecPromptNamed
>>> ]
>>> [Import of new DirExec module.
>>> Juraj Hercek <juhe_xmonad at hck.sk>**20080229212257
>>> - allows execution of executable files from specific directory
>>> ]
>>> [Hooks.DynamicLog: export xmobarPP
>>> Dmitry Kurochkin <dmitry.kurochkin at gmail.com>**20080303215637]
>>> [Magnifier: fix behavior for windows on the bottom + right of the screen.
>>> Now all magnified windows will be the same size, possibly shifted in order
>>> to fit completely on the screen.
>>> Brent Yorgey <byorgey at gmail.com>**20080303204619]
>>> [Util.Run: minor clarification in comment
>>> gwern0 at gmail.com**20080303051513]
>>> [Add XMonad.Actions.PerWorkspaceKeys
>>> Roman Cheplyaka <roma at ro-che.info>**20080302202346]
>>> [Haddock fix: Changed URL-Markup
>>> Dominik Bruhn <dominik at dbruhn.de>**20080302185435]
>>> [switch Droundy to smartBorders (which works better with ScratchWorkspace).
>>> David Roundy <droundy at darcs.net>**20080301191103]
>>> [Changed semantics of UpdatePointer to move to nearest point
>>> robreim at bobturf.org**20080301143126]
>>> [UpdatePointer XMonadContrib module
>>> robreim at bobturf.org**20080301134401]
>>> [XMonad.Layout.Simplest: add FlexibleInstances pragma
>>> Lukas Mai <l.mai at web.de>**20080301061714]
>>> [XMonad.Layout.ScratchWorkspace: avoid warnings, make tests compile again
>>> Lukas Mai <l.mai at web.de>**20080301061625]
>>> [implement ScratchWorkspace.
>>> David Roundy <droundy at darcs.net>**20080229224316]
>>> [in Prompt.Workspace sort by official workspace order.
>>> David Roundy <droundy at darcs.net>**20080229223047]
>>> [simplify Simplest--allow it to apply to non-Windows.
>>> David Roundy <droundy at darcs.net>**20080229221326]
>>> [XMonad.Actions.MouseGestures.mkCollect: generalize type
>>> Lukas Mai <l.mai at web.de>**20080229211732]
>>> [Add bottom-tabbed layout.
>>> Roman Cheplyaka <roma at ro-che.info>**20080229155120]
>>> [XMonad.Actions.MouseGestures: refactoring, code simplification
>>> Lukas Mai <l.mai at web.de>**20080229002136
>>>
>>> It is now possible to get "live" status updates while the gesture handler
>>> is running. I use this in my xmonad.hs to print the current gesture to my
>>> status bar. Because collecting movements is now the callback's job, the
>>> implementation of mouseGestureH got quite a bit simpler. The interface is
>>> incompatible with the previous mouseGestureH but the old mouseGesture
>>> function works as before.
>>>
>>> ]
>>> [EZConfig: additional documentation
>>> Brent Yorgey <byorgey at gmail.com>**20080227164602]
>>> [XMonad.Util.Scratchpad: change 'XConfig Layout' to 'XConfig l', to avoid
>>> type mismatches; the exact layout type doesn't actually matter
>>> Brent Yorgey <byorgey at gmail.com>**20080227014201]
>>> [EZConfig: add an emacs-style keybinding parser!
>>> Brent Yorgey <byorgey at gmail.com>**20080226222723
>>> Now, instead of writing out incredibly dull things like
>>>
>>> ((modMask conf .|. controlMask .|. shiftMask, xK_F2), ...)
>>>
>>> you can just write
>>>
>>> ("M-C-S-<F2>", ...)
>>>
>>> Hooray!
>>> ]
>>> [Xmonad.Actions.MouseGestures: generalize interface, allow hooks
>>> Lukas Mai <l.mai at web.de>**20080226202639]
>>> [update inactive debugging code in MouseGestures; no visible changes
>>> Lukas Mai <l.mai at web.de>**20071109020755]
>>> [Scratchpad terminal
>>> Braden Shepherdson <Braden.Shepherdson at gmail.com>**20080225183633
>>>
>>> Key binding and ManageHook to pop up a small, floating terminal window
>>> for a few quick commands.
>>>
>>> Combined with a utility like detach[1], makes a great X application
>>> launcher.
>>>
>>> Requires my two new ManageHooks (doRectFloat, specifically).
>>>
>>> [1] http://detach.sourceforge.net
>>> ]
>>> [Two new floating window ManageHooks.
>>> Braden Shepherdson <Braden.Shepherdson at gmail.com>**20080225183337
>>>
>>> Adds doRectFloat, which floats the new window in the given rectangle; and
>>> doCenterFloat, which floats the new window with its original size, but
>>> centered.
>>> ]
>>> [Fix usage doc.
>>> Roman Cheplyaka <roma at ro-che.info>**20080225062330]
>>> [Fix haddock hyperlink.
>>> Roman Cheplyaka <roma at ro-che.info>**20080224205416]
>>> [Add XMonad.Layout.IM
>>> Roman Cheplyaka <roma at ro-che.info>**20080221085752]
>>> [Export XMonad.Layout.Grid.arrange (for use in XMonad.Layout.IM)
>>> Roman Cheplyaka <roma at ro-che.info>**20080221062204]
>>> [Decoration: some haddock updates
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080220214934]
>>> [Small refactoring.
>>> Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20080210224756]
>>> [Fixed off-by-one error which broke strut handling for some panels.
>>> Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20080210222600]
>>> [Decoration: fix an issue with decoration window creation and more
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080220204355
>>> - fix a bug reported by Roman Cheplyaka: when decorate returned
>>> Nothing the window was never going to be created, even if decorate
>>> was reporting a Just Rectangle in the next run. Quite a deep issue,
>>> still visible only with TabbedDecoration at the present time.
>>> - remove decorateFirst (decorate has enough information to decide
>>> whether a window is the first one or not, am I right, David?)
>>> - some point free.
>>> ]
>>> [DynamicLog.hs: haddock fix
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080220204033
>>>
>>> Someone forgot to check if her patch was going to break haddock docs
>>> generation or not. So, while I was recording a patch with quite a long
>>> description I had to manually write - sound strange? -, I found out
>>> that my patch did not pass the tests, because of this haddock problem
>>> left behind.
>>>
>>> And so I fixed it, recorded this patch, with the hope the my next
>>> description of the next patch I'm going to record will survive the
>>> test suite we created to avoid this kind of problems for.
>>> ]
>>> [improvements to XMonad.Hooks.DynamicLog, and new contrib module
>>> XMonad.Util.Loggers
>>> Brent Yorgey <byorgey at gmail.com>**20080219210128
>>> Improvements to DynamicLog include:
>>> * Greatly expanded and improved documentation and examples
>>> * remove seemingly useless makeSimpleDzenConfig function
>>> * factor out xmobarPP
>>> * add new ppExtras field to PP record, for specifying 'extra'
>>> loggers which can supply information other than window title,
>>> layout, and workspace status to a status bar (for example, time and
>>> date,
>>> battery status, mail status, etc.)
>>>
>>> The new XMonad.Util.Loggers module provides some example loggers that
>>> can be used in the new ppExtras field of the PP record. Create your own,
>>> add them to this module, go crazy! =)
>>>
>>> ]
>>> [LayoutHints: fix a wrong fix
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080219165127
>>> The case analisys of my fix should be the other way around... this is
>>> the real fix.
>>> ]
>>> [Arossato: updated to latest changes
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080219163058]
>>> [Decoration: comment only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080219161339
>>> This is a detailed commentary of all the code.
>>> ]
>>> [Decoratione: generate rectangles first, and create windows accordingly
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080219122115
>>> With this patch Decoration will first generate a rectangle and only if
>>> there is a rectangle available a window will be created.
>>>
>>> This makes the Decoration state a bit more difficult to process, but
>>> should reduce resource consumption.
>>> ]
>>> [Fix doc for Tabbed
>>> Roman Cheplyaka <roma at ro-che.info>**20080219055650]
>>> [Tabbed and TabBarDecoration: no need to implement decorateFirst (the
>>> default is used)
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080218184950]
>>> [TabBarDecoration: simpleTabBar automatically applies resizeVertical
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080218180922
>>> Added some comments too.
>>> ]
>>> [DwmStyle: comment fix only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080218180727]
>>> [ResizeScreen: add resizeHorizontalRight and resizeVerticalBottom
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080218180504]
>>> [Add TabBarDecoration, a layout modifier to add a bar of tabs to any layout
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080218161121
>>> ... and port DecorationMadness to the new system.
>>> ]
>>> [add Eq superclass to DecorationStyle and change styles in order not to
>>> decorate non managed windows
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080218131320]
>>> [Refactor MouseResize, remove isDecoration and introduce isInStack,
>>> isVisible, isInvisible
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080218105726
>>> This patch includes several changes, which are strictly related and
>>> cannot be recorded separately:
>>> - remove Decoraion.isDecoartion and introduce Decoration.isInStack
>>> (with the related change to LayoutHints)
>>> - in Decoration introduce useful utilities: isVisible, isInvisible,
>>> isWithin and lookFor'
>>> - MouseResize: - invisible inputOnly windows will not be created;
>>> - fix a bug in the read instance which caused a failure
>>> in the state deserialization.
>>> ]
>>> [Prompt: regenerate completion list if there's just one completion
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080217132734]
>>> [Prompt.Theme: use mkComplFunFromList' to generate completions
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080217124453]
>>> [some code formatting
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080217124434]
>>> [Prompt: comment only (clafiry completionToCommand uses)
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216181620]
>>> [Prompt: comment only (remove confusing remarks about commandToComplete)
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216180412]
>>> [Prompt: haddock fixes only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216172331]
>>> [Prompt.XMonad: use mkComplFunFromList' to get all the completions with an
>>> empty command line
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216133949]
>>> [Prompt.Window: remove unneeded and ugly escaping/unescaping
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216133842]
>>> [Theme: move theme's nextCompletion implementation to
>>> Prompt.getNextCompletion
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216133738]
>>> [Shell: escape the string in the command line only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216133651]
>>> [Prompt: add some methods to make completions more flexible
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216133454
>>> - now it is possible to decide if the prompt will complete the last
>>> word of the command line or the whole line (default is the last
>>> word);
>>> - completing the last word can be fine tuned by implementing
>>> 'commandToComplete' and 'completionToCommand': see comments for
>>> details;
>>> - move mkComplFunFromList' from TagWindows to Prompt.
>>> ]
>>> [Prompt.Theme: display all theme information and handle completion
>>> accordingly
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216114159]
>>> [Prompt.Shell: if there's just one completion and it is a directory add a
>>> trailing slash
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216114005]
>>> [Prompt: added nextCompletion and commandToComplete methods to fine tune
>>> prompts' completion functions
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216113723]
>>> [Util.Themes: add ppThemeInfor to render the theme info
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080216113635]
>>> [DecorationMadness: resizable layouts now use MouseResize too
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080212173645]
>>> [SimpleFloat now uses MouseResize
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080212173615]
>>> [Add Actions.MouseResize: a layout modifier to resize windows with the
>>> mouse
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080212173455]
>>> [Decoration: remove mouse resize and more
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080212165306
>>> - since mouse resize is not related to decoration, I removed the code
>>> from here. Mouse resize will be handled by a separated layout
>>> modifier (in a separated module)
>>> - now also stacked decoration will be removed (I separated insert_dwr
>>> from remove_stacked)
>>> ]
>>> [Decoration.hs: variable names consistency only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080211123056]
>>> [Tabbed and SimpleTabbed (in DecorationMadness) define their own
>>> decorationMouseDragHook method
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080211114043
>>> ... to disable mouse drag in tabbed layouts
>>> ]
>>> [Decoration: DecorationStyle class cleanup and focus/drag unification
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080211113650
>>> - moved decoEventHook to decorationEventHook
>>> - added decorationMouseFocusHook, decorationMouseDragHook,
>>> decorationMouseResizeHook methods
>>> - added a handleMouseFocusDrag to focus and drag a window (which makes
>>> it possible to focus *and* drag unfocused windows too
>>> ]
>>> [Refactor XMonad.Hooks.DynamicLog
>>> Roman Cheplyaka <roma at ro-che.info>**20080210222406
>>> This allows using DynamicLog not only for statusbar.
>>> ]
>>> [DecorationMadness: comment only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080210131427]
>>> [DecorationMadness: added a few floating layouts
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080210122523]
>>> [SimpleFloat: export SimpleFloat and add documentation
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080210113159]
>>> [Move DefaultDecoration from DecorationMadness to Decoration
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080210104304]
>>> [Themes: added robertTheme and donaldTheme
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080210083016]
>>> [DecorationMadness: make tunable tabbed layouts respect the Theme
>>> decoHeight field
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080210075322]
>>> [ScreenResize: vertical and horizontal now respond to SetTheme
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080210074544
>>> And so they will change the screen dimension accordingly.
>>> ]
>>> [WindowGo.hs: fix syntax in example
>>> Brent Yorgey <byorgey at gmail.com>**20080209225135]
>>> [+doc for WindowGo.hs: I've discovered a common usecase for me for
>>> raiseMaybe
>>> gwern0 at gmail.com**20080205032155]
>>> [Run.hs: add an option to runinterms
>>> gwern0 at gmail.com**20080205031824
>>> It turns out that for urxvt, and most terminal, apparently, once you give
>>> a '-e' option, that's it.
>>> They will not interpret anything after that as anything but input for
>>> /bin/sh, so if you wanted to go 'runInTerm "'screen -r session' -title
>>> IRC"',
>>> you were SOL - the -title would not be seen by urxvt. This, needless to
>>> say, is bad, since then you can't do stuff like set the title which means
>>> various hooks and extensions are helpless. This patch adds an extra
>>> options argument which is inserted *before* the -e. If you want the old
>>> behaivour,
>>> you can just go 'runInTerm "" "executable"', but now if you need to do
>>> something extra, 'runInTerm "-title mutt" "mutt"' works fine.
>>>
>>> This patch also updates callers.
>>> ]
>>> [Add DecorationMadness: a repository of weirdnesses
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080209182515]
>>> [Decoration: change mouseEventHook to decoEventHook and more
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080209165101
>>> Fix also the problem with window's movement when the grabbing starts
>>> ]
>>> [Tabbed: add simpleTabbed and fx documentation
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080209163917
>>> simpleTabbed is just a version of tabbed with default theme and
>>> default srhinker.
>>> ]
>>> [Arossato: update to latest changes
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080208140604]
>>> [Decoration: enable mouse dragging of windows
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080208083602]
>>> [WindowArranger: add a SetGeometry message - needed to enable mouseDrag
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080208083413]
>>> [Decoration: add a mouseEventHook methohd and move mouse button event there
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080208073514]
>>> [Util.Thems: some more typos in comments
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207233341]
>>> [Util.Themes: documentation and export list (added themes that have been
>>> left out)
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207232251]
>>> [Prompt.Theme: comments and some point-free
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207232155]
>>> [oxymor00nTheme
>>> <its.sec at gmx.net>**20080207213100]
>>> [add swapScreen to CycleWS
>>> <its.sec at gmx.net>**20080206191032
>>> * add support for swapping the workspaces on screens to CycleWS
>>> ]
>>> [Decoration: consistency of variable names
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207191442
>>> Since the configuration is now called Theme, the variable 'c' is now a
>>> 't'
>>> ]
>>> [Add Prompt.Theme: a prompt for dynamically applying a theme to the
>>> current workspace
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207184321]
>>> [Decoration: add a SetTheme message and releaseResources
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207184048
>>> ...which should make it harder to forget to release the font structure.
>>> ]
>>> [cabal file: respect alphabetic order for modules
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207183153]
>>> [Add Util.Themes to collect user contributed themes
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207182843]
>>> [SimpleFloat: comment only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080207182438]
>>> [Update to safer initColor api
>>> Don Stewart <dons at galois.com>**20080206192232]
>>> [use Util.WorkspaceCompare in Prompt.Workspace.
>>> David Roundy <droundy at darcs.net>**20080206004057]
>>> [roll back to previous version of Droundy.hs.
>>> David Roundy <droundy at darcs.net>**20080205204043
>>>
>>> A cleaner WindowNavigation fix made the separation of tabbed and addTabs
>>> not strictly necessary (but still a desireable possibility in my opinion,
>>> as it allows pretty decoration of non-composite layouts that might want to
>>> have some of their windows tabbed.
>>> ]
>>> [make WindowNavigation ignore decorations.
>>> David Roundy <droundy at darcs.net>**20080205203556]
>>> [make tabbed work nicely with LayoutCombinators and WindowNavigation.
>>> David Roundy <droundy at darcs.net>**20080205202343
>>> The problem is that WindowNavigation assumes all windows are navigable,
>>> and
>>> it was getting confused by decorations. With a bit of work, we can
>>> decorate windows *after* combining layouts just fine.
>>> ]
>>> [make WindowNavigation work when windows are stacked.
>>> David Roundy <droundy at darcs.net>**20080205202027]
>>> [ XMonad.Actions.WindowGo: add a runOrRaise module for Joseph Garvin with
>>> the help of Spencer Janssen
>>> gwern0 at gmail.com**20080204173402]
>>> [enable proper handling of panels in droundy config.
>>> David Roundy <droundy at darcs.net>**20080204030843]
>>> [enable button click for focus in tabbed.
>>> David Roundy <droundy at darcs.net>**20080204010536
>>> Note that this patch doesn't work with
>>>
>>> Thu Dec 27 03:03:56 EST 2007 Spencer Janssen <sjanssen at cse.unl.edu>
>>> * Broadcast button events to all layouts, fix for issue #111
>>>
>>> but this isn't a regression, since button events have never worked with
>>> tabbed and this change.
>>> ]
>>> [in Decoration, remove windows that are precisely hidden underneath other
>>> windows.
>>> David Roundy <droundy at darcs.net>**20080204005413
>>> This is needed for WindowNavigation to work properly with the new
>>> Decorations framework.
>>> ]
>>> [switch tabbed back to using Simplest (so tabs will be shown).
>>> David Roundy <droundy at darcs.net>**20080204005350]
>>> [CycleWS: change example binding for toggleWS from mod-t to mod-z.
>>> example bindings shouldn't conflict with default key bindings.
>>> Brent Yorgey <byorgey at gmail.com>**20080201202126]
>>> [REMOVE RotView: use CycleWS instead.
>>> Brent Yorgey <byorgey at gmail.com>**20080201180618
>>> See CycleWS docs for info on switching, or just look at the changes to
>>> XMonad.Config.Droundy.
>>> ]
>>> [CycleWS: add more general functionality that now subsumes the
>>> functionality of RotView. Now with parameterized workspace sorting and
>>> predicates!
>>> Brent Yorgey <byorgey at gmail.com>**20080201121524]
>>> [WorkspaceCompare: some refactoring.
>>> Brent Yorgey <byorgey at gmail.com>**20080201120430
>>> * Export WorkspaceCompare and WorkspaceSort types.
>>> * Extract commonality in sort methods into mkWsSort, which creates
>>> a workspace sort from a workspace comparison function.
>>> * Rename getSortByTag to getSortByIndex, since it did not actually sort
>>> by tag at all; it sorts by index of workspace tags in the user's
>>> config.
>>> * Create a new getSortByTag function which actually does sort
>>> lexicographically by tag.
>>> * Enhance documentation.
>>> ]
>>> [Search.hs: haddock cleanup
>>> Brent Yorgey <byorgey at gmail.com>**20080131161948]
>>> [Added a handy tip to the documentation of XMonad.Actions.Search
>>> v.dijk.bas at gmail.com**20080131122620
>>> The tip explains how to use the submap action to create a handy submap of
>>> keybindings for searching.
>>> ]
>>> [Make LayoutHints a decoration aware layout modifier
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080131082314]
>>> [Remove LayoutCombinator class and revert PerWorkspace to its Maybe Bool
>>> state
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080131063929
>>> As I said in order to have a CombinedLayout type instace of
>>> LayoutClass and a class for easily writing pure and impure combinators
>>> to be feeded to the CombinedLayout together with the layouts to be
>>> conbined, there's seems to be the need to change the type of the
>>> LayoutClass.description method from l a -> String to l a -> X String.
>>>
>>> Without that "ugly" change - loosing the purity of the description
>>> (please note the *every* methods of that class unless description
>>> operates in the X monad) - I'm plainly unable to write something
>>> really useful and maintainable. If someone can point me in the right
>>> direction I would really really appreciate.
>>>
>>> Since, in the meantime, PerWorkspace, which has its users, is broken
>>> and I broke it, I'm reverting it to it supposedly more beautiful
>>> PerWorkspac [WorkspaceId] (Maybe Bool) (l1 a) (l2 a) type.
>>> ]
>>> [Extending.hs: documentation update
>>> Brent Yorgey <byorgey at gmail.com>**20080131012728]
>>> [DynamicLog: lots of additional documentation; add byorgeyPP as an example
>>> dzen config
>>> Brent Yorgey <byorgey at gmail.com>**20080130205219]
>>> [Extended PP with sorting algorithm specification and added xinerama
>>> sorting
>>> Juraj Hercek <juhe_xmonad at hck.sk>**20080109154923
>>> algorithm
>>> - idea is to specify sorting algorithm from user's xmonad.hs
>>> - xinerama sorting algorithm produces same ordering as
>>> pprWindowSetXinerama
>>> - default ppSort is set to getSortByTag, so the default functionality
>>> is the same as it was before
>>> ]
>>> [SimpleDecoration: export defaultTheme
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080130124609]
>>> [Various decorations related updates
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080130064624
>>> * remove deprecated TConf stuff
>>> * Remove 'style' from DeConf
>>> * Change DeConf to Theme
>>> * share defaultTheme across all decorations
>>> ]
>>> [TwoPane: add description string
>>> Joachim Fasting <joachim.fasting at gmail.com>**20080126141332]
>>> [add XMonad.Actions.CycleSelectedLayouts
>>> Roman Cheplyaka <roma at ro-che.info>**20080116205020]
>>> [Search.hs: add documentation and two more search engines (MathWorld and
>>> Google Scholar)
>>> Brent Yorgey <byorgey at gmail.com>**20080128190443]
>>> [xmonad-contrib.cabal: add build-type field to get rid of Cabal warning
>>> Brent Yorgey <byorgey at gmail.com>**20080128190137]
>>> [LayoutCombinator class: code clean up
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080129224952
>>> - ComboType becomes CombboChooser
>>> - removed the stupid doFirst
>>> - better comboDescription default implemenation
>>> ]
>>> [Add a LayoutCombinator class and a CombinedLayout and port PerWorkspace
>>> to the new system
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080129192903]
>>> [Named: reimplemented as a LayoutModifier and updated Config.Droundy
>>> accordingly
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080128161343]
>>> [LayoutModifier: add modifyDescription for completely override the
>>> modified layout description
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080128160614]
>>> [Make ToggleLayouts and Named implement emptyLayout
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080128151535]
>>> [Decoration: the fontset must be released even when we don't decorate the
>>> first window
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080128004411
>>> This is quite an old bug! It affected Tabbed since the very beginning..;)
>>> ]
>>> [Decoration: I forgot we need to release the fontset too!
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127233521]
>>> [Decoration: after deleting the windows we must update the layout modifier
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127231815
>>> Thanks to Feuerbach for reporting this.
>>> ]
>>> [Reflect: reimplemented as a layout modifier (which makes it compatible
>>> with windowArranger and decoration)
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127165854]
>>> [SimpleFLoat: change the description to Float (Simple is the decoration
>>> description)
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127144556]
>>> [ManageDocks: implement AvoidStruts as a layout modifier
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127144301]
>>> [ResizeScreen has been rewritten as a layout modifier
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127140837]
>>> [LayoutModifier add a modifyLayout
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127140219
>>> Many layouts are written as layout modifiers because they need to
>>> change the stack of the rectangle before executing doLayout.
>>>
>>> This is a major source of bugs. all layout modifiers should be using the
>>> LayoutModifier class. This method (modifyLayout) can be used to
>>> manipulate the rectangle and the stack before running doLayout by the
>>> layout modifier.
>>> ]
>>> [Make LayoutCombinators deal with emptyLayout
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127092415]
>>> [Add ResizeScreen, a layout modifier for modifing the screen geometry
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080127010755]
>>> [WindowArranger can now arrange all windows
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126233053
>>> This is useful for SimpleFloat, whose state can now persists across
>>> layout switches.
>>> ]
>>> [Arossato: updated my config to recent changes
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126205638]
>>> [Add SimpleFloat a very basic floating layout that will place windows
>>> according to their size hints
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126205410]
>>> [WindoWrranger: export the WindowArranger type (see the upcoming
>>> SimpleFloat)
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126204605]
>>> [ShowWName: show the name of empty layouts too
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126190214]
>>> [ManageDocks: add emptyLayout definition for supporting the new decoration
>>> framework
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126185936]
>>> [Decoration: code formatting only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126101354]
>>> [export DeConfig to avoid importing Decoration
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126101049]
>>> [Prompt: code formatting only
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126093234]
>>> [Don't export TConf anymore and export DeConfig instead
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080126092141
>>> WARNING: this patch may be breaking your configuration. While it is
>>> still possible to use:
>>>
>>> tabbed shrinkText defaultTConf
>>>
>>> updating the fields of the defaultTConf record is not possible
>>> anymore, since the type TConf is now hidden.
>>>
>>> WARNING: "tabSize" has been substituted by "decoHeight"
>>>
>>> You can change your configuration this way:
>>> myTConf :: TConf
>>> myTConf = defaultTConf
>>> { tabSize = 15
>>> , etc....
>>>
>>> becomes:
>>> myTConf :: DeConfig TabbedDecoration Window
>>> myTConf = defaultTabbedConfig
>>> { decoHeight = 15
>>> , etc....
>>>
>>> and
>>> tabbed shrinkText myTConf
>>>
>>> becomes:
>>> tabDeco shrinkText myTConf
>>>
>>> ]
>>> [Tabbed now uses Decoration
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080125152311]
>>> [Add DwmStyle, a layout modifier to add dwm-style decorations to windows
>>> in any layout
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080125152152]
>>> [Adde SimpleDecoration, a layout modifier to add simple decorations to
>>> windows in any layout
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080125152106]
>>> [Add Layout.Simplest, the simplest layout
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080125152015]
>>> [Add Decoration, a layout modifier and a class for easily writing
>>> decorated layouts
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080125151726]
>>> [Add WindowArranger, a layout modifier to move and resize windows with the
>>> keyboard
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080125151633]
>>> [ShowWName: moved fi to XUtils
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080124134725]
>>> [XUtils: add functions for operating on lists of windows and export fi
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080124134638]
>>> [LayoutModifier: add emptyLayoutMod for dealing with empty workspaces
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080124015605]
>>> [LayoutModifier: add pureMess and pureModifier to the LayoutModifier class
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080122111319]
>>> [Layout.ShowWName: generalize the instance
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080115045139]
>>> [add emptyLayout to MultiToggle
>>> Lukas Mai <l.mai at web.de>**20080128175313]
>>> [grammar fix
>>> Lukas Mai <l.mai at web.de>**20080128175059]
>>> [TAG 0.6
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080127222114]
>>> Patch bundle hash:
>>> 3bbcbe93e994691f7bb76f141aa787c9b20e8a21
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> New patches:
>>>
>>> [Change floats to always use the current screen
>>> robreim at bobturf.org**20080308015829] {
>>> hunk ./XMonad/ManageHook.hs 74
>>> -doFloat = ask >>= \w -> doF . W.float w . snd =<< liftX (floatLocation w)
>>> +doFloat = ask >>= \w -> doF . W.float w =<< liftX (floatLocation w)
>>> hunk ./XMonad/Operations.hs 59
>>> - (sc, rr) <- floatLocation w
>>> + rr <- floatLocation w
>>> hunk ./XMonad/Operations.hs 67
>>> - where i = fromMaybe (W.tag . W.workspace . W.current $ ws) $
>>> W.lookupWorkspace sc ws
>>> + where i = W.tag $ W.workspace $ W.current ws
>>> hunk ./XMonad/Operations.hs 395
>>> -floatLocation :: Window -> X (ScreenId, W.RationalRect)
>>> +floatLocation :: Window -> X (W.RationalRect)
>>> hunk ./XMonad/Operations.hs 409
>>> - return (W.screen $ sc, rr)
>>> + return rr
>>> hunk ./XMonad/Operations.hs 420
>>> - (sc, rr) <- floatLocation w
>>> + rr <- floatLocation w
>>> hunk ./XMonad/Operations.hs 422
>>> + let sc = W.screen $ W.current ws
>>> }
>>>
>>> [Small linecount fix :)
>>> robreim at bobturf.org**20080308021939] {
>>> hunk ./XMonad/Operations.hs 422
>>> - let sc = W.screen $ W.current ws
>>> hunk ./XMonad/Operations.hs 425
>>> - sw <- W.lookupWorkspace sc ws
>>> + sw <- W.lookupWorkspace (W.screen $ W.current ws) ws
>>> }
>>>
>>> Context:
>>>
>>> [use -fhpc by default when testing. All developers should have 6.8.x
>>> Don Stewart <dons at galois.com>**20080307184223]
>>> [more general properties for view, greedyView
>>> Don Stewart <dons at galois.com>**20080307181657]
>>> [rework failure cases in StackSet.view
>>> Don Stewart <dons at galois.com>**20080307181634]
>>> [bit more code coverage
>>> Don Stewart <dons at galois.com>**20080307180905]
>>> [more tests. slightly better test coverage
>>> Don Stewart <dons at galois.com>**20080227180113]
>>> [test geometry setting
>>> Don Stewart <dons at galois.com>**20080227175554]
>>> [incorrect invariant test for greedyView
>>> Don Stewart <dons at galois.com>**20080225180350]
>>> [Add a startupHook.
>>> Brent Yorgey <byorgey at gmail.com>**20080204192445
>>> The only thing I am not sure about here is at what exact point the
>>> startupHook should get run. I picked a place that seems to make sense:
>>> as late as possible, right before entering the main loop. That way all
>>> the layouts/workspaces/other state are set up and the startupHook can
>>> manipulate them.
>>> ]
>>> [Core.hs: add an Applicative instance for X
>>> Brent Yorgey <byorgey at gmail.com>**20080204192348]
>>> [update LOC claim in man page
>>> gwern0 at gmail.com**20080215211420]
>>> [add quickstart instructions
>>> Don Stewart <dons at galois.com>**20080212203502]
>>> [Remove non-existent windows on restart
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080207091140]
>>> [Lift initColor exceptions into Maybe
>>> Don Stewart <dons at galois.com>**20080206194858
>>>
>>> We should audit all X11 Haskell lib calls we make for whether
>>> they throw undocumented exceptions, and then banish that.
>>>
>>> ]
>>> [some things to do
>>> Don Stewart <dons at galois.com>**20080206192533]
>>> [module uses CPP
>>> Don Stewart <dons at galois.com>**20080206190521]
>>> [Rename runManageHook to runQuery
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080204053336]
>>> [let enter dismiss compile errors
>>> daniel at wagner-home.com**20080203202852]
>>> [Core.hs, StackSet.hs: some documentation updates
>>> Brent Yorgey <byorgey at gmail.com>**20080201190653]
>>> [Make Mirror implement emptyLayout
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080128001834]
>>> [xmonad.cabal: add `build-type' to make Cabal happy
>>> "Valery V. Vorotyntsev" <valery.vv at gmail.com>**20080131163213]
>>> [Get version from the Paths_xmonad module generated by Cabal
>>> Daniel Neri <daniel.neri at sigicom.se>**20080129144037
>>> No need to bump version in more than one place.
>>> ]
>>> [Kill stale xmonad 0.1 comments
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080128211418]
>>> [Point to 0.6 release of contrib
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080128101115]
>>> [notes on releases
>>> Don Stewart <dons at galois.com>**20080128171012]
>>> [bump output of --version
>>> Don Stewart <dons at galois.com>**20080128170840]
>>> [Generalize the type of catchIO, use it in Main.hs
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080128054651]
>>> [Add emptyLayout to LayoutClass, a method to be called when a workspace is
>>> empty
>>> Andrea Rossato <andrea.rossato at unibz.it>**20080124013207]
>>> [clarify copyright
>>> Don Stewart <dons at galois.com>**20080108185640]
>>> [TAG 0.6
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080127220633]
>>> [More other-modules
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080127220152]
>>> [Update example config
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080127212331]
>>> [Bump version to 0.6
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080127205000]
>>> [Updated ./man/xmonad.1.in to contain new command line parameters
>>> Austin Seipp <mad.one at gmail.com>**20080122070153]
>>> [Depend on QuickCheck < 2 when building tests
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080122070225]
>>> [Roll testing into the main executable, use Cabal to build the tests
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080119091215]
>>> [Simplify duplicate/cloned screen logic
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20080118032228]
>>> [Put the screen removing stuff in getCleanedScreenInfo
>>> Joachim Breitner <mail at joachim-breitner.de>**20071231181556]
>>> [Ignore cloned screens
>>> Joachim Breitner <mail at 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 at cse.unl.edu>**20080118014827]
>>> [Export doubleFork
>>> nicolas.pouillard at gmail.com**20080114202612]
>>> [reword comment (previous version didn't make sense to me)
>>> Lukas Mai <l.mai at web.de>**20071122165925]
>>> [The recompile function now returns a boolean status instead of ().
>>> nicolas.pouillard at gmail.com**20080105225500]
>>> [Make focus-follows-mouse configurable
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071229023301]
>>> [Strictify all XConfig fields, gives nice error messages when a field is
>>> forgotten on construction
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071229021923]
>>> [Spelling
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071229021628]
>>> [Wibble
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071229021519]
>>> [Broadcast button events to all layouts, fix for issue #111
>>> Spencer Janssen <sjanssen at 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 at gmail.com>**20071220201549]
>>> [Remove desktop manageHook rules in favor of ManageDocks
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071222113735]
>>> [Wibble
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071222041151]
>>> [Add support for several flags:
>>> Spencer Janssen <sjanssen at 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 at cse.unl.edu>**20071219215011]
>>> [Flush pending X calls before restarting
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071219162029]
>>> [Allow for sharing of home directory across architectures.
>>> tim.thelion at gmail.com**20071218065146]
>>> [Call 'broadcastMessage ReleaseResources' in restart
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071219065710]
>>> [Manpage now describes config in ~/.xmonad/xmonad.hs
>>> Adam Vogt <vogt.adam at gmail.com>**20071219023918]
>>> [Update manpage to describe greedyView
>>> Adam Vogt <vogt.adam at gmail.com>**20071219023726]
>>> [Depend on X11-1.4.1, it has crucial bugfixes
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071215022100]
>>> [1.4.1 X11 dep
>>> Don Stewart <dons at galois.com>**20071214160558]
>>> [Set withdrawnState after calling hide
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071212060250]
>>> [Remove stale comment
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071211084236]
>>> [Make windows responsible for setting withdrawn state
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071211080117]
>>> [Remove stale comment
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071211075641]
>>> [Clean up stale mapped/waitingUnmap state in handle rather than unmanage.
>>> Spencer Janssen <sjanssen at 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 at 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 at gmail.com>**20071210173357]
>>> [normalize Module headers
>>> Lukas Mai <l.mai at web.de>**20071210085327]
>>> [Add 'testing' mode, this should reduce 'darcs check' time significantly
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071210004704]
>>> [Use XMonad meta-module in Main.hs
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071210004456]
>>> [TAG 0.5
>>> Spencer Janssen <sjanssen at cse.unl.edu>**20071209233044]
>>> Patch bundle hash:
>>> 181ff6efdf7bb0d4a72ad7d9d5a8234ce85b3595
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> xmonad mailing list
>>> xmonad at haskell.org
>>> http://www.haskell.org/mailman/listinfo/xmonad
>> _______________________________________________
>> xmonad mailing list
>> xmonad at haskell.org
>> http://www.haskell.org/mailman/listinfo/xmonad
More information about the xmonad
mailing list