SwapMaster (DwmPromote) and Stack reordering (was: Re: [xmonad] Newbie: Problems with Layouts and Syntax)

lithis xmonad at s001.hethrael.com
Sun Mar 16 17:04:16 EDT 2008


Here’s a patch to add Promote to XMonadContrib.
-------------- next part --------------

New patches:

[Add XMonad.Actions.Promote
xmonad at s001.hethrael.com**20080316205722] {
addfile ./XMonad/Actions/Promote.hs
hunk ./XMonad/Actions/Promote.hs 1
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  XMonad.Actions.Promote
+-- Copyright   :  (c) Miikka Koskinen 2007
+-- License     :  BSD3-style (see LICENSE)
+--
+-- Maintainer  :  xmonad at s001.ethrael.com
+-- Stability   :  unstable
+-- Portability :  unportable
+--
+-- Alternate promote function for xmonad.
+--
+-- Moves the focused window to the master pane. All other windows
+-- retain their order. If focus is in the master, swap it with the
+-- next window in the stack. Focus stays in the master.
+--
+-----------------------------------------------------------------------------
+
+module XMonad.Actions.Promote (
+                                 -- * Usage
+                                 -- $usage
+                                 promote
+                                ) where
+
+import XMonad
+import XMonad.StackSet
+
+-- $usage
+--
+-- You can use this module with the following in your @~\/.xmonad\/xmonad.hs@:
+--
+-- >    import XMonad.Actions.Promote
+--
+-- then add a keybinding or substitute 'promote' in place of swapMaster:
+--
+-- >   , ((modMask x,               xK_Return), promote)
+--
+-- For detailed instructions on editing your key bindings, see
+-- "XMonad.Doc.Extending#Editing_key_bindings".
+
+-- | Move the focused window to the master pane. All other windows
+--   retain their order. If focus is in the master, swap it with the
+--   next windo in the stack. Focus stays in the master.
+promote :: X ()
+promote = windows $ modify' $
+          \c -> case c of
+                Stack _ [] []     -> c
+                Stack t [] (x:rs) -> Stack x [] (t:rs)
+                Stack t ls rs     -> Stack t [] (reverse ls ++ rs)
hunk ./xmonad-contrib.cabal 87
+                        XMonad.Actions.Promote
}

Context:

