[xmonad] Floats always go to the current screen (Patch)
Robert
robreim at bobturf.org
Wed Apr 2 20:36:22 EDT 2008
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
More information about the xmonad
mailing list