[xmonad] darcs patch: UpdatePointer: Make the pointer position configurable

Robert robreim at bobturf.org
Wed Mar 26 05:18:02 EDT 2008


Heh, thanks. I was just thinking of doing this today. Now I don't have to :)


lithis wrote:
> On Tue, 2008/03/25 21:27:11 -1000, lithis wrote:
>   
>> A Prince Kuhio Day gift for your repository!
>>     
>
> This version has updated documentation (there was a
> compilation error in an example from the first patch).
>   
> ------------------------------------------------------------------------
>
>
> New patches:
>
> [UpdatePointer: Make pointer position configurable.
> xmonad at selg.hethrael.org**20080326075759] {
> hunk ./XMonad/Actions/UpdatePointer.hs 22
> +     , PointerPosition (..)
> hunk ./XMonad/Actions/UpdatePointer.hs 37
> --- > logHook = updatePointer
> +-- > logHook = updatePointer Nearest
> hunk ./XMonad/Actions/UpdatePointer.hs 39
> --- which will move the pointer to the nearest point of a newly focused window
> +-- which will move the pointer to the nearest point of a newly focused window, or
> +--
> +-- > logHook = updatePointer (Relative 0.5 0.5)
> +--
> +-- which will move the pointer to the center of a newly focused window.
> +--
> +-- To use this with an existing logHook, use >> :
> +--
> +-- > logHook = dynamicLog
> +-- >           >> updatePointer (RelativePosition 1 1)
> +--
> +-- which moves the pointer to the bottom-right corner of the focused window.
> hunk ./XMonad/Actions/UpdatePointer.hs 52
> +data PointerPosition = Nearest | Relative Rational Rational
> hunk ./XMonad/Actions/UpdatePointer.hs 54
> --- | Update the pointer's location to the nearest point of the currently focused
> +-- | Update the pointer's location to the currently focused
> hunk ./XMonad/Actions/UpdatePointer.hs 56
> -updatePointer ::  X ()
> -updatePointer = withFocused $ \w -> do
> +updatePointer :: PointerPosition -> X ()
> +updatePointer p = withFocused $ \w -> do
> hunk ./XMonad/Actions/UpdatePointer.hs 63
> -  unless (w == w') $ do
> -    let x = moveWithin rootx (wa_x wa) ((wa_x wa) + (wa_width  wa))
> -    let y = moveWithin rooty (wa_y wa) ((wa_y wa) + (wa_height wa))
> -    io $ warpPointer dpy none root 0 0 0 0 (fromIntegral x) (fromIntegral y)
> +  unless (w == w') $
> +    case p of
> +    Nearest -> do
> +      let x = moveWithin rootx (wa_x wa) ((wa_x wa) + (wa_width  wa))
> +      let y = moveWithin rooty (wa_y wa) ((wa_y wa) + (wa_height wa))
> +      io $ warpPointer dpy none root 0 0 0 0 (fromIntegral x) (fromIntegral y)
> +    Relative h v ->
> +      io $ warpPointer dpy none w 0 0 0 0
> +           (fraction h (wa_width wa)) (fraction v (wa_height wa))
> +        where fraction x y = floor (x * fromIntegral y)
> }
>
> Context:
>
> [XMonad.Actions.MouseGestures: reexport Direction from WindowNavigation, avoid type duplication
> Lukas Mai <l.mai at web.de>**20080322193457] 
> [use ewmhDesktopsLayout in Droundy.
> David Roundy <droundy at darcs.net>**20080322153610] 
> [cut Anneal and Mosaic.
> David Roundy <droundy at darcs.net>**20080322153546] 
> [fix WorkspaceDir to work when there are multiple screens.
> David Roundy <droundy at darcs.net>**20080311221201
>  In particlar, ScratchWorkspace broke this.
> ] 
> [fix various compilation errors
> Lukas Mai <l.mai at web.de>**20080322074113] 
> [XMonad.Layout.NoBorders: first attempt at documenting smartBorders
> Lukas Mai <l.mai at web.de>**20080321221315] 
> [allow magnifier to toggle whether it's active
> daniel at wagner-home.com**20080321104605] 
> [a magnifier that defaults to not magnifying any windows
> daniel at wagner-home.com**20080321104441] 
> [XMonad.Layout.Magnifier: remove references to Data.Ratio.% from documentation
> Lukas Mai <l.mai at web.de>**20080320223816] 
> [mark Mosaic as broken. use MosaicAlt
> Don Stewart <dons at galois.com>**20080320223717] 
> [add ewmhDesktopsLayout for EWMH interaction
> Joachim Breitner <mail at joachim-breitner.de>**20080319195736
>  
>  This is based on Andrea’s EventHook thingy. Note that I could not merge
>  this with some of my earlier EWHM interaction patches (darcs was failing on me),
>  so I copied some code. Do not try to merge it with those patches either.
>  
>  Note that the docs are saying what should work. There are still some bugs
>  to be resolved, but it works sometimes and should work similar to what we have.
> ] 
> [Export HandleEvent type to be able to use it in type annotations
> Joachim Breitner <mail at joachim-breitner.de>**20080319195603] 
> [I now use ServerMode
> Andrea Rossato <andrea.rossato at unibz.it>**20080226115347] 
> [EventHook: handle events after the underlying layout and more
> Andrea Rossato <andrea.rossato at unibz.it>**20080224230854
>  - check the first time the Bool is True
>  - coding and naming style
> ] 
> [Add Hooks.ServerMode: an event hook to execute commands sent by an external client
> Andrea Rossato <andrea.rossato at unibz.it>**20080224133706] 
> [Add EventHook: a layout modifier to handle X events
> Andrea Rossato <andrea.rossato at unibz.it>**20080224112432] 
> [tabs
> Don Stewart <dons at galois.com>**20080317224758] 
> [WindowProperties: fix documentation
> Brent Yorgey <byorgey at gmail.com>**20080318204540] 
> [Move window properties to a separate Util module
> Roman Cheplyaka <roma at ro-che.info>**20080318165658
>  Add XMonad.Util.WindowProperties
>  Modify XMonad.Layout.IM.hs to use WindowProperties.
> ] 
> [XMonad.Layout.NoBorders: always unborder fullscreen floating windows, even when there are multiple screens
> Lukas Mai <l.mai at web.de>**20080317183043] 
> [MagicFocus: reimplement as a LayoutModifier, fix bug (MagicFocus didn't pass on messages to underlying layouts)
> Brent Yorgey <byorgey at gmail.com>**20080317193008] 
> [WindowGo.hs: improve description
> gwern0 at gmail.com**20080316223946
>  I'm still not sure whether the description makes sense if you don't already understand the idea.
> ] 
> [Run.hs: improve haddock
> gwern0 at gmail.com**20080316223219
>  This module too was causing horizontal scrolling because of the shell command. I managed to discover that you only need to specify 'png:' *or* "foo.png", not both, which trimmed off enough characters.
>  Also, I improved the docs for my functions.
> ] 
> [XSelection.hs: improved haddockf formatting, more links, & cpedit
> gwern0 at gmail.com**20080316222050] 
> [Search.hs: try to add a more descriptive type
> gwern0 at gmail.com**20080316215728] 
> [improve the formatting for WindowGo.hs
> gwern0 at gmail.com**20080316215642] 
> [Search.hs: haddock fmt
> gwern0 at gmail.com**20080316213914
>  This removes whitespace in source code snippets. Because Haddock renders quoted source code as monospaced unwrappable text, the excess whitespace meant you would have to scroll horizontally, unpleasantly.
> ] 
> [Add XMonad.Actions.Promote
> xmonad at s001.hethrael.com**20080316205722] 
> [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] 
> [Changed semantics of UpdatePointer to move to nearest point
> robreim at bobturf.org**20080301143126] 
> [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] 
> [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:
> 22391e60ab008f2dc9caaadce4af7553687604a7
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad
>   



More information about the xmonad mailing list