[LayoutCombinators: improve documentation (closes ticket #136)
Brent Yorgey <byorgey at gmail.com>**20080316195826] 
[Xmonad.Layout.NoBorders: make smartBorders unborder fullscreen floating windows (bug 157)
Lukas Mai <l.mai at web.de>**20080316042941] 
[Xmonad.Prompt.DirExec: fix haddock error
Lukas Mai <l.mai at web.de>**20080316042840] 
[EwmhDesktops: advertise support for _NET_CLIENT_LIST_STACKING
Alec Berryman <alec at thened.net>**20080315212631] 
[ScratchWorkspace: update to work with runLayout changes
Brent Yorgey <byorgey at gmail.com>**20080311212908] 
[Scratchpad: update to work with runLayout changes
Brent Yorgey <byorgey at gmail.com>**20080311181715] 
[MagicFocus: update to work with runLayout changes
Brent Yorgey <byorgey at gmail.com>**20080311181625] 
[LayoutScreens: update to work with runLayout changes
Brent Yorgey <byorgey at gmail.com>**20080311181537] 
[Combo: update to work with runLayout changes
Brent Yorgey <byorgey at gmail.com>**20080311181400] 
[MultiToggle: fix to work with runLayout changes to core
Brent Yorgey <byorgey at gmail.com>**20080311172046] 
[PerWorksapce: use a safer False as default
Andrea Rossato <andrea.rossato at unibz.it>**20080223075531] 
[PerWorkspace: reimplemented using runLayout
Andrea Rossato <andrea.rossato at unibz.it>**20080222175954
 This way we have a Xinerama safe PerWorkspace and the emptyLayout
 method for free.
] 
[ToggleLayouts: reimplemented with runLayout
Andrea Rossato <andrea.rossato at unibz.it>**20080223081553] 
[LayoutCombinators: NewSelect reimplemented with runLayout
Andrea Rossato <andrea.rossato at unibz.it>**20080223080958] 
[LayoutModifier: reimplement ModifiedLayout using runLayout and more
Andrea Rossato <andrea.rossato at unibz.it>**20080223075610
 - change modifyLayout type to get the Workspace
 - updated ResizeScreen and ManageDocks accordingly.
] 
[Combo: updated to latest runLayout changes
Andrea Rossato <andrea.rossato at unibz.it>**20080222175924] 
[EZConfig: add documentation and a warning, so no one repeats my silly hard-to-track-down mistake.
Brent Yorgey <byorgey at gmail.com>**20080311172610] 
[Fix to work with "floats always use current screen" patch
robreim at bobturf.org**20080308024928] 
[make smartBorders ignore screens with no dimensions.
David Roundy <droundy at darcs.net>**20080308224244] 
[rewrite ScratchWorkspace to make scratch always visible, but not always on screen.
David Roundy <droundy at darcs.net>**20080308223830] 
[add HiddenNonEmptyWS to CycleWS to avoid workspaces already visible.
David Roundy <droundy at darcs.net>**20080308223717] 
[Fix ThreeColumns doc.
Roman Cheplyaka <roma at ro-che.info>**20080307203022] 
[Shell: add support for UTF-8 locales
Andrea Rossato <andrea.rossato at unibz.it>**20080302095924] 
[Font and XUtils: add UTF-8 support and various fixes related to XFT
Andrea Rossato <andrea.rossato at unibz.it>**20080302095712
 - printStringXMF: use the background color for XFT fonts too
 - textWidthXMF now returns the text width even with xft fonts
 - textExtentsXMF will now return only the ascend and the descent of a
   string.
 - stringPosition now takes the display too
 - add support for UTF-8 locales: if the contrib library is compiled
   with the 'with_xft' or the 'with_utf8' option the prompt and the
   decoration system will support UTF-8 locales - this requires
   utf8-strings.
] 
[Ssh: coding style
Andrea Rossato <andrea.rossato at unibz.it>**20080229100346] 
[Ssh: complete known hosts with non standard ports too
Andrea Rossato <andrea.rossato at unibz.it>**20080229095014] 
[Fix xmonadPromptC and use it.
nicolas.pouillard at gmail.com**20080306163928] 
[Documentation typo about UpdatePointer.
nicolas.pouillard at gmail.com**20080306163516] 
[Fix ToggleOff: It was adding 0.1 to the magnification.
Braden Shepherdson <Braden.Shepherdson at gmail.com>**20080305222302] 
[Removed WmiiActions module.
Juraj Hercek <juhe_xmonad at hck.sk>**20080305082336] 
[Adjusted signature of DirExec module functions.
Juraj Hercek <juhe_xmonad at hck.sk>**20080301171905
   - added parameter for function which executes the selected program
   - renamed dirExecPromptWithName to dirExecPromptNamed
] 
[Import of new DirExec module.
Juraj Hercek <juhe_xmonad at hck.sk>**20080229212257
   - allows execution of executable files from specific directory
] 
[Hooks.DynamicLog: export xmobarPP
Dmitry Kurochkin <dmitry.kurochkin at gmail.com>**20080303215637] 
[Magnifier: fix behavior for windows on the bottom + right of the screen.  Now all magnified windows will be the same size, possibly shifted in order to fit completely on the screen.
Brent Yorgey <byorgey at gmail.com>**20080303204619] 
[Changed semantics of UpdatePointer to move to nearest point
robreim at bobturf.org**20080301143126] 
[UpdatePointer XMonadContrib module
robreim at bobturf.org**20080301134401] 
[Util.Run: minor clarification in comment
gwern0 at gmail.com**20080303051513] 
[Add XMonad.Actions.PerWorkspaceKeys
Roman Cheplyaka <roma at ro-che.info>**20080302202346] 
[Haddock fix: Changed URL-Markup
Dominik Bruhn <dominik at dbruhn.de>**20080302185435] 
[switch Droundy to smartBorders (which works better with ScratchWorkspace).
David Roundy <droundy at darcs.net>**20080301191103] 
[XMonad.Layout.Simplest: add FlexibleInstances pragma
Lukas Mai <l.mai at web.de>**20080301061714] 
[XMonad.Layout.ScratchWorkspace: avoid warnings, make tests compile again
Lukas Mai <l.mai at web.de>**20080301061625] 
[implement ScratchWorkspace.
David Roundy <droundy at darcs.net>**20080229224316] 
[in Prompt.Workspace sort by official workspace order.
David Roundy <droundy at darcs.net>**20080229223047] 
[simplify Simplest--allow it to apply to non-Windows.
David Roundy <droundy at darcs.net>**20080229221326] 
[XMonad.Actions.MouseGestures.mkCollect: generalize type
Lukas Mai <l.mai at web.de>**20080229211732] 
[Add bottom-tabbed layout.
Roman Cheplyaka <roma at ro-che.info>**20080229155120] 
[XMonad.Actions.MouseGestures: refactoring, code simplification
Lukas Mai <l.mai at web.de>**20080229002136
 
 It is now possible to get "live" status updates while the gesture handler
 is running. I use this in my xmonad.hs to print the current gesture to my
 status bar. Because collecting movements is now the callback's job, the
 implementation of mouseGestureH got quite a bit simpler. The interface is
 incompatible with the previous mouseGestureH but the old mouseGesture
 function works as before.
 
] 
[EZConfig: additional documentation
Brent Yorgey <byorgey at gmail.com>**20080227164602] 
[XMonad.Util.Scratchpad: change 'XConfig Layout' to 'XConfig l', to avoid type mismatches; the exact layout type doesn't actually matter
Brent Yorgey <byorgey at gmail.com>**20080227014201] 
[EZConfig: add an emacs-style keybinding parser!
Brent Yorgey <byorgey at gmail.com>**20080226222723
 Now, instead of writing out incredibly dull things like
 
   ((modMask conf .|. controlMask .|. shiftMask, xK_F2), ...)
 
 you can just write
 
   ("M-C-S-<F2>", ...)
 
 Hooray!
] 
[Xmonad.Actions.MouseGestures: generalize interface, allow hooks
Lukas Mai <l.mai at web.de>**20080226202639] 
[update inactive debugging code in MouseGestures; no visible changes
Lukas Mai <l.mai at web.de>**20071109020755] 
[Scratchpad terminal
Braden Shepherdson <Braden.Shepherdson at gmail.com>**20080225183633
 
 Key binding and ManageHook to pop up a small, floating terminal window for a few quick commands.
 
 Combined with a utility like detach[1], makes a great X application launcher.
 
 Requires my two new ManageHooks (doRectFloat, specifically).
 
 [1] http://detach.sourceforge.net
] 
[Two new floating window ManageHooks.
Braden Shepherdson <Braden.Shepherdson at gmail.com>**20080225183337
 
 Adds doRectFloat, which floats the new window in the given rectangle; and doCenterFloat, which floats the 
 new window with its original size, but centered.
] 
[Fix usage doc.
Roman Cheplyaka <roma at ro-che.info>**20080225062330] 
[Fix haddock hyperlink.
Roman Cheplyaka <roma at ro-che.info>**20080224205416] 
[Add XMonad.Layout.IM
Roman Cheplyaka <roma at ro-che.info>**20080221085752] 
[Export XMonad.Layout.Grid.arrange (for use in XMonad.Layout.IM)
Roman Cheplyaka <roma at ro-che.info>**20080221062204] 
[Decoration: some haddock updates
Andrea Rossato <andrea.rossato at unibz.it>**20080220214934] 
[Small refactoring.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20080210224756] 
[Fixed off-by-one error which broke strut handling for some panels.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20080210222600] 
[Decoration: fix an issue with decoration window creation and more
Andrea Rossato <andrea.rossato at unibz.it>**20080220204355
 - fix a bug reported by Roman Cheplyaka: when decorate returned
   Nothing the window was never going to be created, even if decorate
   was reporting a Just Rectangle in the next run. Quite a deep issue,
   still visible only with TabbedDecoration at the present time.
 - remove decorateFirst (decorate has enough information to decide
   whether a window is the first one or not, am I right, David?)
 - some point free.
] 
[DynamicLog.hs: haddock fix
Andrea Rossato <andrea.rossato at unibz.it>**20080220204033
 
 Someone forgot to check if her patch was going to break haddock docs
 generation or not. So, while I was recording a patch with quite a long
 description I had to manually write - sound strange? -, I found out
 that my patch did not pass the tests, because of this haddock problem
 left behind.
 
 And so I fixed it, recorded this patch, with the hope the my next
 description of the next patch I'm going to record will survive the
 test suite we created to avoid this kind of problems for.
] 
[improvements to XMonad.Hooks.DynamicLog, and new contrib module XMonad.Util.Loggers
Brent Yorgey <byorgey at gmail.com>**20080219210128
 Improvements to DynamicLog include:
   * Greatly expanded and improved documentation and examples
   * remove seemingly useless makeSimpleDzenConfig function
   * factor out xmobarPP
   * add new ppExtras field to PP record, for specifying 'extra'
     loggers which can supply information other than window title,
     layout, and workspace status to a status bar (for example, time and date,
     battery status, mail status, etc.)
 
 The new XMonad.Util.Loggers module provides some example loggers that 
 can be used in the new ppExtras field of the PP record.  Create your own,
 add them to this module, go crazy! =)
 
] 
[LayoutHints: fix a wrong fix
Andrea Rossato <andrea.rossato at unibz.it>**20080219165127
 The case analisys of my fix should be the other way around... this is
 the real fix.
] 
[Arossato: updated to latest changes
Andrea Rossato <andrea.rossato at unibz.it>**20080219163058] 
[Decoration: comment only
Andrea Rossato <andrea.rossato at unibz.it>**20080219161339
 This is a detailed commentary of all the code.
] 
[Decoratione: generate rectangles first, and create windows accordingly
Andrea Rossato <andrea.rossato at unibz.it>**20080219122115
 With this patch Decoration will first generate a rectangle and only if
 there is a rectangle available a window will be created.
 
 This makes the Decoration state a bit more difficult to process, but
 should reduce resource consumption.
] 
[Fix doc for Tabbed
Roman Cheplyaka <roma at ro-che.info>**20080219055650] 
[Tabbed and TabBarDecoration: no need to implement decorateFirst (the default is used)
Andrea Rossato <andrea.rossato at unibz.it>**20080218184950] 
[TabBarDecoration: simpleTabBar automatically applies resizeVertical
Andrea Rossato <andrea.rossato at unibz.it>**20080218180922
 Added some comments too.
] 
[DwmStyle: comment fix only
Andrea Rossato <andrea.rossato at unibz.it>**20080218180727] 
[ResizeScreen: add resizeHorizontalRight and resizeVerticalBottom
Andrea Rossato <andrea.rossato at unibz.it>**20080218180504] 
[Add TabBarDecoration, a layout modifier to add a bar of tabs to any layout
Andrea Rossato <andrea.rossato at unibz.it>**20080218161121
 ... and port DecorationMadness to the new system.
] 
[add Eq superclass to DecorationStyle and change styles in order not to decorate non managed windows
Andrea Rossato <andrea.rossato at unibz.it>**20080218131320] 
[Refactor MouseResize, remove isDecoration and introduce isInStack, isVisible, isInvisible
Andrea Rossato <andrea.rossato at unibz.it>**20080218105726
 This patch includes several changes, which are strictly related and
 cannot be recorded separately:
 - remove Decoraion.isDecoartion and introduce Decoration.isInStack
   (with the related change to LayoutHints)
 - in Decoration introduce useful utilities: isVisible, isInvisible,
   isWithin and lookFor'
 - MouseResize: - invisible inputOnly windows will not be created;
 	       - fix a bug in the read instance which caused a failure
                  in the state deserialization.
] 
[Prompt: regenerate completion list if there's just one completion
Andrea Rossato <andrea.rossato at unibz.it>**20080217132734] 
[Prompt.Theme: use mkComplFunFromList' to generate completions
Andrea Rossato <andrea.rossato at unibz.it>**20080217124453] 
[some code formatting
Andrea Rossato <andrea.rossato at unibz.it>**20080217124434] 
[Prompt: comment only (clafiry completionToCommand uses)
Andrea Rossato <andrea.rossato at unibz.it>**20080216181620] 
[Prompt: comment only (remove confusing remarks about commandToComplete)
Andrea Rossato <andrea.rossato at unibz.it>**20080216180412] 
[Prompt: haddock fixes only
Andrea Rossato <andrea.rossato at unibz.it>**20080216172331] 
[Prompt.XMonad: use mkComplFunFromList' to get all the completions with an empty command line
Andrea Rossato <andrea.rossato at unibz.it>**20080216133949] 
[Prompt.Window: remove unneeded and ugly escaping/unescaping
Andrea Rossato <andrea.rossato at unibz.it>**20080216133842] 
[Theme: move theme's nextCompletion implementation to Prompt.getNextCompletion
Andrea Rossato <andrea.rossato at unibz.it>**20080216133738] 
[Shell: escape the string in the command line only
Andrea Rossato <andrea.rossato at unibz.it>**20080216133651] 
[Prompt: add some methods to make completions more flexible
Andrea Rossato <andrea.rossato at unibz.it>**20080216133454
 - now it is possible to decide if the prompt will complete the last
   word of the command line or the whole line (default is the last
   word);
 - completing the last word can be fine tuned by implementing
   'commandToComplete' and 'completionToCommand': see comments for
   details;
 - move mkComplFunFromList' from TagWindows to Prompt.
] 
[Prompt.Theme: display all theme information and handle completion accordingly
Andrea Rossato <andrea.rossato at unibz.it>**20080216114159] 
[Prompt.Shell: if there's just one completion and it is a directory add a trailing slash
Andrea Rossato <andrea.rossato at unibz.it>**20080216114005] 
[Prompt: added nextCompletion and commandToComplete methods to fine tune prompts' completion functions
Andrea Rossato <andrea.rossato at unibz.it>**20080216113723] 
[Util.Themes: add ppThemeInfor to render the theme info
Andrea Rossato <andrea.rossato at unibz.it>**20080216113635] 
[DecorationMadness: resizable layouts now use MouseResize too
Andrea Rossato <andrea.rossato at unibz.it>**20080212173645] 
[SimpleFloat now uses MouseResize
Andrea Rossato <andrea.rossato at unibz.it>**20080212173615] 
[Add Actions.MouseResize: a layout modifier to resize windows with the mouse
Andrea Rossato <andrea.rossato at unibz.it>**20080212173455] 
[Decoration: remove mouse resize and more
Andrea Rossato <andrea.rossato at unibz.it>**20080212165306
 - since mouse resize is not related to decoration, I removed the code
   from here. Mouse resize will be handled by a separated layout
   modifier (in a separated module)
 - now also stacked decoration will be removed (I separated insert_dwr
   from remove_stacked)
] 
[Decoration.hs: variable names consistency only
Andrea Rossato <andrea.rossato at unibz.it>**20080211123056] 
[Tabbed and SimpleTabbed (in DecorationMadness) define their own decorationMouseDragHook method
Andrea Rossato <andrea.rossato at unibz.it>**20080211114043
 ... to disable mouse drag in tabbed layouts
] 
[Decoration: DecorationStyle class cleanup and focus/drag unification
Andrea Rossato <andrea.rossato at unibz.it>**20080211113650
 - moved decoEventHook to decorationEventHook
 - added decorationMouseFocusHook, decorationMouseDragHook,
   decorationMouseResizeHook methods
 - added a handleMouseFocusDrag to focus and drag a window (which makes
   it possible to focus *and* drag unfocused windows too
] 
[Refactor XMonad.Hooks.DynamicLog
Roman Cheplyaka <roma at ro-che.info>**20080210222406
 This allows using DynamicLog not only for statusbar.
] 
[DecorationMadness: comment only
Andrea Rossato <andrea.rossato at unibz.it>**20080210131427] 
[DecorationMadness: added a few floating layouts
Andrea Rossato <andrea.rossato at unibz.it>**20080210122523] 
[SimpleFloat: export SimpleFloat and add documentation
Andrea Rossato <andrea.rossato at unibz.it>**20080210113159] 
[Move DefaultDecoration from DecorationMadness to Decoration
Andrea Rossato <andrea.rossato at unibz.it>**20080210104304] 
[Themes: added robertTheme and donaldTheme
Andrea Rossato <andrea.rossato at unibz.it>**20080210083016] 
[DecorationMadness: make tunable tabbed layouts respect the Theme decoHeight field
Andrea Rossato <andrea.rossato at unibz.it>**20080210075322] 
[ScreenResize: vertical and horizontal now respond to SetTheme
Andrea Rossato <andrea.rossato at unibz.it>**20080210074544
 And so they will change the screen dimension accordingly.
] 
[WindowGo.hs: fix syntax in example
Brent Yorgey <byorgey at gmail.com>**20080209225135] 
[+doc for WindowGo.hs: I've discovered a common usecase for me for raiseMaybe
gwern0 at gmail.com**20080205032155] 
[Run.hs: add an option to runinterms
gwern0 at gmail.com**20080205031824
 It turns out that for urxvt, and most terminal, apparently, once you give a '-e' option, that's it.
 They will not interpret anything after that as anything but input for /bin/sh, so if you wanted to go 'runInTerm "'screen -r session' -title IRC"',
 you were SOL - the -title would not be seen by urxvt. This, needless to say, is bad, since then you can't do stuff like set the title which means
 various hooks and extensions are helpless. This patch adds an extra options argument which is inserted *before* the -e. If you want the old behaivour,
 you can just go 'runInTerm "" "executable"', but now if you need to do something extra, 'runInTerm "-title mutt" "mutt"' works fine.
 
 This patch also updates callers.
] 
[Add DecorationMadness: a repository of weirdnesses
Andrea Rossato <andrea.rossato at unibz.it>**20080209182515] 
[Decoration: change mouseEventHook to decoEventHook and more
Andrea Rossato <andrea.rossato at unibz.it>**20080209165101
 Fix also the problem with window's movement when the grabbing starts
] 
[Tabbed: add simpleTabbed and fx documentation
Andrea Rossato <andrea.rossato at unibz.it>**20080209163917
 simpleTabbed is just a version of tabbed with default theme and
 default srhinker.
] 
[Arossato: update to latest changes
Andrea Rossato <andrea.rossato at unibz.it>**20080208140604] 
[Decoration: enable mouse dragging of windows
Andrea Rossato <andrea.rossato at unibz.it>**20080208083602] 
[WindowArranger: add a SetGeometry message - needed to enable mouseDrag
Andrea Rossato <andrea.rossato at unibz.it>**20080208083413] 
[Decoration: add a mouseEventHook methohd and move mouse button event there
Andrea Rossato <andrea.rossato at unibz.it>**20080208073514] 
[Util.Thems: some more typos in comments
Andrea Rossato <andrea.rossato at unibz.it>**20080207233341] 
[Util.Themes: documentation and export list (added themes that have been left out)
Andrea Rossato <andrea.rossato at unibz.it>**20080207232251] 
[Prompt.Theme: comments and some point-free
Andrea Rossato <andrea.rossato at unibz.it>**20080207232155] 
[oxymor00nTheme
<its.sec at gmx.net>**20080207213100] 
[add swapScreen to CycleWS
<its.sec at gmx.net>**20080206191032
 * add support for swapping the workspaces on screens to CycleWS
] 
[Decoration: consistency of variable names
Andrea Rossato <andrea.rossato at unibz.it>**20080207191442
 Since the configuration is now called Theme, the variable 'c' is now a
 't'
] 
[Add Prompt.Theme: a prompt for dynamically applying a theme to the current workspace
Andrea Rossato <andrea.rossato at unibz.it>**20080207184321] 
[Decoration: add a SetTheme message and releaseResources
Andrea Rossato <andrea.rossato at unibz.it>**20080207184048
 ...which should make it harder to forget to release the font structure.
] 
[cabal file: respect alphabetic order for modules
Andrea Rossato <andrea.rossato at unibz.it>**20080207183153] 
[Add Util.Themes to collect user contributed themes
Andrea Rossato <andrea.rossato at unibz.it>**20080207182843] 
[SimpleFloat: comment only
Andrea Rossato <andrea.rossato at unibz.it>**20080207182438] 
[Update to safer initColor api
Don Stewart <dons at galois.com>**20080206192232] 
[use Util.WorkspaceCompare in Prompt.Workspace.
David Roundy <droundy at darcs.net>**20080206004057] 
[roll back to previous version of Droundy.hs.
David Roundy <droundy at darcs.net>**20080205204043
 
 A cleaner WindowNavigation fix made the separation of tabbed and addTabs
 not strictly necessary (but still a desireable possibility in my opinion,
 as it allows pretty decoration of non-composite layouts that might want to
 have some of their windows tabbed.
] 
[make WindowNavigation ignore decorations.
David Roundy <droundy at darcs.net>**20080205203556] 
[make tabbed work nicely with LayoutCombinators and WindowNavigation.
David Roundy <droundy at darcs.net>**20080205202343
 The problem is that WindowNavigation assumes all windows are navigable, and
 it was getting confused by decorations.  With a bit of work, we can
 decorate windows *after* combining layouts just fine.
] 
[make WindowNavigation work when windows are stacked.
David Roundy <droundy at darcs.net>**20080205202027] 
[ XMonad.Actions.WindowGo: add a runOrRaise module for Joseph Garvin with the help of Spencer Janssen
gwern0 at gmail.com**20080204173402] 
[enable proper handling of panels in droundy config.
David Roundy <droundy at darcs.net>**20080204030843] 
[enable button click for focus in tabbed.
David Roundy <droundy at darcs.net>**20080204010536
 Note that this patch doesn't work with
 
 Thu Dec 27 03:03:56 EST 2007  Spencer Janssen <sjanssen at cse.unl.edu>
   * Broadcast button events to all layouts, fix for issue #111
 
 but this isn't a regression, since button events have never worked with
 tabbed and this change.
] 
[in Decoration, remove windows that are precisely hidden underneath other windows.
David Roundy <droundy at darcs.net>**20080204005413
 This is needed for WindowNavigation to work properly with the new
 Decorations framework.
] 
[switch tabbed back to using Simplest (so tabs will be shown).
David Roundy <droundy at darcs.net>**20080204005350] 
[CycleWS: change example binding for toggleWS from mod-t to mod-z.  example bindings shouldn't conflict with default key bindings.
Brent Yorgey <byorgey at gmail.com>**20080201202126] 
[REMOVE RotView: use CycleWS instead.
Brent Yorgey <byorgey at gmail.com>**20080201180618
 See CycleWS docs for info on switching, or just look at the changes to
 XMonad.Config.Droundy.
] 
[CycleWS: add more general functionality that now subsumes the functionality of RotView.  Now with parameterized workspace sorting and predicates!
Brent Yorgey <byorgey at gmail.com>**20080201121524] 
[WorkspaceCompare: some refactoring.
Brent Yorgey <byorgey at gmail.com>**20080201120430
   * Export WorkspaceCompare and WorkspaceSort types.
   * Extract commonality in sort methods into mkWsSort, which creates
     a workspace sort from a workspace comparison function.
   * Rename getSortByTag to getSortByIndex, since it did not actually sort
     by tag at all; it sorts by index of workspace tags in the user's config.
   * Create a new getSortByTag function which actually does sort
     lexicographically by tag.
   * Enhance documentation.
] 
[Search.hs: haddock cleanup
Brent Yorgey <byorgey at gmail.com>**20080131161948] 
[Added a handy tip to the documentation of XMonad.Actions.Search
v.dijk.bas at gmail.com**20080131122620
 The tip explains how to use the submap action to create a handy submap of keybindings for searching.
] 
[Make LayoutHints a decoration aware layout modifier
Andrea Rossato <andrea.rossato at unibz.it>**20080131082314] 
[Remove LayoutCombinator class and revert PerWorkspace to its Maybe Bool state
Andrea Rossato <andrea.rossato at unibz.it>**20080131063929
 As I said in order to have a CombinedLayout type instace of
 LayoutClass and a class for easily writing pure and impure combinators
 to be feeded to the CombinedLayout together with the layouts to be
 conbined, there's seems to be the need to change the type of the
 LayoutClass.description method from l a -> String to l a -> X String.
 
 Without that "ugly" change - loosing the purity of the description
 (please note the *every* methods of that class unless description
 operates in the X monad) - I'm plainly unable to write something
 really useful and maintainable. If someone can point me in the right
 direction I would really really appreciate.
 
 Since, in the meantime, PerWorkspace, which has its users, is broken
 and I broke it, I'm reverting it to it supposedly more beautiful
 PerWorkspac [WorkspaceId] (Maybe Bool) (l1 a) (l2 a) type.
] 
[Extending.hs: documentation update
Brent Yorgey <byorgey at gmail.com>**20080131012728] 
[DynamicLog: lots of additional documentation; add byorgeyPP as an example dzen config
Brent Yorgey <byorgey at gmail.com>**20080130205219] 
[Extended PP with sorting algorithm specification and added xinerama sorting
Juraj Hercek <juhe_xmonad at hck.sk>**20080109154923
   algorithm
   - idea is to specify sorting algorithm from user's xmonad.hs
   - xinerama sorting algorithm produces same ordering as
     pprWindowSetXinerama
   - default ppSort is set to getSortByTag, so the default functionality
     is the same as it was before
] 
[SimpleDecoration: export defaultTheme
Andrea Rossato <andrea.rossato at unibz.it>**20080130124609] 
[Various decorations related updates
Spencer Janssen <sjanssen at cse.unl.edu>**20080130064624
  * remove deprecated TConf stuff
  * Remove 'style' from DeConf
  * Change DeConf to Theme
  * share defaultTheme across all decorations
] 
[TwoPane: add description string
Joachim Fasting <joachim.fasting at gmail.com>**20080126141332] 
[add XMonad.Actions.CycleSelectedLayouts
Roman Cheplyaka <roma at ro-che.info>**20080116205020] 
[Search.hs: add documentation and two more search engines (MathWorld and Google Scholar)
Brent Yorgey <byorgey at gmail.com>**20080128190443] 
[xmonad-contrib.cabal: add build-type field to get rid of Cabal warning
Brent Yorgey <byorgey at gmail.com>**20080128190137] 
[LayoutCombinator class: code clean up
Andrea Rossato <andrea.rossato at unibz.it>**20080129224952
 - ComboType becomes CombboChooser
 - removed the stupid doFirst
 - better comboDescription default implemenation
] 
[Add a LayoutCombinator class and a CombinedLayout and port PerWorkspace to the new system
Andrea Rossato <andrea.rossato at unibz.it>**20080129192903] 
[Named: reimplemented as a LayoutModifier and updated Config.Droundy accordingly
Andrea Rossato <andrea.rossato at unibz.it>**20080128161343] 
[LayoutModifier: add modifyDescription for completely override the modified layout description
Andrea Rossato <andrea.rossato at unibz.it>**20080128160614] 
[Make ToggleLayouts and Named implement emptyLayout
Andrea Rossato <andrea.rossato at unibz.it>**20080128151535] 
[Decoration: the fontset must be released even when we don't decorate the first window
Andrea Rossato <andrea.rossato at unibz.it>**20080128004411
 This is quite an old bug! It affected Tabbed since the very beginning..;)
] 
[Decoration: I forgot we need to release the fontset too!
Andrea Rossato <andrea.rossato at unibz.it>**20080127233521] 
[Decoration: after deleting the windows we must update the layout modifier
Andrea Rossato <andrea.rossato at unibz.it>**20080127231815
 Thanks to Feuerbach for reporting this.
] 
[Reflect: reimplemented as a layout modifier (which makes it compatible with windowArranger and decoration)
Andrea Rossato <andrea.rossato at unibz.it>**20080127165854] 
[SimpleFLoat: change the description to Float (Simple is the decoration description)
Andrea Rossato <andrea.rossato at unibz.it>**20080127144556] 
[ManageDocks: implement AvoidStruts as a layout modifier
Andrea Rossato <andrea.rossato at unibz.it>**20080127144301] 
[ResizeScreen has been rewritten as a layout modifier
Andrea Rossato <andrea.rossato at unibz.it>**20080127140837] 
[LayoutModifier add a modifyLayout
Andrea Rossato <andrea.rossato at unibz.it>**20080127140219
 Many layouts are written as layout modifiers because they need to
 change the stack of the rectangle before executing doLayout.
 
 This is a major source of bugs. all layout modifiers should be using the
 LayoutModifier class. This method (modifyLayout) can be used to
 manipulate the rectangle and the stack before running doLayout by the
 layout modifier.
] 
[Make LayoutCombinators deal with emptyLayout
Andrea Rossato <andrea.rossato at unibz.it>**20080127092415] 
[Add ResizeScreen, a layout modifier for modifing the screen geometry
Andrea Rossato <andrea.rossato at unibz.it>**20080127010755] 
[WindowArranger can now arrange all windows
Andrea Rossato <andrea.rossato at unibz.it>**20080126233053
 This is useful for SimpleFloat, whose state can now persists across
 layout switches.
] 
[Arossato: updated my config to recent changes
Andrea Rossato <andrea.rossato at unibz.it>**20080126205638] 
[Add SimpleFloat a very basic floating layout that will place windows according to their size hints
Andrea Rossato <andrea.rossato at unibz.it>**20080126205410] 
[WindoWrranger: export the WindowArranger type (see the upcoming SimpleFloat)
Andrea Rossato <andrea.rossato at unibz.it>**20080126204605] 
[ShowWName: show the name of empty layouts too
Andrea Rossato <andrea.rossato at unibz.it>**20080126190214] 
[ManageDocks: add emptyLayout definition for supporting the new decoration framework
Andrea Rossato <andrea.rossato at unibz.it>**20080126185936] 
[Decoration: code formatting only
Andrea Rossato <andrea.rossato at unibz.it>**20080126101354] 
[export DeConfig to avoid importing Decoration
Andrea Rossato <andrea.rossato at unibz.it>**20080126101049] 
[Prompt: code formatting only
Andrea Rossato <andrea.rossato at unibz.it>**20080126093234] 
[Don't export TConf anymore and export DeConfig instead
Andrea Rossato <andrea.rossato at unibz.it>**20080126092141
 WARNING: this patch may be breaking your configuration. While it is
 still possible to use:
 
 tabbed shrinkText defaultTConf
 
 updating the fields of the defaultTConf record is not possible
 anymore, since the type TConf is now hidden.
 
 WARNING: "tabSize" has been substituted by "decoHeight"
 
 You can change your configuration this way:
 myTConf :: TConf
 myTConf = defaultTConf
        { tabSize = 15
        , etc....
 
 becomes:
 myTConf :: DeConfig TabbedDecoration Window
 myTConf = defaultTabbedConfig
        { decoHeight = 15
        , etc....
 
 and
 tabbed shrinkText myTConf
 
 becomes:
 tabDeco shrinkText myTConf
 
] 
[Tabbed now uses Decoration
Andrea Rossato <andrea.rossato at unibz.it>**20080125152311] 
[Add DwmStyle, a layout modifier to add dwm-style decorations to windows in any layout
Andrea Rossato <andrea.rossato at unibz.it>**20080125152152] 
[Adde SimpleDecoration, a layout modifier to add simple decorations to windows in any layout
Andrea Rossato <andrea.rossato at unibz.it>**20080125152106] 
[Add Layout.Simplest, the simplest layout
Andrea Rossato <andrea.rossato at unibz.it>**20080125152015] 
[Add Decoration, a layout modifier and a class for easily writing decorated layouts
Andrea Rossato <andrea.rossato at unibz.it>**20080125151726] 
[Add WindowArranger, a layout modifier to move and resize windows with the keyboard
Andrea Rossato <andrea.rossato at unibz.it>**20080125151633] 
[ShowWName: moved fi to XUtils
Andrea Rossato <andrea.rossato at unibz.it>**20080124134725] 
[XUtils: add functions for operating on lists of windows and export fi
Andrea Rossato <andrea.rossato at unibz.it>**20080124134638] 
[LayoutModifier: add emptyLayoutMod for dealing with empty workspaces
Andrea Rossato <andrea.rossato at unibz.it>**20080124015605] 
[LayoutModifier: add pureMess and pureModifier to the LayoutModifier class
Andrea Rossato <andrea.rossato at unibz.it>**20080122111319] 
[Layout.ShowWName: generalize the instance
Andrea Rossato <andrea.rossato at unibz.it>**20080115045139] 
[add emptyLayout to MultiToggle
Lukas Mai <l.mai at web.de>**20080128175313] 
[grammar fix
Lukas Mai <l.mai at web.de>**20080128175059] 
[TAG 0.6
Spencer Janssen <sjanssen at cse.unl.edu>**20080127222114] 
Patch bundle hash:
a03b9c1fed55ac4e28b9053d2a3ba3b13cda1606


More information about the xmonad mailing list