Floats always go to the current screen (Patch)

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.

Robert wrote:
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 would definitely try this when at work - not talking about having it accepted. It gets pretty annoying if you have 3-head setup, working on screen 3 and get floating windows opened on screen 1... Especially if it is small modal window (opened outside of the scope or your peripheral vision) and you can't do anything with parent window until you close the modal one. It happened to me I had killed the application because I had been thinking it is not responding...
-- Juraj

Yes, please test :) . To be honest I haven't yet tested it directly (I only have multi-head at work). But shepheb on #xmonad helped test it on his setup. Incidentally, the UpdatePointer contrib module may help you if you get annoyed with windows popping up a long distance from where your pointer currently is. It won't help you see the window, but it'll do the mouse travelling for you. </plug> Juraj Hercek wrote:
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 would definitely try this when at work - not talking about having it accepted. It gets pretty annoying if you have 3-head setup, working on screen 3 and get floating windows opened on screen 1... Especially if it is small modal window (opened outside of the scope or your
Robert wrote: peripheral vision) and you can't do anything with parent window until you close the modal one. It happened to me I had killed the application because I had been thinking it is not responding...
-- Juraj

Robert wrote:
Yes, please test :) . To be honest I haven't yet tested it directly (I only have multi-head at work). But shepheb on #xmonad helped test it on his setup.
It works fine for me, tried on 3-head setup, everything works as expected, no float windows placed outside of currently focused screen. -- Juraj

robreim:
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:
I've applied these patches to the core and contrib. Can we close the associated ticket? (i.e. confirm this fixes the issue) -- Don

I wasn't aware of the existence of any such ticket and can't find it at http://code.google.com/p/xmonad/issues/list . Can you refer me to the ticket? If you're just asking whether the problem as I originally stated is fixed with this patch, yes it is. Don Stewart wrote:
robreim:
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:
I've applied these patches to the core and contrib. Can we close the associated ticket? (i.e. confirm this fixes the issue)
-- Don

Oh, looks like we didn't create a ticket for it! How odd. -- Don robreim:
I wasn't aware of the existence of any such ticket and can't find it at http://code.google.com/p/xmonad/issues/list . Can you refer me to the ticket?
If you're just asking whether the problem as I originally stated is fixed with this patch, yes it is.
Don Stewart wrote:
robreim:
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:
I've applied these patches to the core and contrib. Can we close the associated ticket? (i.e. confirm this fixes the issue)
-- Don

This has been a nice patch, fwiw. Popup placement is a lot more elegant now. Godo work. dons:
Oh, looks like we didn't create a ticket for it! How odd.
-- Don
robreim:
I wasn't aware of the existence of any such ticket and can't find it at http://code.google.com/p/xmonad/issues/list . Can you refer me to the ticket?
If you're just asking whether the problem as I originally stated is fixed with this patch, yes it is.
Don Stewart wrote:
robreim:
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:
I've applied these patches to the core and contrib. Can we close the associated ticket? (i.e. confirm this fixes the issue)
-- Don
xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad

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@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
**20080307203022] [Shell: add support for UTF-8 locales Andrea Rossato **20080302095924] [Font and XUtils: add UTF-8 support and various fixes related to XFT Andrea Rossato **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 **20080229100346] [Ssh: complete known hosts with non standard ports too Andrea Rossato **20080229095014] [Fix xmonadPromptC and use it. nicolas.pouillard@gmail.com**20080306163928] [Documentation typo about UpdatePointer. nicolas.pouillard@gmail.com**20080306163516] [Fix ToggleOff: It was adding 0.1 to the magnification. Braden Shepherdson **20080305222302] [Removed WmiiActions module. Juraj Hercek **20080305082336] [Adjusted signature of DirExec module functions. Juraj Hercek **20080301171905 - added parameter for function which executes the selected program - renamed dirExecPromptWithName to dirExecPromptNamed ] [Import of new DirExec module. Juraj Hercek **20080229212257 - allows execution of executable files from specific directory ] [Hooks.DynamicLog: export xmobarPP Dmitry Kurochkin **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 **20080303204619] [Util.Run: minor clarification in comment gwern0@gmail.com**20080303051513] [Add XMonad.Actions.PerWorkspaceKeys Roman Cheplyaka **20080302202346] [Haddock fix: Changed URL-Markup Dominik Bruhn **20080302185435] [switch Droundy to smartBorders (which works better with ScratchWorkspace). David Roundy **20080301191103] [Changed semantics of UpdatePointer to move to nearest point robreim@bobturf.org**20080301143126] [UpdatePointer XMonadContrib module robreim@bobturf.org**20080301134401] [XMonad.Layout.Simplest: add FlexibleInstances pragma Lukas Mai **20080301061714] [XMonad.Layout.ScratchWorkspace: avoid warnings, make tests compile again Lukas Mai **20080301061625] [implement ScratchWorkspace. David Roundy **20080229224316] [in Prompt.Workspace sort by official workspace order. David Roundy **20080229223047] [simplify Simplest--allow it to apply to non-Windows. David Roundy **20080229221326] [XMonad.Actions.MouseGestures.mkCollect: generalize type Lukas Mai **20080229211732] [Add bottom-tabbed layout. Roman Cheplyaka **20080229155120] [XMonad.Actions.MouseGestures: refactoring, code simplification Lukas Mai **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
**20080227164602] [XMonad.Util.Scratchpad: change 'XConfig Layout' to 'XConfig l', to avoid type mismatches; the exact layout type doesn't actually matter Brent Yorgey **20080227014201] [EZConfig: add an emacs-style keybinding parser! Brent Yorgey **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
**20080226202639] [update inactive debugging code in MouseGestures; no visible changes Lukas Mai **20071109020755] [Scratchpad terminal Braden Shepherdson **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
**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
**20080225062330] [Fix haddock hyperlink. Roman Cheplyaka **20080224205416] [Add XMonad.Layout.IM Roman Cheplyaka **20080221085752] [Export XMonad.Layout.Grid.arrange (for use in XMonad.Layout.IM) Roman Cheplyaka **20080221062204] [Decoration: some haddock updates Andrea Rossato **20080220214934] [Small refactoring. Nils Anders Danielsson **20080210224756] [Fixed off-by-one error which broke strut handling for some panels. Nils Anders Danielsson **20080210222600] [Decoration: fix an issue with decoration window creation and more Andrea Rossato **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 **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
**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
**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 **20080219163058] [Decoration: comment only Andrea Rossato **20080219161339 This is a detailed commentary of all the code. ] [Decoratione: generate rectangles first, and create windows accordingly Andrea Rossato **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
**20080219055650] [Tabbed and TabBarDecoration: no need to implement decorateFirst (the default is used) Andrea Rossato **20080218184950] [TabBarDecoration: simpleTabBar automatically applies resizeVertical Andrea Rossato **20080218180922 Added some comments too. ] [DwmStyle: comment fix only Andrea Rossato **20080218180727] [ResizeScreen: add resizeHorizontalRight and resizeVerticalBottom Andrea Rossato **20080218180504] [Add TabBarDecoration, a layout modifier to add a bar of tabs to any layout Andrea Rossato **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 **20080218131320] [Refactor MouseResize, remove isDecoration and introduce isInStack, isVisible, isInvisible Andrea Rossato **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 **20080217132734] [Prompt.Theme: use mkComplFunFromList' to generate completions Andrea Rossato **20080217124453] [some code formatting Andrea Rossato **20080217124434] [Prompt: comment only (clafiry completionToCommand uses) Andrea Rossato **20080216181620] [Prompt: comment only (remove confusing remarks about commandToComplete) Andrea Rossato **20080216180412] [Prompt: haddock fixes only Andrea Rossato **20080216172331] [Prompt.XMonad: use mkComplFunFromList' to get all the completions with an empty command line Andrea Rossato **20080216133949] [Prompt.Window: remove unneeded and ugly escaping/unescaping Andrea Rossato **20080216133842] [Theme: move theme's nextCompletion implementation to Prompt.getNextCompletion Andrea Rossato **20080216133738] [Shell: escape the string in the command line only Andrea Rossato **20080216133651] [Prompt: add some methods to make completions more flexible Andrea Rossato **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 **20080216114159] [Prompt.Shell: if there's just one completion and it is a directory add a trailing slash Andrea Rossato **20080216114005] [Prompt: added nextCompletion and commandToComplete methods to fine tune prompts' completion functions Andrea Rossato **20080216113723] [Util.Themes: add ppThemeInfor to render the theme info Andrea Rossato **20080216113635] [DecorationMadness: resizable layouts now use MouseResize too Andrea Rossato **20080212173645] [SimpleFloat now uses MouseResize Andrea Rossato **20080212173615] [Add Actions.MouseResize: a layout modifier to resize windows with the mouse Andrea Rossato **20080212173455] [Decoration: remove mouse resize and more Andrea Rossato **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 **20080211123056] [Tabbed and SimpleTabbed (in DecorationMadness) define their own decorationMouseDragHook method Andrea Rossato **20080211114043 ... to disable mouse drag in tabbed layouts ] [Decoration: DecorationStyle class cleanup and focus/drag unification Andrea Rossato **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 **20080210222406 This allows using DynamicLog not only for statusbar. ] [DecorationMadness: comment only Andrea Rossato **20080210131427] [DecorationMadness: added a few floating layouts Andrea Rossato **20080210122523] [SimpleFloat: export SimpleFloat and add documentation Andrea Rossato **20080210113159] [Move DefaultDecoration from DecorationMadness to Decoration Andrea Rossato **20080210104304] [Themes: added robertTheme and donaldTheme Andrea Rossato **20080210083016] [DecorationMadness: make tunable tabbed layouts respect the Theme decoHeight field Andrea Rossato **20080210075322] [ScreenResize: vertical and horizontal now respond to SetTheme Andrea Rossato **20080210074544 And so they will change the screen dimension accordingly. ] [WindowGo.hs: fix syntax in example Brent Yorgey **20080209225135] [+doc for WindowGo.hs: I've discovered a common usecase for me for raiseMaybe gwern0@gmail.com**20080205032155] [Run.hs: add an option to runinterms gwern0@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
**20080209182515] [Decoration: change mouseEventHook to decoEventHook and more Andrea Rossato **20080209165101 Fix also the problem with window's movement when the grabbing starts ] [Tabbed: add simpleTabbed and fx documentation Andrea Rossato **20080209163917 simpleTabbed is just a version of tabbed with default theme and default srhinker. ] [Arossato: update to latest changes Andrea Rossato **20080208140604] [Decoration: enable mouse dragging of windows Andrea Rossato **20080208083602] [WindowArranger: add a SetGeometry message - needed to enable mouseDrag Andrea Rossato **20080208083413] [Decoration: add a mouseEventHook methohd and move mouse button event there Andrea Rossato **20080208073514] [Util.Thems: some more typos in comments Andrea Rossato **20080207233341] [Util.Themes: documentation and export list (added themes that have been left out) Andrea Rossato **20080207232251] [Prompt.Theme: comments and some point-free Andrea Rossato **20080207232155] [oxymor00nTheme **20080207213100] [add swapScreen to CycleWS **20080206191032 * add support for swapping the workspaces on screens to CycleWS ] [Decoration: consistency of variable names Andrea Rossato **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 **20080207184321] [Decoration: add a SetTheme message and releaseResources Andrea Rossato **20080207184048 ...which should make it harder to forget to release the font structure. ] [cabal file: respect alphabetic order for modules Andrea Rossato **20080207183153] [Add Util.Themes to collect user contributed themes Andrea Rossato **20080207182843] [SimpleFloat: comment only Andrea Rossato **20080207182438] [Update to safer initColor api Don Stewart **20080206192232] [use Util.WorkspaceCompare in Prompt.Workspace. David Roundy **20080206004057] [roll back to previous version of Droundy.hs. David Roundy **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
**20080205203556] [make tabbed work nicely with LayoutCombinators and WindowNavigation. David Roundy **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 **20080205202027] [ XMonad.Actions.WindowGo: add a runOrRaise module for Joseph Garvin with the help of Spencer Janssen gwern0@gmail.com**20080204173402] [enable proper handling of panels in droundy config. David Roundy **20080204030843] [enable button click for focus in tabbed. David Roundy **20080204010536 Note that this patch doesn't work with Thu Dec 27 03:03:56 EST 2007 Spencer Janssen
* 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
**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 **20080204005350] [CycleWS: change example binding for toggleWS from mod-t to mod-z. example bindings shouldn't conflict with default key bindings. Brent Yorgey **20080201202126] [REMOVE RotView: use CycleWS instead. Brent Yorgey **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 **20080201121524] [WorkspaceCompare: some refactoring. Brent Yorgey **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 **20080131161948] [Added a handy tip to the documentation of XMonad.Actions.Search v.dijk.bas@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 **20080131082314] [Remove LayoutCombinator class and revert PerWorkspace to its Maybe Bool state Andrea Rossato **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
**20080131012728] [DynamicLog: lots of additional documentation; add byorgeyPP as an example dzen config Brent Yorgey **20080130205219] [Extended PP with sorting algorithm specification and added xinerama sorting Juraj Hercek **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 **20080130124609] [Various decorations related updates Spencer Janssen **20080130064624 * remove deprecated TConf stuff * Remove 'style' from DeConf * Change DeConf to Theme * share defaultTheme across all decorations ] [TwoPane: add description string Joachim Fasting **20080126141332] [add XMonad.Actions.CycleSelectedLayouts Roman Cheplyaka **20080116205020] [Search.hs: add documentation and two more search engines (MathWorld and Google Scholar) Brent Yorgey **20080128190443] [xmonad-contrib.cabal: add build-type field to get rid of Cabal warning Brent Yorgey **20080128190137] [LayoutCombinator class: code clean up Andrea Rossato **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 **20080129192903] [Named: reimplemented as a LayoutModifier and updated Config.Droundy accordingly Andrea Rossato **20080128161343] [LayoutModifier: add modifyDescription for completely override the modified layout description Andrea Rossato **20080128160614] [Make ToggleLayouts and Named implement emptyLayout Andrea Rossato **20080128151535] [Decoration: the fontset must be released even when we don't decorate the first window Andrea Rossato **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 **20080127233521] [Decoration: after deleting the windows we must update the layout modifier Andrea Rossato **20080127231815 Thanks to Feuerbach for reporting this. ] [Reflect: reimplemented as a layout modifier (which makes it compatible with windowArranger and decoration) Andrea Rossato **20080127165854] [SimpleFLoat: change the description to Float (Simple is the decoration description) Andrea Rossato **20080127144556] [ManageDocks: implement AvoidStruts as a layout modifier Andrea Rossato **20080127144301] [ResizeScreen has been rewritten as a layout modifier Andrea Rossato **20080127140837] [LayoutModifier add a modifyLayout Andrea Rossato **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
**20080127092415] [Add ResizeScreen, a layout modifier for modifing the screen geometry Andrea Rossato **20080127010755] [WindowArranger can now arrange all windows Andrea Rossato **20080126233053 This is useful for SimpleFloat, whose state can now persists across layout switches. ] [Arossato: updated my config to recent changes Andrea Rossato **20080126205638] [Add SimpleFloat a very basic floating layout that will place windows according to their size hints Andrea Rossato **20080126205410] [WindoWrranger: export the WindowArranger type (see the upcoming SimpleFloat) Andrea Rossato **20080126204605] [ShowWName: show the name of empty layouts too Andrea Rossato **20080126190214] [ManageDocks: add emptyLayout definition for supporting the new decoration framework Andrea Rossato **20080126185936] [Decoration: code formatting only Andrea Rossato **20080126101354] [export DeConfig to avoid importing Decoration Andrea Rossato **20080126101049] [Prompt: code formatting only Andrea Rossato **20080126093234] [Don't export TConf anymore and export DeConfig instead Andrea Rossato **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
**20080125152311] [Add DwmStyle, a layout modifier to add dwm-style decorations to windows in any layout Andrea Rossato **20080125152152] [Adde SimpleDecoration, a layout modifier to add simple decorations to windows in any layout Andrea Rossato **20080125152106] [Add Layout.Simplest, the simplest layout Andrea Rossato **20080125152015] [Add Decoration, a layout modifier and a class for easily writing decorated layouts Andrea Rossato **20080125151726] [Add WindowArranger, a layout modifier to move and resize windows with the keyboard Andrea Rossato **20080125151633] [ShowWName: moved fi to XUtils Andrea Rossato **20080124134725] [XUtils: add functions for operating on lists of windows and export fi Andrea Rossato **20080124134638] [LayoutModifier: add emptyLayoutMod for dealing with empty workspaces Andrea Rossato **20080124015605] [LayoutModifier: add pureMess and pureModifier to the LayoutModifier class Andrea Rossato **20080122111319] [Layout.ShowWName: generalize the instance Andrea Rossato **20080115045139] [add emptyLayout to MultiToggle Lukas Mai **20080128175313] [grammar fix Lukas Mai **20080128175059] [TAG 0.6 Spencer Janssen **20080127222114] Patch bundle hash: 3bbcbe93e994691f7bb76f141aa787c9b20e8a21 ------------------------------------------------------------------------
New patches:
[Change floats to always use the current screen robreim@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@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
**20080307184223] [more general properties for view, greedyView Don Stewart **20080307181657] [rework failure cases in StackSet.view Don Stewart **20080307181634] [bit more code coverage Don Stewart **20080307180905] [more tests. slightly better test coverage Don Stewart **20080227180113] [test geometry setting Don Stewart **20080227175554] [incorrect invariant test for greedyView Don Stewart **20080225180350] [Add a startupHook. Brent Yorgey **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 **20080204192348] [update LOC claim in man page gwern0@gmail.com**20080215211420] [add quickstart instructions Don Stewart **20080212203502] [Remove non-existent windows on restart Spencer Janssen **20080207091140] [Lift initColor exceptions into Maybe Don Stewart **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
**20080206192533] [module uses CPP Don Stewart **20080206190521] [Rename runManageHook to runQuery Spencer Janssen **20080204053336] [let enter dismiss compile errors daniel@wagner-home.com**20080203202852] [Core.hs, StackSet.hs: some documentation updates Brent Yorgey **20080201190653] [Make Mirror implement emptyLayout Andrea Rossato **20080128001834] [xmonad.cabal: add `build-type' to make Cabal happy "Valery V. Vorotyntsev" **20080131163213] [Get version from the Paths_xmonad module generated by Cabal Daniel Neri **20080129144037 No need to bump version in more than one place. ] [Kill stale xmonad 0.1 comments Spencer Janssen **20080128211418] [Point to 0.6 release of contrib Spencer Janssen **20080128101115] [notes on releases Don Stewart **20080128171012] [bump output of --version Don Stewart **20080128170840] [Generalize the type of catchIO, use it in Main.hs Spencer Janssen **20080128054651] [Add emptyLayout to LayoutClass, a method to be called when a workspace is empty Andrea Rossato **20080124013207] [clarify copyright Don Stewart **20080108185640] [TAG 0.6 Spencer Janssen **20080127220633] [More other-modules Spencer Janssen **20080127220152] [Update example config Spencer Janssen **20080127212331] [Bump version to 0.6 Spencer Janssen **20080127205000] [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: 181ff6efdf7bb0d4a72ad7d9d5a8234ce85b3595 ------------------------------------------------------------------------
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad

Hmm,
Fri Mar 21 14:41:29 PDT 2008 Don Stewart
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@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
**20080307203022] [Shell: add support for UTF-8 locales Andrea Rossato **20080302095924] [Font and XUtils: add UTF-8 support and various fixes related to XFT Andrea Rossato **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 **20080229100346] [Ssh: complete known hosts with non standard ports too Andrea Rossato **20080229095014] [Fix xmonadPromptC and use it. nicolas.pouillard@gmail.com**20080306163928] [Documentation typo about UpdatePointer. nicolas.pouillard@gmail.com**20080306163516] [Fix ToggleOff: It was adding 0.1 to the magnification. Braden Shepherdson **20080305222302] [Removed WmiiActions module. Juraj Hercek **20080305082336] [Adjusted signature of DirExec module functions. Juraj Hercek **20080301171905 - added parameter for function which executes the selected program - renamed dirExecPromptWithName to dirExecPromptNamed ] [Import of new DirExec module. Juraj Hercek **20080229212257 - allows execution of executable files from specific directory ] [Hooks.DynamicLog: export xmobarPP Dmitry Kurochkin **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 **20080303204619] [Util.Run: minor clarification in comment gwern0@gmail.com**20080303051513] [Add XMonad.Actions.PerWorkspaceKeys Roman Cheplyaka **20080302202346] [Haddock fix: Changed URL-Markup Dominik Bruhn **20080302185435] [switch Droundy to smartBorders (which works better with ScratchWorkspace). David Roundy **20080301191103] [Changed semantics of UpdatePointer to move to nearest point robreim@bobturf.org**20080301143126] [UpdatePointer XMonadContrib module robreim@bobturf.org**20080301134401] [XMonad.Layout.Simplest: add FlexibleInstances pragma Lukas Mai **20080301061714] [XMonad.Layout.ScratchWorkspace: avoid warnings, make tests compile again Lukas Mai **20080301061625] [implement ScratchWorkspace. David Roundy **20080229224316] [in Prompt.Workspace sort by official workspace order. David Roundy **20080229223047] [simplify Simplest--allow it to apply to non-Windows. David Roundy **20080229221326] [XMonad.Actions.MouseGestures.mkCollect: generalize type Lukas Mai **20080229211732] [Add bottom-tabbed layout. Roman Cheplyaka **20080229155120] [XMonad.Actions.MouseGestures: refactoring, code simplification Lukas Mai **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
**20080227164602] [XMonad.Util.Scratchpad: change 'XConfig Layout' to 'XConfig l', to avoid type mismatches; the exact layout type doesn't actually matter Brent Yorgey **20080227014201] [EZConfig: add an emacs-style keybinding parser! Brent Yorgey **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
**20080226202639] [update inactive debugging code in MouseGestures; no visible changes Lukas Mai **20071109020755] [Scratchpad terminal Braden Shepherdson **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
**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
**20080225062330] [Fix haddock hyperlink. Roman Cheplyaka **20080224205416] [Add XMonad.Layout.IM Roman Cheplyaka **20080221085752] [Export XMonad.Layout.Grid.arrange (for use in XMonad.Layout.IM) Roman Cheplyaka **20080221062204] [Decoration: some haddock updates Andrea Rossato **20080220214934] [Small refactoring. Nils Anders Danielsson **20080210224756] [Fixed off-by-one error which broke strut handling for some panels. Nils Anders Danielsson **20080210222600] [Decoration: fix an issue with decoration window creation and more Andrea Rossato **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 **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
**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
**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 **20080219163058] [Decoration: comment only Andrea Rossato **20080219161339 This is a detailed commentary of all the code. ] [Decoratione: generate rectangles first, and create windows accordingly Andrea Rossato **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
**20080219055650] [Tabbed and TabBarDecoration: no need to implement decorateFirst (the default is used) Andrea Rossato **20080218184950] [TabBarDecoration: simpleTabBar automatically applies resizeVertical Andrea Rossato **20080218180922 Added some comments too. ] [DwmStyle: comment fix only Andrea Rossato **20080218180727] [ResizeScreen: add resizeHorizontalRight and resizeVerticalBottom Andrea Rossato **20080218180504] [Add TabBarDecoration, a layout modifier to add a bar of tabs to any layout Andrea Rossato **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 **20080218131320] [Refactor MouseResize, remove isDecoration and introduce isInStack, isVisible, isInvisible Andrea Rossato **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 **20080217132734] [Prompt.Theme: use mkComplFunFromList' to generate completions Andrea Rossato **20080217124453] [some code formatting Andrea Rossato **20080217124434] [Prompt: comment only (clafiry completionToCommand uses) Andrea Rossato **20080216181620] [Prompt: comment only (remove confusing remarks about commandToComplete) Andrea Rossato **20080216180412] [Prompt: haddock fixes only Andrea Rossato **20080216172331] [Prompt.XMonad: use mkComplFunFromList' to get all the completions with an empty command line Andrea Rossato **20080216133949] [Prompt.Window: remove unneeded and ugly escaping/unescaping Andrea Rossato **20080216133842] [Theme: move theme's nextCompletion implementation to Prompt.getNextCompletion Andrea Rossato **20080216133738] [Shell: escape the string in the command line only Andrea Rossato **20080216133651] [Prompt: add some methods to make completions more flexible Andrea Rossato **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 **20080216114159] [Prompt.Shell: if there's just one completion and it is a directory add a trailing slash Andrea Rossato **20080216114005] [Prompt: added nextCompletion and commandToComplete methods to fine tune prompts' completion functions Andrea Rossato **20080216113723] [Util.Themes: add ppThemeInfor to render the theme info Andrea Rossato **20080216113635] [DecorationMadness: resizable layouts now use MouseResize too Andrea Rossato **20080212173645] [SimpleFloat now uses MouseResize Andrea Rossato **20080212173615] [Add Actions.MouseResize: a layout modifier to resize windows with the mouse Andrea Rossato **20080212173455] [Decoration: remove mouse resize and more Andrea Rossato **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 **20080211123056] [Tabbed and SimpleTabbed (in DecorationMadness) define their own decorationMouseDragHook method Andrea Rossato **20080211114043 ... to disable mouse drag in tabbed layouts ] [Decoration: DecorationStyle class cleanup and focus/drag unification Andrea Rossato **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 **20080210222406 This allows using DynamicLog not only for statusbar. ] [DecorationMadness: comment only Andrea Rossato **20080210131427] [DecorationMadness: added a few floating layouts Andrea Rossato **20080210122523] [SimpleFloat: export SimpleFloat and add documentation Andrea Rossato **20080210113159] [Move DefaultDecoration from DecorationMadness to Decoration Andrea Rossato **20080210104304] [Themes: added robertTheme and donaldTheme Andrea Rossato **20080210083016] [DecorationMadness: make tunable tabbed layouts respect the Theme decoHeight field Andrea Rossato **20080210075322] [ScreenResize: vertical and horizontal now respond to SetTheme Andrea Rossato **20080210074544 And so they will change the screen dimension accordingly. ] [WindowGo.hs: fix syntax in example Brent Yorgey **20080209225135] [+doc for WindowGo.hs: I've discovered a common usecase for me for raiseMaybe gwern0@gmail.com**20080205032155] [Run.hs: add an option to runinterms gwern0@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
**20080209182515] [Decoration: change mouseEventHook to decoEventHook and more Andrea Rossato **20080209165101 Fix also the problem with window's movement when the grabbing starts ] [Tabbed: add simpleTabbed and fx documentation Andrea Rossato **20080209163917 simpleTabbed is just a version of tabbed with default theme and default srhinker. ] [Arossato: update to latest changes Andrea Rossato **20080208140604] [Decoration: enable mouse dragging of windows Andrea Rossato **20080208083602] [WindowArranger: add a SetGeometry message - needed to enable mouseDrag Andrea Rossato **20080208083413] [Decoration: add a mouseEventHook methohd and move mouse button event there Andrea Rossato **20080208073514] [Util.Thems: some more typos in comments Andrea Rossato **20080207233341] [Util.Themes: documentation and export list (added themes that have been left out) Andrea Rossato **20080207232251] [Prompt.Theme: comments and some point-free Andrea Rossato **20080207232155] [oxymor00nTheme **20080207213100] [add swapScreen to CycleWS **20080206191032 * add support for swapping the workspaces on screens to CycleWS ] [Decoration: consistency of variable names Andrea Rossato **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 **20080207184321] [Decoration: add a SetTheme message and releaseResources Andrea Rossato **20080207184048 ...which should make it harder to forget to release the font structure. ] [cabal file: respect alphabetic order for modules Andrea Rossato **20080207183153] [Add Util.Themes to collect user contributed themes Andrea Rossato **20080207182843] [SimpleFloat: comment only Andrea Rossato **20080207182438] [Update to safer initColor api Don Stewart **20080206192232] [use Util.WorkspaceCompare in Prompt.Workspace. David Roundy **20080206004057] [roll back to previous version of Droundy.hs. David Roundy **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
**20080205203556] [make tabbed work nicely with LayoutCombinators and WindowNavigation. David Roundy **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 **20080205202027] [ XMonad.Actions.WindowGo: add a runOrRaise module for Joseph Garvin with the help of Spencer Janssen gwern0@gmail.com**20080204173402] [enable proper handling of panels in droundy config. David Roundy **20080204030843] [enable button click for focus in tabbed. David Roundy **20080204010536 Note that this patch doesn't work with Thu Dec 27 03:03:56 EST 2007 Spencer Janssen
* 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
**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 **20080204005350] [CycleWS: change example binding for toggleWS from mod-t to mod-z. example bindings shouldn't conflict with default key bindings. Brent Yorgey **20080201202126] [REMOVE RotView: use CycleWS instead. Brent Yorgey **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 **20080201121524] [WorkspaceCompare: some refactoring. Brent Yorgey **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 **20080131161948] [Added a handy tip to the documentation of XMonad.Actions.Search v.dijk.bas@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 **20080131082314] [Remove LayoutCombinator class and revert PerWorkspace to its Maybe Bool state Andrea Rossato **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
**20080131012728] [DynamicLog: lots of additional documentation; add byorgeyPP as an example dzen config Brent Yorgey **20080130205219] [Extended PP with sorting algorithm specification and added xinerama sorting Juraj Hercek **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 **20080130124609] [Various decorations related updates Spencer Janssen **20080130064624 * remove deprecated TConf stuff * Remove 'style' from DeConf * Change DeConf to Theme * share defaultTheme across all decorations ] [TwoPane: add description string Joachim Fasting **20080126141332] [add XMonad.Actions.CycleSelectedLayouts Roman Cheplyaka **20080116205020] [Search.hs: add documentation and two more search engines (MathWorld and Google Scholar) Brent Yorgey **20080128190443] [xmonad-contrib.cabal: add build-type field to get rid of Cabal warning Brent Yorgey **20080128190137] [LayoutCombinator class: code clean up Andrea Rossato **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 **20080129192903] [Named: reimplemented as a LayoutModifier and updated Config.Droundy accordingly Andrea Rossato **20080128161343] [LayoutModifier: add modifyDescription for completely override the modified layout description Andrea Rossato **20080128160614] [Make ToggleLayouts and Named implement emptyLayout Andrea Rossato **20080128151535] [Decoration: the fontset must be released even when we don't decorate the first window Andrea Rossato **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 **20080127233521] [Decoration: after deleting the windows we must update the layout modifier Andrea Rossato **20080127231815 Thanks to Feuerbach for reporting this. ] [Reflect: reimplemented as a layout modifier (which makes it compatible with windowArranger and decoration) Andrea Rossato **20080127165854] [SimpleFLoat: change the description to Float (Simple is the decoration description) Andrea Rossato **20080127144556] [ManageDocks: implement AvoidStruts as a layout modifier Andrea Rossato **20080127144301] [ResizeScreen has been rewritten as a layout modifier Andrea Rossato **20080127140837] [LayoutModifier add a modifyLayout Andrea Rossato **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
**20080127092415] [Add ResizeScreen, a layout modifier for modifing the screen geometry Andrea Rossato **20080127010755] [WindowArranger can now arrange all windows Andrea Rossato **20080126233053 This is useful for SimpleFloat, whose state can now persists across layout switches. ] [Arossato: updated my config to recent changes Andrea Rossato **20080126205638] [Add SimpleFloat a very basic floating layout that will place windows according to their size hints Andrea Rossato **20080126205410] [WindoWrranger: export the WindowArranger type (see the upcoming SimpleFloat) Andrea Rossato **20080126204605] [ShowWName: show the name of empty layouts too Andrea Rossato **20080126190214] [ManageDocks: add emptyLayout definition for supporting the new decoration framework Andrea Rossato **20080126185936] [Decoration: code formatting only Andrea Rossato **20080126101354] [export DeConfig to avoid importing Decoration Andrea Rossato **20080126101049] [Prompt: code formatting only Andrea Rossato **20080126093234] [Don't export TConf anymore and export DeConfig instead Andrea Rossato **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
**20080125152311] [Add DwmStyle, a layout modifier to add dwm-style decorations to windows in any layout Andrea Rossato **20080125152152] [Adde SimpleDecoration, a layout modifier to add simple decorations to windows in any layout Andrea Rossato **20080125152106] [Add Layout.Simplest, the simplest layout Andrea Rossato **20080125152015] [Add Decoration, a layout modifier and a class for easily writing decorated layouts Andrea Rossato **20080125151726] [Add WindowArranger, a layout modifier to move and resize windows with the keyboard Andrea Rossato **20080125151633] [ShowWName: moved fi to XUtils Andrea Rossato **20080124134725] [XUtils: add functions for operating on lists of windows and export fi Andrea Rossato **20080124134638] [LayoutModifier: add emptyLayoutMod for dealing with empty workspaces Andrea Rossato **20080124015605] [LayoutModifier: add pureMess and pureModifier to the LayoutModifier class Andrea Rossato **20080122111319] [Layout.ShowWName: generalize the instance Andrea Rossato **20080115045139] [add emptyLayout to MultiToggle Lukas Mai **20080128175313] [grammar fix Lukas Mai **20080128175059] [TAG 0.6 Spencer Janssen **20080127222114] Patch bundle hash: 3bbcbe93e994691f7bb76f141aa787c9b20e8a21 ------------------------------------------------------------------------
New patches:
[Change floats to always use the current screen robreim@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@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
**20080307184223] [more general properties for view, greedyView Don Stewart **20080307181657] [rework failure cases in StackSet.view Don Stewart **20080307181634] [bit more code coverage Don Stewart **20080307180905] [more tests. slightly better test coverage Don Stewart **20080227180113] [test geometry setting Don Stewart **20080227175554] [incorrect invariant test for greedyView Don Stewart **20080225180350] [Add a startupHook. Brent Yorgey **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 **20080204192348] [update LOC claim in man page gwern0@gmail.com**20080215211420] [add quickstart instructions Don Stewart **20080212203502] [Remove non-existent windows on restart Spencer Janssen **20080207091140] [Lift initColor exceptions into Maybe Don Stewart **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
**20080206192533] [module uses CPP Don Stewart **20080206190521] [Rename runManageHook to runQuery Spencer Janssen **20080204053336] [let enter dismiss compile errors daniel@wagner-home.com**20080203202852] [Core.hs, StackSet.hs: some documentation updates Brent Yorgey **20080201190653] [Make Mirror implement emptyLayout Andrea Rossato **20080128001834] [xmonad.cabal: add `build-type' to make Cabal happy "Valery V. Vorotyntsev" **20080131163213] [Get version from the Paths_xmonad module generated by Cabal Daniel Neri **20080129144037 No need to bump version in more than one place. ] [Kill stale xmonad 0.1 comments Spencer Janssen **20080128211418] [Point to 0.6 release of contrib Spencer Janssen **20080128101115] [notes on releases Don Stewart **20080128171012] [bump output of --version Don Stewart **20080128170840] [Generalize the type of catchIO, use it in Main.hs Spencer Janssen **20080128054651] [Add emptyLayout to LayoutClass, a method to be called when a workspace is empty Andrea Rossato **20080124013207] [clarify copyright Don Stewart **20080108185640] [TAG 0.6 Spencer Janssen **20080127220633] [More other-modules Spencer Janssen **20080127220152] [Update example config Spencer Janssen **20080127212331] [Bump version to 0.6 Spencer Janssen **20080127205000] [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: 181ff6efdf7bb0d4a72ad7d9d5a8234ce85b3595 ------------------------------------------------------------------------
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad

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
* Revert float location patch. Not Xinerama safe Fri Mar 7 18:19:39 PST 2008 robreim@bobturf.org * Small linecount fix :)
Fri Mar 7 17:58:29 PST 2008 robreim@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@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
**20080307203022] [Shell: add support for UTF-8 locales Andrea Rossato **20080302095924] [Font and XUtils: add UTF-8 support and various fixes related to XFT Andrea Rossato **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 **20080229100346] [Ssh: complete known hosts with non standard ports too Andrea Rossato **20080229095014] [Fix xmonadPromptC and use it. nicolas.pouillard@gmail.com**20080306163928] [Documentation typo about UpdatePointer. nicolas.pouillard@gmail.com**20080306163516] [Fix ToggleOff: It was adding 0.1 to the magnification. Braden Shepherdson **20080305222302] [Removed WmiiActions module. Juraj Hercek **20080305082336] [Adjusted signature of DirExec module functions. Juraj Hercek **20080301171905 - added parameter for function which executes the selected program - renamed dirExecPromptWithName to dirExecPromptNamed ] [Import of new DirExec module. Juraj Hercek **20080229212257 - allows execution of executable files from specific directory ] [Hooks.DynamicLog: export xmobarPP Dmitry Kurochkin **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 **20080303204619] [Util.Run: minor clarification in comment gwern0@gmail.com**20080303051513] [Add XMonad.Actions.PerWorkspaceKeys Roman Cheplyaka **20080302202346] [Haddock fix: Changed URL-Markup Dominik Bruhn **20080302185435] [switch Droundy to smartBorders (which works better with ScratchWorkspace). David Roundy **20080301191103] [Changed semantics of UpdatePointer to move to nearest point robreim@bobturf.org**20080301143126] [UpdatePointer XMonadContrib module robreim@bobturf.org**20080301134401] [XMonad.Layout.Simplest: add FlexibleInstances pragma Lukas Mai **20080301061714] [XMonad.Layout.ScratchWorkspace: avoid warnings, make tests compile again Lukas Mai **20080301061625] [implement ScratchWorkspace. David Roundy **20080229224316] [in Prompt.Workspace sort by official workspace order. David Roundy **20080229223047] [simplify Simplest--allow it to apply to non-Windows. David Roundy **20080229221326] [XMonad.Actions.MouseGestures.mkCollect: generalize type Lukas Mai **20080229211732] [Add bottom-tabbed layout. Roman Cheplyaka **20080229155120] [XMonad.Actions.MouseGestures: refactoring, code simplification Lukas Mai **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
**20080227164602] [XMonad.Util.Scratchpad: change 'XConfig Layout' to 'XConfig l', to avoid type mismatches; the exact layout type doesn't actually matter Brent Yorgey **20080227014201] [EZConfig: add an emacs-style keybinding parser! Brent Yorgey **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
**20080226202639] [update inactive debugging code in MouseGestures; no visible changes Lukas Mai **20071109020755] [Scratchpad terminal Braden Shepherdson **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
**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
**20080225062330] [Fix haddock hyperlink. Roman Cheplyaka **20080224205416] [Add XMonad.Layout.IM Roman Cheplyaka **20080221085752] [Export XMonad.Layout.Grid.arrange (for use in XMonad.Layout.IM) Roman Cheplyaka **20080221062204] [Decoration: some haddock updates Andrea Rossato **20080220214934] [Small refactoring. Nils Anders Danielsson **20080210224756] [Fixed off-by-one error which broke strut handling for some panels. Nils Anders Danielsson **20080210222600] [Decoration: fix an issue with decoration window creation and more Andrea Rossato **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 **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
**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
**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 **20080219163058] [Decoration: comment only Andrea Rossato **20080219161339 This is a detailed commentary of all the code. ] [Decoratione: generate rectangles first, and create windows accordingly Andrea Rossato **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
**20080219055650] [Tabbed and TabBarDecoration: no need to implement decorateFirst (the default is used) Andrea Rossato **20080218184950] [TabBarDecoration: simpleTabBar automatically applies resizeVertical Andrea Rossato **20080218180922 Added some comments too. ] [DwmStyle: comment fix only Andrea Rossato **20080218180727] [ResizeScreen: add resizeHorizontalRight and resizeVerticalBottom Andrea Rossato **20080218180504] [Add TabBarDecoration, a layout modifier to add a bar of tabs to any layout Andrea Rossato **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 **20080218131320] [Refactor MouseResize, remove isDecoration and introduce isInStack, isVisible, isInvisible Andrea Rossato **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 **20080217132734] [Prompt.Theme: use mkComplFunFromList' to generate completions Andrea Rossato **20080217124453] [some code formatting Andrea Rossato **20080217124434] [Prompt: comment only (clafiry completionToCommand uses) Andrea Rossato **20080216181620] [Prompt: comment only (remove confusing remarks about commandToComplete) Andrea Rossato **20080216180412] [Prompt: haddock fixes only Andrea Rossato **20080216172331] [Prompt.XMonad: use mkComplFunFromList' to get all the completions with an empty command line Andrea Rossato **20080216133949] [Prompt.Window: remove unneeded and ugly escaping/unescaping Andrea Rossato **20080216133842] [Theme: move theme's nextCompletion implementation to Prompt.getNextCompletion Andrea Rossato **20080216133738] [Shell: escape the string in the command line only Andrea Rossato **20080216133651] [Prompt: add some methods to make completions more flexible Andrea Rossato **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 **20080216114159] [Prompt.Shell: if there's just one completion and it is a directory add a trailing slash Andrea Rossato **20080216114005] [Prompt: added nextCompletion and commandToComplete methods to fine tune prompts' completion functions Andrea Rossato **20080216113723] [Util.Themes: add ppThemeInfor to render the theme info Andrea Rossato **20080216113635] [DecorationMadness: resizable layouts now use MouseResize too Andrea Rossato **20080212173645] [SimpleFloat now uses MouseResize Andrea Rossato **20080212173615] [Add Actions.MouseResize: a layout modifier to resize windows with the mouse Andrea Rossato **20080212173455] [Decoration: remove mouse resize and more Andrea Rossato **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 **20080211123056] [Tabbed and SimpleTabbed (in DecorationMadness) define their own decorationMouseDragHook method Andrea Rossato **20080211114043 ... to disable mouse drag in tabbed layouts ] [Decoration: DecorationStyle class cleanup and focus/drag unification Andrea Rossato **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 **20080210222406 This allows using DynamicLog not only for statusbar. ] [DecorationMadness: comment only Andrea Rossato **20080210131427] [DecorationMadness: added a few floating layouts Andrea Rossato **20080210122523] [SimpleFloat: export SimpleFloat and add documentation Andrea Rossato **20080210113159] [Move DefaultDecoration from DecorationMadness to Decoration Andrea Rossato **20080210104304] [Themes: added robertTheme and donaldTheme Andrea Rossato **20080210083016] [DecorationMadness: make tunable tabbed layouts respect the Theme decoHeight field Andrea Rossato **20080210075322] [ScreenResize: vertical and horizontal now respond to SetTheme Andrea Rossato **20080210074544 And so they will change the screen dimension accordingly. ] [WindowGo.hs: fix syntax in example Brent Yorgey **20080209225135] [+doc for WindowGo.hs: I've discovered a common usecase for me for raiseMaybe gwern0@gmail.com**20080205032155] [Run.hs: add an option to runinterms gwern0@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
**20080209182515] [Decoration: change mouseEventHook to decoEventHook and more Andrea Rossato **20080209165101 Fix also the problem with window's movement when the grabbing starts ] [Tabbed: add simpleTabbed and fx documentation Andrea Rossato **20080209163917 simpleTabbed is just a version of tabbed with default theme and default srhinker. ] [Arossato: update to latest changes Andrea Rossato **20080208140604] [Decoration: enable mouse dragging of windows Andrea Rossato **20080208083602] [WindowArranger: add a SetGeometry message - needed to enable mouseDrag Andrea Rossato **20080208083413] [Decoration: add a mouseEventHook methohd and move mouse button event there Andrea Rossato **20080208073514] [Util.Thems: some more typos in comments Andrea Rossato **20080207233341] [Util.Themes: documentation and export list (added themes that have been left out) Andrea Rossato **20080207232251] [Prompt.Theme: comments and some point-free Andrea Rossato **20080207232155] [oxymor00nTheme **20080207213100] [add swapScreen to CycleWS **20080206191032 * add support for swapping the workspaces on screens to CycleWS ] [Decoration: consistency of variable names Andrea Rossato **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 **20080207184321] [Decoration: add a SetTheme message and releaseResources Andrea Rossato **20080207184048 ...which should make it harder to forget to release the font structure. ] [cabal file: respect alphabetic order for modules Andrea Rossato **20080207183153] [Add Util.Themes to collect user contributed themes Andrea Rossato **20080207182843] [SimpleFloat: comment only Andrea Rossato **20080207182438] [Update to safer initColor api Don Stewart **20080206192232] [use Util.WorkspaceCompare in Prompt.Workspace. David Roundy **20080206004057] [roll back to previous version of Droundy.hs. David Roundy **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
**20080205203556] [make tabbed work nicely with LayoutCombinators and WindowNavigation. David Roundy **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 **20080205202027] [ XMonad.Actions.WindowGo: add a runOrRaise module for Joseph Garvin with the help of Spencer Janssen gwern0@gmail.com**20080204173402] [enable proper handling of panels in droundy config. David Roundy **20080204030843] [enable button click for focus in tabbed. David Roundy **20080204010536 Note that this patch doesn't work with Thu Dec 27 03:03:56 EST 2007 Spencer Janssen
* 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
**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 **20080204005350] [CycleWS: change example binding for toggleWS from mod-t to mod-z. example bindings shouldn't conflict with default key bindings. Brent Yorgey **20080201202126] [REMOVE RotView: use CycleWS instead. Brent Yorgey **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 **20080201121524] [WorkspaceCompare: some refactoring. Brent Yorgey **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 **20080131161948] [Added a handy tip to the documentation of XMonad.Actions.Search v.dijk.bas@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 **20080131082314] [Remove LayoutCombinator class and revert PerWorkspace to its Maybe Bool state Andrea Rossato **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
**20080131012728] [DynamicLog: lots of additional documentation; add byorgeyPP as an example dzen config Brent Yorgey **20080130205219] [Extended PP with sorting algorithm specification and added xinerama sorting Juraj Hercek **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 **20080130124609] [Various decorations related updates Spencer Janssen **20080130064624 * remove deprecated TConf stuff * Remove 'style' from DeConf * Change DeConf to Theme * share defaultTheme across all decorations ] [TwoPane: add description string Joachim Fasting **20080126141332] [add XMonad.Actions.CycleSelectedLayouts Roman Cheplyaka **20080116205020] [Search.hs: add documentation and two more search engines (MathWorld and Google Scholar) Brent Yorgey **20080128190443] [xmonad-contrib.cabal: add build-type field to get rid of Cabal warning Brent Yorgey **20080128190137] [LayoutCombinator class: code clean up Andrea Rossato **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 **20080129192903] [Named: reimplemented as a LayoutModifier and updated Config.Droundy accordingly Andrea Rossato **20080128161343] [LayoutModifier: add modifyDescription for completely override the modified layout description Andrea Rossato **20080128160614] [Make ToggleLayouts and Named implement emptyLayout Andrea Rossato **20080128151535] [Decoration: the fontset must be released even when we don't decorate the first window Andrea Rossato **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 **20080127233521] [Decoration: after deleting the windows we must update the layout modifier Andrea Rossato **20080127231815 Thanks to Feuerbach for reporting this. ] [Reflect: reimplemented as a layout modifier (which makes it compatible with windowArranger and decoration) Andrea Rossato **20080127165854] [SimpleFLoat: change the description to Float (Simple is the decoration description) Andrea Rossato **20080127144556] [ManageDocks: implement AvoidStruts as a layout modifier Andrea Rossato **20080127144301] [ResizeScreen has been rewritten as a layout modifier Andrea Rossato **20080127140837] [LayoutModifier add a modifyLayout Andrea Rossato **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
**20080127092415] [Add ResizeScreen, a layout modifier for modifing the screen geometry Andrea Rossato **20080127010755] [WindowArranger can now arrange all windows Andrea Rossato **20080126233053 This is useful for SimpleFloat, whose state can now persists across layout switches. ] [Arossato: updated my config to recent changes Andrea Rossato **20080126205638] [Add SimpleFloat a very basic floating layout that will place windows according to their size hints Andrea Rossato **20080126205410] [WindoWrranger: export the WindowArranger type (see the upcoming SimpleFloat) Andrea Rossato **20080126204605] [ShowWName: show the name of empty layouts too Andrea Rossato **20080126190214] [ManageDocks: add emptyLayout definition for supporting the new decoration framework Andrea Rossato **20080126185936] [Decoration: code formatting only Andrea Rossato **20080126101354] [export DeConfig to avoid importing Decoration Andrea Rossato **20080126101049] [Prompt: code formatting only Andrea Rossato **20080126093234] [Don't export TConf anymore and export DeConfig instead Andrea Rossato **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
**20080125152311] [Add DwmStyle, a layout modifier to add dwm-style decorations to windows in any layout Andrea Rossato **20080125152152] [Adde SimpleDecoration, a layout modifier to add simple decorations to windows in any layout Andrea Rossato **20080125152106] [Add Layout.Simplest, the simplest layout Andrea Rossato **20080125152015] [Add Decoration, a layout modifier and a class for easily writing decorated layouts Andrea Rossato **20080125151726] [Add WindowArranger, a layout modifier to move and resize windows with the keyboard Andrea Rossato **20080125151633] [ShowWName: moved fi to XUtils Andrea Rossato **20080124134725] [XUtils: add functions for operating on lists of windows and export fi Andrea Rossato **20080124134638] [LayoutModifier: add emptyLayoutMod for dealing with empty workspaces Andrea Rossato **20080124015605] [LayoutModifier: add pureMess and pureModifier to the LayoutModifier class Andrea Rossato **20080122111319] [Layout.ShowWName: generalize the instance Andrea Rossato **20080115045139] [add emptyLayout to MultiToggle Lukas Mai **20080128175313] [grammar fix Lukas Mai **20080128175059] [TAG 0.6 Spencer Janssen **20080127222114] Patch bundle hash: 3bbcbe93e994691f7bb76f141aa787c9b20e8a21 ------------------------------------------------------------------------
New patches:
[Change floats to always use the current screen robreim@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@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
**20080307184223] [more general properties for view, greedyView Don Stewart **20080307181657] [rework failure cases in StackSet.view Don Stewart **20080307181634] [bit more code coverage Don Stewart **20080307180905] [more tests. slightly better test coverage Don Stewart **20080227180113] [test geometry setting Don Stewart **20080227175554] [incorrect invariant test for greedyView Don Stewart **20080225180350] [Add a startupHook. Brent Yorgey **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 **20080204192348] [update LOC claim in man page gwern0@gmail.com**20080215211420] [add quickstart instructions Don Stewart **20080212203502] [Remove non-existent windows on restart Spencer Janssen **20080207091140] [Lift initColor exceptions into Maybe Don Stewart **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
**20080206192533] [module uses CPP Don Stewart **20080206190521] [Rename runManageHook to runQuery Spencer Janssen **20080204053336] [let enter dismiss compile errors daniel@wagner-home.com**20080203202852] [Core.hs, StackSet.hs: some documentation updates Brent Yorgey **20080201190653] [Make Mirror implement emptyLayout Andrea Rossato **20080128001834] [xmonad.cabal: add `build-type' to make Cabal happy "Valery V. Vorotyntsev" **20080131163213] [Get version from the Paths_xmonad module generated by Cabal Daniel Neri **20080129144037 No need to bump version in more than one place. ] [Kill stale xmonad 0.1 comments Spencer Janssen **20080128211418] [Point to 0.6 release of contrib Spencer Janssen **20080128101115] [notes on releases Don Stewart **20080128171012] [bump output of --version Don Stewart **20080128170840] [Generalize the type of catchIO, use it in Main.hs Spencer Janssen **20080128054651] [Add emptyLayout to LayoutClass, a method to be called when a workspace is empty Andrea Rossato **20080124013207] [clarify copyright Don Stewart **20080108185640] [TAG 0.6 Spencer Janssen **20080127220633] [More other-modules Spencer Janssen **20080127220152] [Update example config Spencer Janssen **20080127212331] [Bump version to 0.6 Spencer Janssen **20080127205000] [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: 181ff6efdf7bb0d4a72ad7d9d5a8234ce85b3595 ------------------------------------------------------------------------
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad

Oh, I thought we talked about this? Hmm -- you should hang out on the irc channel :) There were a number of issues, but the main thing is that moving clients from one screen to another no longer caused the window to attach to the new screen. Instead, the window would wobble and get dragged back to the first workspace. So while I liked the general idea, we need to tweak it so that you can still move clients to new screens -- it should just be popup windows that get constrained to the current screen. See these bug reports filed after we first applied the patch, http://code.google.com/p/xmonad/issues/detail?id=159 http://code.google.com/p/xmonad/issues/detail?id=160 http://code.google.com/p/xmonad/issues/detail?id=161 which were fixed when reverting it. -- Don robreim:
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
* Revert float location patch. Not Xinerama safe Fri Mar 7 18:19:39 PST 2008 robreim@bobturf.org * Small linecount fix :)
Fri Mar 7 17:58:29 PST 2008 robreim@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@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
**20080307203022] [Shell: add support for UTF-8 locales Andrea Rossato **20080302095924] [Font and XUtils: add UTF-8 support and various fixes related to XFT Andrea Rossato **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 **20080229100346] [Ssh: complete known hosts with non standard ports too Andrea Rossato **20080229095014] [Fix xmonadPromptC and use it. nicolas.pouillard@gmail.com**20080306163928] [Documentation typo about UpdatePointer. nicolas.pouillard@gmail.com**20080306163516] [Fix ToggleOff: It was adding 0.1 to the magnification. Braden Shepherdson **20080305222302] [Removed WmiiActions module. Juraj Hercek **20080305082336] [Adjusted signature of DirExec module functions. Juraj Hercek **20080301171905 - added parameter for function which executes the selected program - renamed dirExecPromptWithName to dirExecPromptNamed ] [Import of new DirExec module. Juraj Hercek **20080229212257 - allows execution of executable files from specific directory ] [Hooks.DynamicLog: export xmobarPP Dmitry Kurochkin **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 **20080303204619] [Util.Run: minor clarification in comment gwern0@gmail.com**20080303051513] [Add XMonad.Actions.PerWorkspaceKeys Roman Cheplyaka **20080302202346] [Haddock fix: Changed URL-Markup Dominik Bruhn **20080302185435] [switch Droundy to smartBorders (which works better with ScratchWorkspace). David Roundy **20080301191103] [Changed semantics of UpdatePointer to move to nearest point robreim@bobturf.org**20080301143126] [UpdatePointer XMonadContrib module robreim@bobturf.org**20080301134401] [XMonad.Layout.Simplest: add FlexibleInstances pragma Lukas Mai **20080301061714] [XMonad.Layout.ScratchWorkspace: avoid warnings, make tests compile again Lukas Mai **20080301061625] [implement ScratchWorkspace. David Roundy **20080229224316] [in Prompt.Workspace sort by official workspace order. David Roundy **20080229223047] [simplify Simplest--allow it to apply to non-Windows. David Roundy **20080229221326] [XMonad.Actions.MouseGestures.mkCollect: generalize type Lukas Mai **20080229211732] [Add bottom-tabbed layout. Roman Cheplyaka **20080229155120] [XMonad.Actions.MouseGestures: refactoring, code simplification Lukas Mai **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
**20080227164602] [XMonad.Util.Scratchpad: change 'XConfig Layout' to 'XConfig l', to avoid type mismatches; the exact layout type doesn't actually matter Brent Yorgey **20080227014201] [EZConfig: add an emacs-style keybinding parser! Brent Yorgey **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
**20080226202639] [update inactive debugging code in MouseGestures; no visible changes Lukas Mai **20071109020755] [Scratchpad terminal Braden Shepherdson **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
**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
**20080225062330] [Fix haddock hyperlink. Roman Cheplyaka **20080224205416] [Add XMonad.Layout.IM Roman Cheplyaka **20080221085752] [Export XMonad.Layout.Grid.arrange (for use in XMonad.Layout.IM) Roman Cheplyaka **20080221062204] [Decoration: some haddock updates Andrea Rossato **20080220214934] [Small refactoring. Nils Anders Danielsson **20080210224756] [Fixed off-by-one error which broke strut handling for some panels. Nils Anders Danielsson **20080210222600] [Decoration: fix an issue with decoration window creation and more Andrea Rossato **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 **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
**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
**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 **20080219163058] [Decoration: comment only Andrea Rossato **20080219161339 This is a detailed commentary of all the code. ] [Decoratione: generate rectangles first, and create windows accordingly Andrea Rossato **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
**20080219055650] [Tabbed and TabBarDecoration: no need to implement decorateFirst (the default is used) Andrea Rossato **20080218184950] [TabBarDecoration: simpleTabBar automatically applies resizeVertical Andrea Rossato **20080218180922 Added some comments too. ] [DwmStyle: comment fix only Andrea Rossato **20080218180727] [ResizeScreen: add resizeHorizontalRight and resizeVerticalBottom Andrea Rossato **20080218180504] [Add TabBarDecoration, a layout modifier to add a bar of tabs to any layout Andrea Rossato **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 **20080218131320] [Refactor MouseResize, remove isDecoration and introduce isInStack, isVisible, isInvisible Andrea Rossato **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 **20080217132734] [Prompt.Theme: use mkComplFunFromList' to generate completions Andrea Rossato **20080217124453] [some code formatting Andrea Rossato **20080217124434] [Prompt: comment only (clafiry completionToCommand uses) Andrea Rossato **20080216181620] [Prompt: comment only (remove confusing remarks about commandToComplete) Andrea Rossato **20080216180412] [Prompt: haddock fixes only Andrea Rossato **20080216172331] [Prompt.XMonad: use mkComplFunFromList' to get all the completions with an empty command line Andrea Rossato **20080216133949] [Prompt.Window: remove unneeded and ugly escaping/unescaping Andrea Rossato **20080216133842] [Theme: move theme's nextCompletion implementation to Prompt.getNextCompletion Andrea Rossato **20080216133738] [Shell: escape the string in the command line only Andrea Rossato **20080216133651] [Prompt: add some methods to make completions more flexible Andrea Rossato **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 **20080216114159] [Prompt.Shell: if there's just one completion and it is a directory add a trailing slash Andrea Rossato **20080216114005] [Prompt: added nextCompletion and commandToComplete methods to fine tune prompts' completion functions Andrea Rossato **20080216113723] [Util.Themes: add ppThemeInfor to render the theme info Andrea Rossato **20080216113635] [DecorationMadness: resizable layouts now use MouseResize too Andrea Rossato **20080212173645] [SimpleFloat now uses MouseResize Andrea Rossato **20080212173615] [Add Actions.MouseResize: a layout modifier to resize windows with the mouse Andrea Rossato **20080212173455] [Decoration: remove mouse resize and more Andrea Rossato **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 **20080211123056] [Tabbed and SimpleTabbed (in DecorationMadness) define their own decorationMouseDragHook method Andrea Rossato **20080211114043 ... to disable mouse drag in tabbed layouts ] [Decoration: DecorationStyle class cleanup and focus/drag unification Andrea Rossato **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 **20080210222406 This allows using DynamicLog not only for statusbar. ] [DecorationMadness: comment only Andrea Rossato **20080210131427] [DecorationMadness: added a few floating layouts Andrea Rossato **20080210122523] [SimpleFloat: export SimpleFloat and add documentation Andrea Rossato **20080210113159] [Move DefaultDecoration from DecorationMadness to Decoration Andrea Rossato **20080210104304] [Themes: added robertTheme and donaldTheme Andrea Rossato **20080210083016] [DecorationMadness: make tunable tabbed layouts respect the Theme decoHeight field Andrea Rossato **20080210075322] [ScreenResize: vertical and horizontal now respond to SetTheme Andrea Rossato **20080210074544 And so they will change the screen dimension accordingly. ] [WindowGo.hs: fix syntax in example Brent Yorgey **20080209225135] [+doc for WindowGo.hs: I've discovered a common usecase for me for raiseMaybe gwern0@gmail.com**20080205032155] [Run.hs: add an option to runinterms gwern0@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
**20080209182515] [Decoration: change mouseEventHook to decoEventHook and more Andrea Rossato **20080209165101 Fix also the problem with window's movement when the grabbing starts ] [Tabbed: add simpleTabbed and fx documentation Andrea Rossato **20080209163917 simpleTabbed is just a version of tabbed with default theme and default srhinker. ] [Arossato: update to latest changes Andrea Rossato **20080208140604] [Decoration: enable mouse dragging of windows Andrea Rossato **20080208083602] [WindowArranger: add a SetGeometry message - needed to enable mouseDrag Andrea Rossato **20080208083413] [Decoration: add a mouseEventHook methohd and move mouse button event there Andrea Rossato **20080208073514] [Util.Thems: some more typos in comments Andrea Rossato **20080207233341] [Util.Themes: documentation and export list (added themes that have been left out) Andrea Rossato **20080207232251] [Prompt.Theme: comments and some point-free Andrea Rossato **20080207232155] [oxymor00nTheme **20080207213100] [add swapScreen to CycleWS **20080206191032 * add support for swapping the workspaces on screens to CycleWS ] [Decoration: consistency of variable names Andrea Rossato **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 **20080207184321] [Decoration: add a SetTheme message and releaseResources Andrea Rossato **20080207184048 ...which should make it harder to forget to release the font structure. ] [cabal file: respect alphabetic order for modules Andrea Rossato **20080207183153] [Add Util.Themes to collect user contributed themes Andrea Rossato **20080207182843] [SimpleFloat: comment only Andrea Rossato **20080207182438] [Update to safer initColor api Don Stewart **20080206192232] [use Util.WorkspaceCompare in Prompt.Workspace. David Roundy **20080206004057] [roll back to previous version of Droundy.hs. David Roundy **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
**20080205203556] [make tabbed work nicely with LayoutCombinators and WindowNavigation. David Roundy **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 **20080205202027] [ XMonad.Actions.WindowGo: add a runOrRaise module for Joseph Garvin with the help of Spencer Janssen gwern0@gmail.com**20080204173402] [enable proper handling of panels in droundy config. David Roundy **20080204030843] [enable button click for focus in tabbed. David Roundy **20080204010536 Note that this patch doesn't work with Thu Dec 27 03:03:56 EST 2007 Spencer Janssen
* 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
**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 **20080204005350] [CycleWS: change example binding for toggleWS from mod-t to mod-z. example bindings shouldn't conflict with default key bindings. Brent Yorgey **20080201202126] [REMOVE RotView: use CycleWS instead. Brent Yorgey **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 **20080201121524] [WorkspaceCompare: some refactoring. Brent Yorgey **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 **20080131161948] [Added a handy tip to the documentation of XMonad.Actions.Search v.dijk.bas@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 **20080131082314] [Remove LayoutCombinator class and revert PerWorkspace to its Maybe Bool state Andrea Rossato **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
**20080131012728] [DynamicLog: lots of additional documentation; add byorgeyPP as an example dzen config Brent Yorgey **20080130205219] [Extended PP with sorting algorithm specification and added xinerama sorting Juraj Hercek **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 **20080130124609] [Various decorations related updates Spencer Janssen **20080130064624 * remove deprecated TConf stuff * Remove 'style' from DeConf * Change DeConf to Theme * share defaultTheme across all decorations ] [TwoPane: add description string Joachim Fasting **20080126141332] [add XMonad.Actions.CycleSelectedLayouts Roman Cheplyaka **20080116205020] [Search.hs: add documentation and two more search engines (MathWorld and Google Scholar) Brent Yorgey **20080128190443] [xmonad-contrib.cabal: add build-type field to get rid of Cabal warning Brent Yorgey **20080128190137] [LayoutCombinator class: code clean up Andrea Rossato **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 **20080129192903] [Named: reimplemented as a LayoutModifier and updated Config.Droundy accordingly Andrea Rossato **20080128161343] [LayoutModifier: add modifyDescription for completely override the modified layout description Andrea Rossato **20080128160614] [Make ToggleLayouts and Named implement emptyLayout Andrea Rossato **20080128151535] [Decoration: the fontset must be released even when we don't decorate the first window Andrea Rossato **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 **20080127233521] [Decoration: after deleting the windows we must update the layout modifier Andrea Rossato **20080127231815 Thanks to Feuerbach for reporting this. ] [Reflect: reimplemented as a layout modifier (which makes it compatible with windowArranger and decoration) Andrea Rossato **20080127165854] [SimpleFLoat: change the description to Float (Simple is the decoration description) Andrea Rossato **20080127144556] [ManageDocks: implement AvoidStruts as a layout modifier Andrea Rossato **20080127144301] [ResizeScreen has been rewritten as a layout modifier Andrea Rossato **20080127140837] [LayoutModifier add a modifyLayout Andrea Rossato **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
**20080127092415] [Add ResizeScreen, a layout modifier for modifing the screen geometry Andrea Rossato **20080127010755] [WindowArranger can now arrange all windows Andrea Rossato **20080126233053 This is useful for SimpleFloat, whose state can now persists across layout switches. ] [Arossato: updated my config to recent changes Andrea Rossato **20080126205638] [Add SimpleFloat a very basic floating layout that will place windows according to their size hints Andrea Rossato **20080126205410] [WindoWrranger: export the WindowArranger type (see the upcoming SimpleFloat) Andrea Rossato **20080126204605] [ShowWName: show the name of empty layouts too Andrea Rossato **20080126190214] [ManageDocks: add emptyLayout definition for supporting the new decoration framework Andrea Rossato **20080126185936] [Decoration: code formatting only Andrea Rossato **20080126101354] [export DeConfig to avoid importing Decoration Andrea Rossato **20080126101049] [Prompt: code formatting only Andrea Rossato **20080126093234] [Don't export TConf anymore and export DeConfig instead Andrea Rossato **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
**20080125152311] [Add DwmStyle, a layout modifier to add dwm-style decorations to windows in any layout Andrea Rossato **20080125152152] [Adde SimpleDecoration, a layout modifier to add simple decorations to windows in any layout Andrea Rossato **20080125152106] [Add Layout.Simplest, the simplest layout Andrea Rossato **20080125152015] [Add Decoration, a layout modifier and a class for easily writing decorated layouts Andrea Rossato **20080125151726] [Add WindowArranger, a layout modifier to move and resize windows with the keyboard Andrea Rossato **20080125151633] [ShowWName: moved fi to XUtils Andrea Rossato **20080124134725] [XUtils: add functions for operating on lists of windows and export fi Andrea Rossato **20080124134638] [LayoutModifier: add emptyLayoutMod for dealing with empty workspaces Andrea Rossato **20080124015605] [LayoutModifier: add pureMess and pureModifier to the LayoutModifier class Andrea Rossato **20080122111319] [Layout.ShowWName: generalize the instance Andrea Rossato **20080115045139] [add emptyLayout to MultiToggle Lukas Mai **20080128175313] [grammar fix Lukas Mai **20080128175059] [TAG 0.6 Spencer Janssen **20080127222114] Patch bundle hash: 3bbcbe93e994691f7bb76f141aa787c9b20e8a21 ------------------------------------------------------------------------
New patches:
[Change floats to always use the current screen robreim@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@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
**20080307184223] [more general properties for view, greedyView Don Stewart **20080307181657] [rework failure cases in StackSet.view Don Stewart **20080307181634] [bit more code coverage Don Stewart **20080307180905] [more tests. slightly better test coverage Don Stewart **20080227180113] [test geometry setting Don Stewart **20080227175554] [incorrect invariant test for greedyView Don Stewart **20080225180350] [Add a startupHook. Brent Yorgey **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 **20080204192348] [update LOC claim in man page gwern0@gmail.com**20080215211420] [add quickstart instructions Don Stewart **20080212203502] [Remove non-existent windows on restart Spencer Janssen **20080207091140] [Lift initColor exceptions into Maybe Don Stewart **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
**20080206192533] [module uses CPP Don Stewart **20080206190521] [Rename runManageHook to runQuery Spencer Janssen **20080204053336] [let enter dismiss compile errors daniel@wagner-home.com**20080203202852] [Core.hs, StackSet.hs: some documentation updates Brent Yorgey **20080201190653] [Make Mirror implement emptyLayout Andrea Rossato **20080128001834] [xmonad.cabal: add `build-type' to make Cabal happy "Valery V. Vorotyntsev" **20080131163213] [Get version from the Paths_xmonad module generated by Cabal Daniel Neri **20080129144037 No need to bump version in more than one place. ] [Kill stale xmonad 0.1 comments Spencer Janssen **20080128211418] [Point to 0.6 release of contrib Spencer Janssen **20080128101115] [notes on releases Don Stewart **20080128171012] [bump output of --version Don Stewart **20080128170840] [Generalize the type of catchIO, use it in Main.hs Spencer Janssen **20080128054651] [Add emptyLayout to LayoutClass, a method to be called when a workspace is empty Andrea Rossato **20080124013207] [clarify copyright Don Stewart **20080108185640] [TAG 0.6 Spencer Janssen **20080127220633] [More other-modules Spencer Janssen **20080127220152] [Update example config Spencer Janssen **20080127212331] [Bump version to 0.6 Spencer Janssen **20080127205000] [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: 181ff6efdf7bb0d4a72ad7d9d5a8234ce85b3595 ------------------------------------------------------------------------
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad

Thanks. I'll take a look when I get a chance. Don Stewart wrote:
Oh, I thought we talked about this? Hmm -- you should hang out on the irc channel :)
There were a number of issues, but the main thing is that moving clients from one screen to another no longer caused the window to attach to the new screen.
Instead, the window would wobble and get dragged back to the first workspace. So while I liked the general idea, we need to tweak it so that you can still move clients to new screens -- it should just be popup windows that get constrained to the current screen.
See these bug reports filed after we first applied the patch,
http://code.google.com/p/xmonad/issues/detail?id=159 http://code.google.com/p/xmonad/issues/detail?id=160 http://code.google.com/p/xmonad/issues/detail?id=161
which were fixed when reverting it.
-- Don
robreim:
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
* Revert float location patch. Not Xinerama safe Fri Mar 7 18:19:39 PST 2008 robreim@bobturf.org * Small linecount fix :)
Fri Mar 7 17:58:29 PST 2008 robreim@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@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
**20080307203022] [Shell: add support for UTF-8 locales Andrea Rossato **20080302095924] [Font and XUtils: add UTF-8 support and various fixes related to XFT Andrea Rossato **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 **20080229100346] [Ssh: complete known hosts with non standard ports too Andrea Rossato **20080229095014] [Fix xmonadPromptC and use it. nicolas.pouillard@gmail.com**20080306163928] [Documentation typo about UpdatePointer. nicolas.pouillard@gmail.com**20080306163516] [Fix ToggleOff: It was adding 0.1 to the magnification. Braden Shepherdson **20080305222302] [Removed WmiiActions module. Juraj Hercek **20080305082336] [Adjusted signature of DirExec module functions. Juraj Hercek **20080301171905 - added parameter for function which executes the selected program - renamed dirExecPromptWithName to dirExecPromptNamed ] [Import of new DirExec module. Juraj Hercek **20080229212257 - allows execution of executable files from specific directory ] [Hooks.DynamicLog: export xmobarPP Dmitry Kurochkin **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 **20080303204619] [Util.Run: minor clarification in comment gwern0@gmail.com**20080303051513] [Add XMonad.Actions.PerWorkspaceKeys Roman Cheplyaka **20080302202346] [Haddock fix: Changed URL-Markup Dominik Bruhn **20080302185435] [switch Droundy to smartBorders (which works better with ScratchWorkspace). David Roundy **20080301191103] [Changed semantics of UpdatePointer to move to nearest point robreim@bobturf.org**20080301143126] [UpdatePointer XMonadContrib module robreim@bobturf.org**20080301134401] [XMonad.Layout.Simplest: add FlexibleInstances pragma Lukas Mai **20080301061714] [XMonad.Layout.ScratchWorkspace: avoid warnings, make tests compile again Lukas Mai **20080301061625] [implement ScratchWorkspace. David Roundy **20080229224316] [in Prompt.Workspace sort by official workspace order. David Roundy **20080229223047] [simplify Simplest--allow it to apply to non-Windows. David Roundy **20080229221326] [XMonad.Actions.MouseGestures.mkCollect: generalize type Lukas Mai **20080229211732] [Add bottom-tabbed layout. Roman Cheplyaka **20080229155120] [XMonad.Actions.MouseGestures: refactoring, code simplification Lukas Mai **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
**20080227164602] [XMonad.Util.Scratchpad: change 'XConfig Layout' to 'XConfig l', to avoid type mismatches; the exact layout type doesn't actually matter Brent Yorgey **20080227014201] [EZConfig: add an emacs-style keybinding parser! Brent Yorgey **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
**20080226202639] [update inactive debugging code in MouseGestures; no visible changes Lukas Mai **20071109020755] [Scratchpad terminal Braden Shepherdson **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
**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
**20080225062330] [Fix haddock hyperlink. Roman Cheplyaka **20080224205416] [Add XMonad.Layout.IM Roman Cheplyaka **20080221085752] [Export XMonad.Layout.Grid.arrange (for use in XMonad.Layout.IM) Roman Cheplyaka **20080221062204] [Decoration: some haddock updates Andrea Rossato **20080220214934] [Small refactoring. Nils Anders Danielsson **20080210224756] [Fixed off-by-one error which broke strut handling for some panels. Nils Anders Danielsson **20080210222600] [Decoration: fix an issue with decoration window creation and more Andrea Rossato **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 **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
**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
**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 **20080219163058] [Decoration: comment only Andrea Rossato **20080219161339 This is a detailed commentary of all the code. ] [Decoratione: generate rectangles first, and create windows accordingly Andrea Rossato **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
**20080219055650] [Tabbed and TabBarDecoration: no need to implement decorateFirst (the default is used) Andrea Rossato **20080218184950] [TabBarDecoration: simpleTabBar automatically applies resizeVertical Andrea Rossato **20080218180922 Added some comments too. ] [DwmStyle: comment fix only Andrea Rossato **20080218180727] [ResizeScreen: add resizeHorizontalRight and resizeVerticalBottom Andrea Rossato **20080218180504] [Add TabBarDecoration, a layout modifier to add a bar of tabs to any layout Andrea Rossato **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 **20080218131320] [Refactor MouseResize, remove isDecoration and introduce isInStack, isVisible, isInvisible Andrea Rossato **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 **20080217132734] [Prompt.Theme: use mkComplFunFromList' to generate completions Andrea Rossato **20080217124453] [some code formatting Andrea Rossato **20080217124434] [Prompt: comment only (clafiry completionToCommand uses) Andrea Rossato **20080216181620] [Prompt: comment only (remove confusing remarks about commandToComplete) Andrea Rossato **20080216180412] [Prompt: haddock fixes only Andrea Rossato **20080216172331] [Prompt.XMonad: use mkComplFunFromList' to get all the completions with an empty command line Andrea Rossato **20080216133949] [Prompt.Window: remove unneeded and ugly escaping/unescaping Andrea Rossato **20080216133842] [Theme: move theme's nextCompletion implementation to Prompt.getNextCompletion Andrea Rossato **20080216133738] [Shell: escape the string in the command line only Andrea Rossato **20080216133651] [Prompt: add some methods to make completions more flexible Andrea Rossato **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 **20080216114159] [Prompt.Shell: if there's just one completion and it is a directory add a trailing slash Andrea Rossato **20080216114005] [Prompt: added nextCompletion and commandToComplete methods to fine tune prompts' completion functions Andrea Rossato **20080216113723] [Util.Themes: add ppThemeInfor to render the theme info Andrea Rossato **20080216113635] [DecorationMadness: resizable layouts now use MouseResize too Andrea Rossato **20080212173645] [SimpleFloat now uses MouseResize Andrea Rossato **20080212173615] [Add Actions.MouseResize: a layout modifier to resize windows with the mouse Andrea Rossato **20080212173455] [Decoration: remove mouse resize and more Andrea Rossato **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 **20080211123056] [Tabbed and SimpleTabbed (in DecorationMadness) define their own decorationMouseDragHook method Andrea Rossato **20080211114043 ... to disable mouse drag in tabbed layouts ] [Decoration: DecorationStyle class cleanup and focus/drag unification Andrea Rossato **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 **20080210222406 This allows using DynamicLog not only for statusbar. ] [DecorationMadness: comment only Andrea Rossato **20080210131427] [DecorationMadness: added a few floating layouts Andrea Rossato **20080210122523] [SimpleFloat: export SimpleFloat and add documentation Andrea Rossato **20080210113159] [Move DefaultDecoration from DecorationMadness to Decoration Andrea Rossato **20080210104304] [Themes: added robertTheme and donaldTheme Andrea Rossato **20080210083016] [DecorationMadness: make tunable tabbed layouts respect the Theme decoHeight field Andrea Rossato **20080210075322] [ScreenResize: vertical and horizontal now respond to SetTheme Andrea Rossato **20080210074544 And so they will change the screen dimension accordingly. ] [WindowGo.hs: fix syntax in example Brent Yorgey **20080209225135] [+doc for WindowGo.hs: I've discovered a common usecase for me for raiseMaybe gwern0@gmail.com**20080205032155] [Run.hs: add an option to runinterms gwern0@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
**20080209182515] [Decoration: change mouseEventHook to decoEventHook and more Andrea Rossato **20080209165101 Fix also the problem with window's movement when the grabbing starts ] [Tabbed: add simpleTabbed and fx documentation Andrea Rossato **20080209163917 simpleTabbed is just a version of tabbed with default theme and default srhinker. ] [Arossato: update to latest changes Andrea Rossato **20080208140604] [Decoration: enable mouse dragging of windows Andrea Rossato **20080208083602] [WindowArranger: add a SetGeometry message - needed to enable mouseDrag Andrea Rossato **20080208083413] [Decoration: add a mouseEventHook methohd and move mouse button event there Andrea Rossato **20080208073514] [Util.Thems: some more typos in comments Andrea Rossato **20080207233341] [Util.Themes: documentation and export list (added themes that have been left out) Andrea Rossato **20080207232251] [Prompt.Theme: comments and some point-free Andrea Rossato **20080207232155] [oxymor00nTheme **20080207213100] [add swapScreen to CycleWS **20080206191032 * add support for swapping the workspaces on screens to CycleWS ] [Decoration: consistency of variable names Andrea Rossato **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 **20080207184321] [Decoration: add a SetTheme message and releaseResources Andrea Rossato **20080207184048 ...which should make it harder to forget to release the font structure. ] [cabal file: respect alphabetic order for modules Andrea Rossato **20080207183153] [Add Util.Themes to collect user contributed themes Andrea Rossato **20080207182843] [SimpleFloat: comment only Andrea Rossato **20080207182438] [Update to safer initColor api Don Stewart **20080206192232] [use Util.WorkspaceCompare in Prompt.Workspace. David Roundy **20080206004057] [roll back to previous version of Droundy.hs. David Roundy **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
**20080205203556] [make tabbed work nicely with LayoutCombinators and WindowNavigation. David Roundy **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 **20080205202027] [ XMonad.Actions.WindowGo: add a runOrRaise module for Joseph Garvin with the help of Spencer Janssen gwern0@gmail.com**20080204173402] [enable proper handling of panels in droundy config. David Roundy **20080204030843] [enable button click for focus in tabbed. David Roundy **20080204010536 Note that this patch doesn't work with Thu Dec 27 03:03:56 EST 2007 Spencer Janssen
* 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
**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 **20080204005350] [CycleWS: change example binding for toggleWS from mod-t to mod-z. example bindings shouldn't conflict with default key bindings. Brent Yorgey **20080201202126] [REMOVE RotView: use CycleWS instead. Brent Yorgey **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 **20080201121524] [WorkspaceCompare: some refactoring. Brent Yorgey **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 **20080131161948] [Added a handy tip to the documentation of XMonad.Actions.Search v.dijk.bas@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 **20080131082314] [Remove LayoutCombinator class and revert PerWorkspace to its Maybe Bool state Andrea Rossato **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
**20080131012728] [DynamicLog: lots of additional documentation; add byorgeyPP as an example dzen config Brent Yorgey **20080130205219] [Extended PP with sorting algorithm specification and added xinerama sorting Juraj Hercek **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 **20080130124609] [Various decorations related updates Spencer Janssen **20080130064624 * remove deprecated TConf stuff * Remove 'style' from DeConf * Change DeConf to Theme * share defaultTheme across all decorations ] [TwoPane: add description string Joachim Fasting **20080126141332] [add XMonad.Actions.CycleSelectedLayouts Roman Cheplyaka **20080116205020] [Search.hs: add documentation and two more search engines (MathWorld and Google Scholar) Brent Yorgey **20080128190443] [xmonad-contrib.cabal: add build-type field to get rid of Cabal warning Brent Yorgey **20080128190137] [LayoutCombinator class: code clean up Andrea Rossato **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 **20080129192903] [Named: reimplemented as a LayoutModifier and updated Config.Droundy accordingly Andrea Rossato **20080128161343] [LayoutModifier: add modifyDescription for completely override the modified layout description Andrea Rossato **20080128160614] [Make ToggleLayouts and Named implement emptyLayout Andrea Rossato **20080128151535] [Decoration: the fontset must be released even when we don't decorate the first window Andrea Rossato **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 **20080127233521] [Decoration: after deleting the windows we must update the layout modifier Andrea Rossato **20080127231815 Thanks to Feuerbach for reporting this. ] [Reflect: reimplemented as a layout modifier (which makes it compatible with windowArranger and decoration) Andrea Rossato **20080127165854] [SimpleFLoat: change the description to Float (Simple is the decoration description) Andrea Rossato **20080127144556] [ManageDocks: implement AvoidStruts as a layout modifier Andrea Rossato **20080127144301] [ResizeScreen has been rewritten as a layout modifier Andrea Rossato **20080127140837] [LayoutModifier add a modifyLayout Andrea Rossato **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
**20080127092415] [Add ResizeScreen, a layout modifier for modifing the screen geometry Andrea Rossato **20080127010755] [WindowArranger can now arrange all windows Andrea Rossato **20080126233053 This is useful for SimpleFloat, whose state can now persists across layout switches. ] [Arossato: updated my config to recent changes Andrea Rossato **20080126205638] [Add SimpleFloat a very basic floating layout that will place windows according to their size hints Andrea Rossato **20080126205410] [WindoWrranger: export the WindowArranger type (see the upcoming SimpleFloat) Andrea Rossato **20080126204605] [ShowWName: show the name of empty layouts too Andrea Rossato **20080126190214] [ManageDocks: add emptyLayout definition for supporting the new decoration framework Andrea Rossato **20080126185936] [Decoration: code formatting only Andrea Rossato **20080126101354] [export DeConfig to avoid importing Decoration Andrea Rossato **20080126101049] [Prompt: code formatting only Andrea Rossato **20080126093234] [Don't export TConf anymore and export DeConfig instead Andrea Rossato **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
**20080125152311] [Add DwmStyle, a layout modifier to add dwm-style decorations to windows in any layout Andrea Rossato **20080125152152] [Adde SimpleDecoration, a layout modifier to add simple decorations to windows in any layout Andrea Rossato **20080125152106] [Add Layout.Simplest, the simplest layout Andrea Rossato **20080125152015] [Add Decoration, a layout modifier and a class for easily writing decorated layouts Andrea Rossato **20080125151726] [Add WindowArranger, a layout modifier to move and resize windows with the keyboard Andrea Rossato **20080125151633] [ShowWName: moved fi to XUtils Andrea Rossato **20080124134725] [XUtils: add functions for operating on lists of windows and export fi Andrea Rossato **20080124134638] [LayoutModifier: add emptyLayoutMod for dealing with empty workspaces Andrea Rossato **20080124015605] [LayoutModifier: add pureMess and pureModifier to the LayoutModifier class Andrea Rossato **20080122111319] [Layout.ShowWName: generalize the instance Andrea Rossato **20080115045139] [add emptyLayout to MultiToggle Lukas Mai **20080128175313] [grammar fix Lukas Mai **20080128175059] [TAG 0.6 Spencer Janssen **20080127222114] Patch bundle hash: 3bbcbe93e994691f7bb76f141aa787c9b20e8a21 ------------------------------------------------------------------------
New patches:
[Change floats to always use the current screen robreim@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@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
**20080307184223] [more general properties for view, greedyView Don Stewart **20080307181657] [rework failure cases in StackSet.view Don Stewart **20080307181634] [bit more code coverage Don Stewart **20080307180905] [more tests. slightly better test coverage Don Stewart **20080227180113] [test geometry setting Don Stewart **20080227175554] [incorrect invariant test for greedyView Don Stewart **20080225180350] [Add a startupHook. Brent Yorgey **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 **20080204192348] [update LOC claim in man page gwern0@gmail.com**20080215211420] [add quickstart instructions Don Stewart **20080212203502] [Remove non-existent windows on restart Spencer Janssen **20080207091140] [Lift initColor exceptions into Maybe Don Stewart **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
**20080206192533] [module uses CPP Don Stewart **20080206190521] [Rename runManageHook to runQuery Spencer Janssen **20080204053336] [let enter dismiss compile errors daniel@wagner-home.com**20080203202852] [Core.hs, StackSet.hs: some documentation updates Brent Yorgey **20080201190653] [Make Mirror implement emptyLayout Andrea Rossato **20080128001834] [xmonad.cabal: add `build-type' to make Cabal happy "Valery V. Vorotyntsev" **20080131163213] [Get version from the Paths_xmonad module generated by Cabal Daniel Neri **20080129144037 No need to bump version in more than one place. ] [Kill stale xmonad 0.1 comments Spencer Janssen **20080128211418] [Point to 0.6 release of contrib Spencer Janssen **20080128101115] [notes on releases Don Stewart **20080128171012] [bump output of --version Don Stewart **20080128170840] [Generalize the type of catchIO, use it in Main.hs Spencer Janssen **20080128054651] [Add emptyLayout to LayoutClass, a method to be called when a workspace is empty Andrea Rossato **20080124013207] [clarify copyright Don Stewart **20080108185640] [TAG 0.6 Spencer Janssen **20080127220633] [More other-modules Spencer Janssen **20080127220152] [Update example config Spencer Janssen **20080127212331] [Bump version to 0.6 Spencer Janssen **20080127205000] [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: 181ff6efdf7bb0d4a72ad7d9d5a8234ce85b3595 ------------------------------------------------------------------------
_______________________________________________ xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad
xmonad mailing list xmonad@haskell.org http://www.haskell.org/mailman/listinfo/xmonad

I think the attached patch should provide the functionality of the original patch without the bugs. Perhaps someone who saw the bugs in the last patch could test to confirm that they don't exist in this one. Thanks Don Stewart wrote:
Oh, I thought we talked about this? Hmm -- you should hang out on the irc channel :)
There were a number of issues, but the main thing is that moving clients from one screen to another no longer caused the window to attach to the new screen.
Instead, the window would wobble and get dragged back to the first workspace. So while I liked the general idea, we need to tweak it so that you can still move clients to new screens -- it should just be popup windows that get constrained to the current screen.
See these bug reports filed after we first applied the patch,
http://code.google.com/p/xmonad/issues/detail?id=159 http://code.google.com/p/xmonad/issues/detail?id=160 http://code.google.com/p/xmonad/issues/detail?id=161
which were fixed when reverting it.

Applied, let's see if anyone notices. robreim:
I think the attached patch should provide the functionality of the original patch without the bugs. Perhaps someone who saw the bugs in the last patch could test to confirm that they don't exist in this one.
Thanks
Don Stewart wrote:
Oh, I thought we talked about this? Hmm -- you should hang out on the irc channel :)
There were a number of issues, but the main thing is that moving clients from one screen to another no longer caused the window to attach to the new screen.
Instead, the window would wobble and get dragged back to the first workspace. So while I liked the general idea, we need to tweak it so that you can still move clients to new screens -- it should just be popup windows that get constrained to the current screen.
See these bug reports filed after we first applied the patch,
http://code.google.com/p/xmonad/issues/detail?id=159 http://code.google.com/p/xmonad/issues/detail?id=160 http://code.google.com/p/xmonad/issues/detail?id=161
which were fixed when reverting it.

On Sat, 2008/04/05 23:01:44 +0900, Robert wrote:
I think the attached patch should provide the functionality of the original patch without the bugs. Perhaps someone who saw the bugs in the last patch could test to confirm that they don't exist in this one.
It does not have the same bugs. I am able to move windows from screen to screen with both the mouse and keyboard.

xmonad:
On Sat, 2008/04/05 23:01:44 +0900, Robert wrote:
I think the attached patch should provide the functionality of the original patch without the bugs. Perhaps someone who saw the bugs in the last patch could test to confirm that they don't exist in this one.
It does not have the same bugs. I am able to move windows from screen to screen with both the mouse and keyboard.
Wonderful, thanks for checking that lithis. Rob, good work -- and I'm surprised how short the code now is :) -- Don
participants (4)
-
Don Stewart
-
Juraj Hercek
-
lithis
-
Robert