[xmonad] darcs patch: Fix for issue 135

Don Stewart dons at galois.com
Wed Apr 8 16:20:08 EDT 2009


Spencer, can you take care of this?

asgaroth_:
> These patches solve issue 135, which was caused by using the border size
> of the configuration instead of the window's actual border size in
> floatLocation and because toggleBorders did not update the floating
> rectangles after removing/adding the border of a floating window.

> Wed Apr  8 20:59:56 CEST 2009  Daniel Schoepe <asgaroth_ at gmx.de>
>   * Use window's border width in floatLocation
> 
> New patches:
> 
> [Use window's border width in floatLocation
> Daniel Schoepe <asgaroth_ at gmx.de>**20090408185956
>  Ignore-this: f461f73da7979d64ceb8b29713129bc9
> ] {
> hunk ./XMonad/Operations.hs 429
>  floatLocation w = withDisplay $ \d -> do
>      ws <- gets windowset
>      wa <- io $ getWindowAttributes d w
> -    bw <- fi <$> asks (borderWidth . config)
>      sc <- fromMaybe (W.current ws) <$> pointScreen (fi $ wa_x wa) (fi $ wa_y wa)
>  
> hunk ./XMonad/Operations.hs 431
> -    let sr = screenRect . W.screenDetail $ sc
> +    let bw = wa_border_width wa
> +        sr = screenRect . W.screenDetail $ sc
>          rr = W.RationalRect ((fi (wa_x wa) - fi (rect_x sr)) % fi (rect_width sr))
>                              ((fi (wa_y wa) - fi (rect_y sr)) % fi (rect_height sr))
>                              (fi (wa_width  wa + bw*2) % fi (rect_width sr))
> }
> 
> Context:
> 
> [Avoid deadly cycle in man/xmonad.hs
> Spencer Janssen <spencerjanssen at gmail.com>**20090319081918
>  Ignore-this: adcba110caad465a2cbb4b9dca7cb612
> ] 
> [X.Config.hs, ./man/xmonad.hs: update Event Hook doc
> wirtwolff at gmail.com**20090209183837
>  Ignore-this: 3792043278932e371e3e2858913a2b17
> ] 
> [Use records to document Tall's arguments
> Spencer Janssen <spencerjanssen at gmail.com>**20090221230628
>  Ignore-this: 253c09de793715c18a029406795a42fd
> ] 
> [Fix possible head []
> Joachim Breitner <mail at joachim-breitner.de>**20090106192026
>  This seems to be a rare case, but I just got hit by it.
> ] 
> [ManageHook.doShift: use shiftWin instead of shift
> Spencer Janssen <spencerjanssen at gmail.com>**20090219041458
>  Ignore-this: 4d7f348d6d394c581ab2809bbc45a2c6
> ] 
> [Express shift in terms of shiftWin
> Spencer Janssen <spencerjanssen at gmail.com>**20090217235343
>  Ignore-this: 8f213bca20065a39e7c16027f7b398cf
> ] 
> [Use standard -fforce-recomp instead of undocumented -no-recomp
> Don Stewart <dons at galois.com>**20090208165518] 
> [Support for custom event hooks
> Daniel Schoepe <asgaroth_ at gmx.de>**20090203155536
>  Ignore-this: f22f1a7ae2d958ba1b3625aa923b7efd
> ] 
> [Make X an instance of Typeable
> Daniel Schoepe <asgaroth_ at gmx.de>**20090128215406
>  Ignore-this: bb155e62ea4e451460e3b94508dc49d2
> ] 
> [Add uninstallSignalHandlers, use in spawn
> Spencer Janssen <spencerjanssen at gmail.com>**20090122002643
>  Ignore-this: d91bde6f965341a2619fe2dde83cc099
> ] 
> [Create a new session for forked processes
> Spencer Janssen <spencerjanssen at gmail.com>**20090122000423
>  Ignore-this: f5d9cf254a0b07ddbf204457b7783880
> ] 
> [TAG 0.8.1
> Spencer Janssen <spencerjanssen at gmail.com>**20090118083910] 
> [Close stdin in spawned processes
> Spencer Janssen <spencerjanssen at gmail.com>**20090117040024
>  Ignore-this: 2e372ed6215160adae8da1c44cdede3d
> ] 
> [Document spawnPID
> Spencer Janssen <spencerjanssen at gmail.com>**20090117035907
>  Ignore-this: 1641bdcf5055b2ec7b9455265f5b1d52
> ] 
> [Asynchronously recompile/restart xmonad on mod-q
> Spencer Janssen <spencerjanssen at gmail.com>**20090117035300
>  Ignore-this: 753d8746034f818b81df79003ae5ee0d
> ] 
> [Add --restart, a command line flag to cause a running xmonad process to restart
> Spencer Janssen <spencerjanssen at gmail.com>**20090117034959
>  Ignore-this: 45c8c8aba7cc7391b95c7e3fb01e5bf9
> ] 
> [Bump version to 0.8.1
> Spencer Janssen <spencerjanssen at gmail.com>**20090116223621
>  Ignore-this: 2e8e9dc7b6ca725542f4afe04253dc57
> ] 
> [Remove doubleFork, handle SIGCHLD
> Spencer Janssen <spencerjanssen at gmail.com>**20090116204742
>  Ignore-this: f9b1a65b4f0622922f80ad2ab6c5a52f
>  This is a rather big change.  Rather than make spawned processes become
>  children of init, we handle them in xmonad.  As a side effect of this change,
>  we never need to use waitForProcess in any contrib module -- in fact, doing so
>  will raise an exception.  The main benefit to handling SIGCHLD is that xmonad
>  can now be started with 'exec', and will correctly clean up after inherited
>  child processes.
> ] 
> [Main.hs: escape / in Haddocks
> gwern0 at gmail.com**20081207020915
>  Ignore-this: 2c4525280fbe73c46f3abd8fc13628e9
>  This lets haddocks for Main.hs, at least, to build with 2.3.0.
> ] 
> [More flexible userCode function
> Daniel Schoepe <asgaroth_ at gmx.de>**20090110221852] 
> [Call logHook as the very last action in windows
> Spencer Janssen <spencerjanssen at gmail.com>**20081209233700
>  Ignore-this: 4396ad891b607780f8e4b3b6bbce87e
> ] 
> [Accept inferior crossing events.  This patch enables fmouse-focus-follows-screen
> Spencer Janssen <spencerjanssen at gmail.com>**20081205045130
>  Ignore-this: 3ac329fb92839827aed0a4370784cabd
> ] 
> [Tile all windows at once
> Spencer Janssen <spencerjanssen at gmail.com>**20081118074447] 
> [Factor rational rect scaling into a separate function
> Spencer Janssen <spencerjanssen at gmail.com>**20081118072849] 
> [Change screen focus by clicking on the root window.
> Spencer Janssen <spencerjanssen at gmail.com>**20081106224031
>  This is a modification of a patch from Joachim Breitner.
> ] 
> [Fix #192.
> Spencer Janssen <spencerjanssen at gmail.com>**20081021220059] 
> [select base < 4 for building on ghc 6.10
> Adam Vogt <vogt.adam at gmail.com>**20081013214509] 
> [add killWindow function
> Joachim Breitner <mail at joachim-breitner.de>**20081005001804
>  This is required to kill anything that is not focused, without
>  having to focus it first.
> ] 
> [add'l documentation
> Devin Mullins <me at twifkak.com>**20080927234639] 
> [Regression: ungrab buttons on *non* root windows
> Spencer Janssen <spencerjanssen at gmail.com>**20081007214351] 
> [Partial fix for #40
> Spencer Janssen <spencerjanssen at gmail.com>**20081007212053
>  Improvements:
>   - clicking on the root will change focus to that screen
>   - moving the mouse from a window on a screen to an empty screen changes focus
>     to that screen
>  The only remaining issue is that moving the mouse between two empty screens
>  does not change focus.  In order to solve this, we'd have to select motion events
>  on the root window, which is potentially expensive.
> ] 
> [Track mouse position via events received
> Spencer Janssen <spencerjanssen at gmail.com>**20081007203953] 
> [Fix haddock
> Spencer Janssen <spencerjanssen at gmail.com>**20081007094641] 
> [Move screen locating code into pointScreen
> Spencer Janssen <spencerjanssen at gmail.com>**20081007094207] 
> [Make pointWithin a top-level binding
> Spencer Janssen <spencerjanssen at gmail.com>**20081007090229] 
> [sp README, CONFIG, STYLE, TODO
> gwern0 at gmail.com**20080913024457] 
> [Use the same X11 dependency as xmonad-contrib
> Spencer Janssen <spencerjanssen at gmail.com>**20080921061508] 
> [Export focusUp' and focusDown' -- work entirely on stacks
> Spencer Janssen <spencerjanssen at gmail.com>**20080911214803] 
> [add W.shiftMaster, fix float/tile-reordering bug
> Devin Mullins <me at twifkak.com>**20080911053909] 
> [TAG 0.8
> Spencer Janssen <spencerjanssen at gmail.com>**20080905195412] 
> Patch bundle hash:
> 5481a47d304a3528d6362121062f6bc730f7e795

> Wed Apr  8 21:21:07 CEST 2009  Daniel Schoepe <asgaroth_ at gmx.de>
>   * Update float rect in toggleBorder
>   
>   Since the rectangle recorded for a floating window also contains the border,
>   it needs to be updated when the border width changes and the layout needs to
>   be refreshed, since the (dis)appearance of a border causes empty space in most layouts. This patch (partially) solves issue 135.
> 
> New patches:
> 
> [Update float rect in toggleBorder
> Daniel Schoepe <asgaroth_ at gmx.de>**20090408192107
>  Ignore-this: df8b226dc5d7905555283c0ed595adf4
>  
>  Since the rectangle recorded for a floating window also contains the border,
>  it needs to be updated when the border width changes and the layout needs to
>  be refreshed, since the (dis)appearance of a border causes empty space in most layouts. This patch (partially) solves issue 135.
> ] {
> hunk ./XMonad/Actions/NoBorders.hs 20
>  ) where
>  
>  import XMonad
> +import qualified XMonad.StackSet as W
> +import qualified Data.Map as M
> +import Data.Ratio
> +import Data.Maybe (fromMaybe)
> +import Data.List (find)
>  
>  -- | Toggle the border of the currently focused window. To use it, add a
>  -- keybinding like so:
> hunk ./XMonad/Actions/NoBorders.hs 32
>  -- > , ((modMask x,  xK_g ),   withFocused toggleBorder)
>  --
>  toggleBorder :: Window -> X ()
> -toggleBorder w = do
> +toggleBorder w = withWindowSet $ \ws -> do
>      bw <- asks (borderWidth . config)
> hunk ./XMonad/Actions/NoBorders.hs 34
> -    withDisplay $ \d -> io $ do
> -        cw <- wa_border_width `fmap` getWindowAttributes d w
> +    let floatRect = M.lookup w $ W.floating ws
> +        screens = W.current ws : W.visible ws
> +        findScreen = find $ elem w . W.integrate' . W.stack . W.workspace
> +        sr = screenRect . W.screenDetail . fromMaybe (W.current ws) . findScreen $ screens
> +        fi = fromIntegral
> +    withDisplay $ \d -> do
> +        cw <- io $ wa_border_width `fmap` getWindowAttributes d w
>          if cw == 0
> hunk ./XMonad/Actions/NoBorders.hs 42
> -            then setWindowBorderWidth d w bw
> -            else setWindowBorderWidth d w 0
> +            then io $ setWindowBorderWidth d w bw
> +            else io $ setWindowBorderWidth d w 0
> +        -- Update floating rects to reflect new border size
> +        whenJust floatRect $ \(W.RationalRect x y wd h) ->
> +                let f = if cw == 0 then (+) else (-) -- add or subtract depending on border change
> +                    newRect = W.RationalRect x y (f wd (fi (2*bw) % fi (rect_width sr)))
> +                                                 (f h  (fi (2*bw) % fi (rect_height sr)))
> +                in windows $ \s -> s { W.floating = M.insert w newRect (W.floating s) }
> +        refresh
> }
> 
> Context:
> 
> [More configurability for Layout.NoBorders (typeclass method)
> Adam Vogt <vogt.adam at gmail.com>**20090325050206
>  Ignore-this: 91fe0bc6217b910b7348ff497b922e11
>  
>  This method uses a typeclass to pass a function to the layoutmodifier. It is
>  flexible, but a bit indirect and perhaps the flexibility is not required.
> ] 
> [Add XMonad.Actions.PhysicalScreens
> nelhage at mit.edu**20090321001320
>  
>  Add an XMonad.Actions.PhysicalScreens contrib module that allows
>  addressing of screens by physical ordering, rather than the arbitrary
>  ScreenID.
> ] 
> [pointWithin has moved to the core
> Joachim Breitner <mail at joachim-breitner.de>**20081008154245] 
> [UpdatePointer even to empty workspaces
> Joachim Breitner <mail at joachim-breitner.de>**20081007080041
>  This makes UpdatePointer more Xinerama-compatible: If the user switches to a
>  screen with an empty workspace, the pointer is moved to that workspace, which I
>  think is expected behavoiur.
> ] 
> [More predictable aspect ratio in GridVariants.Grid
> Norbert Zeh <nzeh at cs.dal.ca>**20090311013617
>  
>  The old version fairly arbitrarily decided to prefer windows that are too
>  high over those that are too wide.  The new version chooses the number of
>  columns so that all windows on the screen are as close as possible to the
>  desired aspect ratio.  As a side effect, the layout changes much more
>  predictably under addition and removal of clients.
> ] 
> [X.L.Master: fix number of windows
> Ismael Carnales <icarnales at gmail.com>**20090301051509
>  Ignore-this: 2af132159450d4fb72eb52024eda71b5
> ] 
> [U.EZConfig: add xK_Print <Print> to special keys
> wirtwolff at gmail.com**20090302230741
>  Ignore-this: 9560b7c7c4424edb5cea6eec45e2b41d
>  Many setups are expecting xK_Print rather than
>  xK_Sys_Req, so make it available in additionalKeysP.
> ] 
> [More flexibility for H.FadeInactive
> Daniel Schoepe <asgaroth_ at gmx.de>**20090309160020
>  Ignore-this: ebfa2eadb439763276b372107cdf8d6c
> ] 
> [Prompt.Shell: escape ampersand
> Valery V. Vorotyntsev <valery.vv at gmail.com>**20090312091314
>  Ignore-this: 7200b76af8109bab794157da46cb0030
>  
>  Ampersand (&) is a special character and should be escaped.
> ] 
> [Cleanup X.L.Mosaic, without breaking it
> Adam Vogt <vogt.adam at gmail.com>**20090219022417
>  Ignore-this: d49ed55fe8dc2204256dff9252384745
> ] 
> [X.L.Mosaic: prevent users from causing non-termination with negative elements
> Adam Vogt <vogt.adam at gmail.com>**20090210022727
>  Ignore-this: 370a7d6249906f1743c6692758ce5aeb
> ] 
> [better Layout.NoBorders.smartBorders behavior on xinerama
> Adam Vogt <vogt.adam at gmail.com>**20090314170058
>  Ignore-this: 36737ce2fa2087c4a16ddf226d3b0f0a
>  
>  Now smartBorders shows borders when you have multiple screens with one window
>  each. In the case where only one window is visible, no borders are drawn.
> ] 
> [H.DynamicLog: revised dzenStrip and xmobarStrip functions
> wirtwolff at gmail.com**20090314041517
>  Ignore-this: 9897c60b8dfc59344939b7aebc370953
>  Reconcile darcswatch patch with pushed version of dzenStrip.
> ] 
> [X.H.DynamicLog: Add dzenStrip to remove formatting, for use in dzenPP's ppUrgent.
> Braden Shepherdson <Braden.Shepherdson at gmail.com>**20090314032818
>  Ignore-this: fd96a1a4b112d0f71589b639b83ec3e
>  This function was written by Wirt Wolff. This change should allow UrgencyHook
>  to work out of the box with dzen and dzenPP, rather than the colours being
>  overridden so even though UrgencyHook is working, it doesn't change colours.
> ] 
> [X.H.ManageHelpers: export isInProperty
> Roman Cheplyaka <roma at ro-che.info>**20090308201112] 
> [L.Cross: clarify documentation
> wirtwolff at gmail.com**20090222042220
>  Ignore-this: 4a5dcf71e63d045f27e2340e1def5cc8
>  Amend-record earlier patch to work with byorgey's fix,
>  this one is just the documentation typo fixes and 
>  clarifications.
> ] 
> [documentation for IndependentScreens
> daniel at wagner-home.com**20090221235959] 
> [eliminate a haddock warning in BoringWindows
> daniel at wagner-home.com**20090221235836] 
> [merge IndependentScreens
> daniel at wagner-home.com**20090221232142] 
> [add IndependentScreens to xmonad-contrib.cabal
> daniel at wagner-home.com**20090221231632] 
> [add type information for IndependentScreens
> daniel at wagner-home.com**20090221231525] 
> [add some boilerplate comments at the top of IndependentScreens
> Brent Yorgey <byorgey at cis.upenn.edu>**20090221230850] 
> [IndependentScreens, v0.0
> daniel at wagner-home.com**20090221225229] 
> [U.Run: remove waitForProcess to close Issue 268
> wirtwolff at gmail.com**20090220214153
>  Ignore-this: a6780565fde40a4aac9023cc55fc2273
>  http://code.google.com/p/xmonad/issues/detail?id=268
>  Submitting with some trepidation, since I've nearly no
>  understanding of process handling. Should be ok, no 
>  warnings by sjanssen when asking about it in hpaste or
>  earlier email, and tested locally by spawning excessive
>  numbers of dzens: did not leave zombies or raise exceptions.
> ] 
> [change Cross data declaration into a record so that Haddock will parse the per-argument comments
> Brent Yorgey <byorgey at cis.upenn.edu>**20090221224742] 
> [X.L.Master: turn it to a Layout modifier and update the code
> Ismael Carnales <icarnales at gmail.com>**20090213020453
>  Ignore-this: 69513ad2b60dc4aeb49d64ca30e6f9f8
> ] 
> [Use doShift in my config
> Spencer Janssen <spencerjanssen at gmail.com>**20090219042040
>  Ignore-this: 1f103d21bbceec8d48384f975f18eaec
> ] 
> [SpawnOn: use doShift.  This resolves problems where SpawnOn would shift the wrong window
> Spencer Janssen <spencerjanssen at gmail.com>**20090219041856
>  Ignore-this: 6ae639a638db8eff77203f3f2e481a4e
> ] 
> [SpawnOn: delete seen pids
> Spencer Janssen <spencerjanssen at gmail.com>**20090213013011
>  Ignore-this: 8b15a60bba1edf1bab5fb77ac54eb12f
> ] 
> [X.U.Loggers: handle possible EOF (reported by dyfrgi)
> Roman Cheplyaka <roma at ro-che.info>**20090216213842] 
> [U.Scratchpad: add general spawn action to close issue 249
> wirtwolff at gmail.com**20090214003642
>  Ignore-this: 925ad9db4ecc934dcd86320f383ed44a
>  Adds scratchpadSpawnActionCustom where user specifies how to set
>  resource to "scratchpad". This allows use of gnome-terminal, etc.
>  Add detail to RationalRectangle documentation; strip trailing spaces.
> ] 
> [SpawnOn: add 'exec' to shell strings where possible
> Spencer Janssen <spencerjanssen at gmail.com>**20090212234608
>  Ignore-this: c7de4e05803d60b10f38004dcbda4732
> ] 
> [Add Cross Layout
> 'Luis Cabellos <zhen.sydow at gmail.com>'**20090209174802] 
> [Fix an undefined in EwmhDesktops
> Daniel Schoepe <asgaroth_ at gmx.de>**20090209152308
>  Ignore-this: f60a43d7ba90164ebcf700090dfb2480
> ] 
> [X.U.WindowProperties: docs (description and sections)
> Roman Cheplyaka <roma at ro-che.info>**20090208231422] 
> [X.U.WindowProperties: Add getProp32 and getProp32s, helpers to get properties from windows
> Ismael Carnales <icarnales at gmail.com>**20090205013031
>  Ignore-this: c5481fd5d97b15ca049e2da2605f65c1
> ] 
> [cleanup and make X.L.Mosaic behavior more intuitive wrt. areas
> Adam Vogt <vogt.adam at gmail.com>**20090208221629
>  Ignore-this: 3c3c6faa203cbb1c1db909e5bf018b6f
> ] 
> [minor typo in XMonad/Util/EZConfig.hs
> Joachim Breitner <mail at joachim-breitner.de>**20090208192224
>  Ignore-this: 7ffee60858785c3e31fdd5383c9bb784
> ] 
> [Multimedia keys support for EZConfig
> Khudyakov Alexey <alexey.skladnoy at gmail.com>**20090207173330
>  Ignore-this: 21183dd7c192682daa18e3768828f88d
> ] 
> [+A.CycleWindows: bindings to cycle windows in new ways
> wirtwolff at gmail.com**20090207170622
>  Ignore-this: 51634299addf224cbbc421adb4b048f5
>  Provides binding actions and customizable pure stack operations
>  to cycle through a list of permutations of the stack (recent),
>  cycle nth into focus, cycle through focus excluding a neighbor,
>  cycle unfocused, shift a window halfway around the stack.
>  Esp. for Full, two or three pane layouts, but useful for any
>  layout with many windows.
> ] 
> [XMonad.Actions.CopyWindow: fmt & qualify stackset import
> gwern0 at gmail.com**20090206171833
>  Ignore-this: 4d08f5a7627020b188f59fc637b53ae8
> ] 
> [XMonad.Actions.CopyWindow runOrCopy
> lan3ny at gmail.com**20080602205742] 
> [ManageHelpers: reduce duplicated code in predicates
> Ismael Carnales <icarnales at gmail.com>**20090204021847
>  Ignore-this: e28a912d4f897eba68ab3edfddf9f26b
> ] 
> [Remove X.U.SpawnOnWorkspace (superseded by X.A.SpawnOn)
> Roman Cheplyaka <roma at ro-che.info>**20090204103635] 
> [X.A.SpawnOn: add docs
> Roman Cheplyaka <roma at ro-che.info>**20090204102424
>  Add more documentation, including documentation from
>  X.U.SpawnOnWorkspace by Daniel Schoepe.
> ] 
> [Remove silliness from XMonad.Doc.Configuring
> Spencer Janssen <spencerjanssen at gmail.com>**20090204055626] 
> [Adjustments to use the new event hook feature instead of Hooks.EventHook
> Daniel Schoepe <asgaroth_ at gmx.de>**20090203160046
>  Ignore-this: f8c239bc8e301cbd6fa509ef748af542
> ] 
> [Easier Colorizers for X.A.GridSelect
> quentin.moser at unifr.ch**20090128001702
>  Ignore-this: df3e0423824e40537ffdb4bc7363655d
> ] 
> [X.A.SpawOn: fix usage doc
> Roman Cheplyaka <roma at ro-che.info>**20090202102042] 
> [Added GridVariants.SplitGrid
> Norbert Zeh <nzeh at cs.dal.ca>**20090129152146
>  
>  GridVariants.TallGrid behaved weird when transformed using Mirror
>  or Reflect.  The new layout SplitGrid does away with the need for
>  such transformations by taking a parameter to specify horizontal
>  or vertical splits.
> ] 
> [FixedColumn: added missing nmaster to the usage doc
> Ismael Carnales <icarnales at gmail.com>**20090130195239
>  Ignore-this: 642aa0bc9e68e7518acc8af30324b97a
> ] 
> [XMonad.Actions.Search: fix whitespace & tabs
> gwern0 at gmail.com**20090129025246
>  Ignore-this: 894e479ccc46160848c4d70c2361c929
> ] 
> [xmonad-action-search-intelligent-searchengines
> Michal Trybus <komar007 at gmail.com>**20090128101938
>  Changed the XMonad.Action.Search to use a function instead of String to prepare the search URL.Added a few useful functions used to connect many search engines together and do intelligent prefixed searches (more doc in haddock)The API has not changed with the only exception of search function, which now accepts a function instead of String.
> ] 
> [XMonad.Prompt autocompletion fix
> quentin.moser at unifr.ch**20090127184145
>  Ignore-this: 635cbf6420722a4edef1ae9c40b36e1b
> ] 
> [X.A.SinkAll: re-add accidentally deleted usage documentation
> Brent Yorgey <byorgey at cis.upenn.edu>**20090127222533] 
> [move XMonad.Actions.SinkAll functionality to more general XMonad.Actions.WithAll, and re-export sinkAll from X.A.SinkAll for backwards compatibility
> Brent Yorgey <byorgey at cis.upenn.edu>**20090127222355] 
> [adds generic 'all windows on current workspace' functionality
> loupgaroublond at gmail.com**20081221224850] 
> [placement patch to XMonad.Layout.LayoutHints
> quentin.moser at unifr.ch**20090126195950
>  Ignore-this: 87a5efa9c841d378a808b1a4309f18
> ] 
> [XMonad.Actions.MessageFeedback module
> quentin.moser at unifr.ch**20090126181059
>  Ignore-this: 82e58357a44f98c35ccf6ad0ef98b552
> ] 
> [submapDefault
> Anders Engstrom <ankaan at gmail.com>**20090118152933
>  Ignore-this: c8958d47eb584a7de04a81eb087f05d1
>  Add support for a default action to take when the entered key does not match any entry.
> ] 
> [X.A.CycleWS: convert tabs to spaces (closes #266)
> Roman Cheplyaka <roma at ro-che.info>**20090127185604] 
> [Mosaic picks the middle aspect layout, unless overriden
> Adam Vogt <vogt.adam at gmail.com>**20090126032421
>  Ignore-this: aaa31da14720bffd478db0029563aea5
> ] 
> [Mosaic: stop preventing access to the widest layouts
> Adam Vogt <vogt.adam at gmail.com>**20090125045256
>  Ignore-this: c792060fe2eaf532f433cfa8eb1e8fe3
> ] 
> [X.L.Mosaic add documentation, update interface and aspect ratio behavior
> Adam Vogt <vogt.adam at gmail.com>**20090125041229
>  Ignore-this: e78027707fc844b3307ea87f28efed73
> ] 
> [Use currentTag, thanks asgaroth
> Spencer Janssen <spencerjanssen at gmail.com>**20090125213331
>  Ignore-this: dd1a3d96038de6479eca3b9798d38437
> ] 
> [Support for spawning most applications on a specific workspace
> Daniel Schoepe <asgaroth_ at gmx.de>**20090125191045
>  Ignore-this: 26076d54b131e037b42c87e4fde63200
> ] 
> [X.L.Mosaic: haddock fix
> Roman Cheplyaka <roma at ro-che.info>**20090124235908] 
> [A mosaic layout based on MosaicAlt
> Adam Vogt <vogt.adam at gmail.com>**20090124022058
>  Ignore-this: 92bad7498f1ac402012e3eba6cbb2693
>  
>  The position of a window in the stack determines its position and layout. And
>  the overall tendency to make wide or tall windows can be changed, though not
>  all of the options presented by MosaicAlt can be reached, the layout changes
>  with each aspect ratio message.
>  
> ] 
> [uninstallSignalHandlers in spawnPipe
> Spencer Janssen <spencerjanssen at gmail.com>**20090122002745
>  Ignore-this: e8cfe0f18f278c95d492628da8326fd7
> ] 
> [Create a new session for spawnPiped processes
> Spencer Janssen <spencerjanssen at gmail.com>**20090122000441
>  Ignore-this: 37529c5fe8b4bf1b97fffb043bb3dfb0
> ] 
> [TAG 0.8.1
> Spencer Janssen <spencerjanssen at gmail.com>**20090118220647] 
> [Use spawnOn in my config
> Spencer Janssen <spencerjanssen at gmail.com>**20090117041026
>  Ignore-this: 3f92e4bbe4f2874b86a6c7ad66a31bbb
> ] 
> [Add XMonad.Actions.SpawnOn
> Spencer Janssen <spencerjanssen at gmail.com>**20090117040432
>  Ignore-this: 63869d1ab11f2ed5aab1690763065800
> ] 
> [Bump version to 0.8.1
> Spencer Janssen <spencerjanssen at gmail.com>**20090116223607
>  Ignore-this: 1c201e87080e4404f51cadc108b228a1
> ] 
> [Compile without optimizations on x86_64 and GHC 6.10
> Spencer Janssen <spencerjanssen at gmail.com>**20090108231650
>  Ignore-this: a803235b8022793f648e8953d9f05e0c
>  This is a workaround for http://xmonad.org/bugs/226
> ] 
> [Update all uses of doubleFork/waitForProcess
> Spencer Janssen <spencerjanssen at gmail.com>**20090116210315
>  Ignore-this: 4e15b7f3fd6af3b7317449608f5246b0
> ] 
> [Update to my config
> Spencer Janssen <spencerjanssen at gmail.com>**20090116204553
>  Ignore-this: 81017fa5b99855fc8ed1fe8892929f53
> ] 
> [Adjustments to new userCode function
> Daniel Schoepe <asgaroth_ at gmx.de>**20090110221310] 
> [X.U.EZConfig: expand documentation
> Brent Yorgey <byorgey at cis.upenn.edu>**20090116153143] 
> [add a bit of documentation to HintedTile
> Brent Yorgey <byorgey at cis.upenn.edu>**20090114065126] 
> [ManageHelpers: add isDialog
> johanngiwer at web.de**20090108232505] 
> [CenteredMaster
> portnov84 at rambler.ru**20090111134513
>  
>  centerMaster layout modifier places master window at top of other, at center of screen. Other windows are managed by base layout.
>  topRightMaster is similar, but places master window at top right corner.
> ] 
> [XMonad.Util.XSelection: update maintainer information
> gwern0 at gmail.com**20090110213000
>  Ignore-this: 1592ba07f2ed5d2258c215c2d175190a
> ] 
> [X.U.XSelection: get rid of warning about missing newline, add Haddock link
> Brent Yorgey <byorgey at cis.upenn.edu>**20090102194357] 
> [adds haddock documentation for transformPromptSelection
> loupgaroublond at gmail.com**20090102190954
>  
>  also renames the function per mailing list recommendation
> ] 
> [adds a weird function to XSelection
> loupgaroublond at gmail.com**20081222020730
>  
>  This enables you to pass a function of (String -> String) to a selection function to modify the string before executing it.  This way, you can input your own escape routines to make it shell command line safe, and/or do other fancier things.
> ] 
> [ThreeColumnsMiddle
> xmonad at c-otto.de**20090102091019] 
> [fix-fromJust-errors
> rupa at lrrr.us**20081224045509
>  
>  bogner wrote all this stuff and i just tested it.
>  
>  I had:
>  
>  myLogHook = ewmhDesktopLogHookCustom ScratchpadFilterOutWorkspace >> updatePointer Nearest
>  
>  Everytime I invoked or hid Scratchpad, it would leave a 'Maybe.fromJust: Nothing' line in .xsession-errors, and updatePointer would stop working.
>  
> ] 
> [ Prompt: Change Filemode to 600 for history-file (fixes bug 244)
> Dominik Bruhn <dominik at dbruhn.de>**20081218001601] 
> [X.L.Monitor: changes in message passing
> Roman Cheplyaka <roma at ro-che.info>**20081226220851
>  - transform mbName (Maybe String) to name (String)
>  - slghtly change semantics of messages, document it
> ] 
> [X.L.Monitor: change interface
> Roman Cheplyaka <roma at ro-che.info>**20081226213118
>  - remove add*Monitor
>  - add manageMonitor, monitor template
> ] 
> [X.U.WindowProperties: propertyToQuery+docs
> Roman Cheplyaka <roma at ro-che.info>**20081225080702] 
> [X.L.Monitor: docs
> Roman Cheplyaka <roma at ro-che.info>**20081225073904] 
> [hlintify XUtils, XSelection, Search, WindowGo
> gwern0 at gmail.com**20081220153302
>  Ignore-this: 7e877484e3cd8954b74232ea83180fa9
> ] 
> [fix focus issue for XMonad.Actions.Warp.banishScreen
> Norbert Zeh <nzeh at cs.dal.ca>**20081212203532
>  
>  This patch ensures that the focus (or in fact the whose windowset)
>  does not change as a result of a banishScreen.  The way this is implemented
>  will become problematic if xmonad ever goes multithreaded.
> ] 
> [addition of XMonad.Actions.Warp.banishScreen
> Norbert Zeh <nzeh at cs.dal.ca>**20081212192621
>  
>  This works on top of warpToScreen and, thus, suffers from the same issue:
>  focus change.
> ] 
> [fixed documentation for banish
> Norbert Zeh <nzeh at cs.dal.ca>**20081212191819
>  
>  banish actually warps to the specified corner of the current window, not
>  the screen.
> ] 
> [addition of combined TallGrid layout
> Norbert Zeh <nzeh at cs.dal.ca>**20081212184836
>  
>  Added a module XMonad.Layouts.GridVariants, which defines layouts
>  Grid and TallGrid.  The former is a customizable version of Grid.  The latter
>  is a combination of Grid and Tall (see doc of the module).
> ] 
> [Add FixedColumn, a layout like Tall but based on the resize hints of windows
> Justin Bogner <mail at justinbogner.com>**20081213073054] 
> [XMonad.Actions.WindowGo: fix a floating-related focus bug
> gwern0 at gmail.com**20081205150755
>  Ignore-this: c8b6625aa2bd4136937acbd2ad64ffd3
>  If a floating window was focused, a cross-workspace 'raise' would cause a loop of
>  shifting windows. Apparently the problem was 'focus' and its mouse-handling. Spencer
>  suggested that the calls to focus be replaced with 'focusWindow', which resolved it.
> ] 
> [Prompt.hs: +greenXPConfig and amberXPConfig
> gwern0 at gmail.com**20081119213122
>  Ignore-this: 95ac7dbe9c8fe3618135966f251f4fc6
> ] 
> [Prompt.hs: increase font size to 12 from niggardly 10
> gwern0 at gmail.com**20081119212523
>  Ignore-this: 74a6e1ac5e1774da4ffc7c6667c034c
> ] 
> [Prompt.hs: replace magic numbers with understandable names
> gwern0 at gmail.com**20081119212502
>  Ignore-this: 8401c0213be9a32c925e1bd0ba5e01f1
> ] 
> [X.L.Monitor: recommend doHideIgnore (docs)
> Roman Cheplyaka <roma at ro-che.info>**20081215190710] 
> [X.L.Monitor: docs
> Roman Cheplyaka <roma at ro-che.info>**20081215184423] 
> [X.L.Monitor: export Monitor datatype
> Roman Cheplyaka <roma at ro-che.info>**20081215184318] 
> [X.H.ManageHelpers: add doHideIgnore
> Roman Cheplyaka <roma at ro-che.info>**20081215182758] 
> [Add KDE 4 config, thanks to Shirakawasuna on IRC
> Spencer Janssen <spencerjanssen at gmail.com>**20081211071141
>  Ignore-this: 51698961ab5b6e569c294d174f2804a9
> ] 
> [I use the deleteConsecutive history filter
> Spencer Janssen <spencerjanssen at gmail.com>**20081025070438] 
> [Remove XMonad.Config.PlainConfig, it has been turned into the separate xmonad-light project.
> Braden Shepherdson <Braden.Shepherdson at gmail.com>**20081203161534] 
> [XMonad.Prompt: swap up and down per bug #243
> gwern0 at gmail.com**20081203013323
>  Ignore-this: 8ab0481a0da7a983f501ac2fec4a68e8
> ] 
> [Fix boolean operator precedence in GridSelect keybindings
> Aleksandar Dimitrov <aleks.dimitrov at googlemail.com>**20081201120928
>  The vim-like hjkl keys were ORed to the key event AND arrow keys.
> ] 
> [GridSelect.hs: navigate grid with h,j,k,l as well as arrow keys
> sean.escriva at gmail.com**20081122084725] 
> [Export setOpacity from FadeInactive. Document how to make monitor transparent (X.L.Monitor)
> Roman Cheplyaka <roma at ro-che.info>**20081117153027] 
> [Monitor: use broadcastMessage instead of sendMessage; this solves several issues
> Roman Cheplyaka <roma at ro-che.info>**20081117133957] 
> [FadeInactive: fade all inactive windows (including focused windows on visible screens)
> Roman Cheplyaka <roma at ro-che.info>**20081117130115] 
> [Monitor: documented one more issue
> Roman Cheplyaka <roma at ro-che.info>**20081117113807] 
> [Monitor: improved the docs
> Roman Cheplyaka <roma at ro-che.info>**20081117073709] 
> [added XMonad.Layout.Monitor
> Roman Cheplyaka <roma at ro-che.info>**20081115104735] 
> [WindowProperties: added allWithProperty
> Roman Cheplyaka <roma at ro-che.info>**20081115104525] 
> [ManageHelpers: added doSideFloat (generalization of doCenterFloat)
> Roman Cheplyaka <roma at ro-che.info>**20081114113015] 
> [GridSelect: Export default_colorizer
> Dominik Bruhn <dominik at dbruhn.de>**20081112140005] 
> [Simplify code for restriction-calculation and remove compiletime warnings
> Dominik Bruhn <dominik at dbruhn.de>**20081112134630] 
> [Simplify handle/eventLoop, introduce findInWindowMap, partial updates for key movements (less flickering)
> Clemens Fruhwirth <clemens at endorphin.org>**20081111100405
>  
>  * handle/eventLoop carried the display and the drawing window as
>    parameters. The display is available from the embedded X monad, the
>    drawing windows was added.
>  
>  * updateWindows now takes a list of windows to
>    update. updateAllWindows updates all windows.
>  
>  * only the windows that are modified by key movements are redrawn
>    now. This means less flickering.
>  
> ] 
> [GridSelect: force cursor stay in visible area
> Roman Cheplyaka <roma at ro-che.info>**20081111063348] 
> [GridSelect: fix infiniteness problem with diamondRestrict
> Roman Cheplyaka <roma at ro-che.info>**20081111055350] 
> [GridSelect: remove tabs
> Roman Cheplyaka <roma at ro-che.info>**20081111053647] 
> [Exported shrinkWhile from Decoration to use in GridSelect
> Roman Cheplyaka <roma at ro-che.info>**20081110191534] 
> [GridSelect: added link to a screenshot
> Roman Cheplyaka <roma at ro-che.info>**20081110190617] 
> [GridSelect: various improvements
> Roman Cheplyaka <roma at ro-che.info>**20081110184644
>  Added documentation
>  Restricted export list for the sake of haddock
>  Added functions:
>    withSelectedWindow
>    bringSelected (by Clemens Fruhwirth)
>    goToSelected (by Dominik Bruhn)
> ] 
> [Initial version of GridSelect.hs with a lot room for improvement/cleanups
> Clemens Fruhwirth <clemens at endorphin.org>**20081107115114] 
> [documentation: XMonad.Util.Search.hs, add EZConfig keybindings example
> sean.escriva at gmail.com**20081106171707] 
> [typo
> Don Stewart <dons at galois.com>**20081104043044
>  Ignore-this: bdac0ff3316c821bce321b51c62f6e89
> ] 
> [place an upper bound on the version of base we support
> Don Stewart <dons at galois.com>**20081104035857
>  Ignore-this: 29139cc4f0ecb299b56ae99f7d20b854
> ] 
> [explicit import list for things in the process library
> Don Stewart <dons at galois.com>**20081104035319
>  Ignore-this: 91b7f96421828788760e8bcff7dec317
> ] 
> [Work around ghc 6.10 bug #2738
> Don Stewart <dons at galois.com>**20081104034819
>  Ignore-this: c75da9693fa642025eac0d074869423d
> ] 
> [windowPromptBringCopy
> deadguysfrom at gmail.com**20081023173019] 
> [generic menu and window bringer
> Travis B. Hartwell <nafai at travishartwell.net>**20081027005523] 
> [Search.hs: +hackage search, courtesy of byorgey
> gwern0 at gmail.com**20081031214937
>  Ignore-this: 24db0ceed49f8bd37ce98ccf8f8ca2ab
> ] 
> [Prompt.hs rename deleteConsecutiveDuplicates
> gwern0 at gmail.com**20081008205131
>  That name is really unwieldy and long.
> ] 
> [Prompt.hs: have historyCompletion filter dupes
> gwern0 at gmail.com**20081008204710
>  Specifically, it calls deleteConsecutiveDuplicates on the end product. uniqSort reverses order in an unfortunate way, so we don't use that.
>  The use-case is when a user has added the same input many times - as it stands, if the history records 30 'top's or whatever, the completion will show 30 'top' entries! This fixes that.
> ] 
> [Prompt.hs: tweak haddocks
> gwern0 at gmail.com**20081008204649] 
> [Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off
> gwern0 at gmail.com**20081008192645] 
> [Do not consider XMONAD_TIMER unknown
> Joachim Breitner <mail at joachim-breitner.de>**20081008195643] 
> [Kill window without focusing it first
> Joachim Breitner <mail at joachim-breitner.de>**20081005002533
>  This patch requires the patch "add killWindow function" in xmonad.
>  Before this patch, people would experience “workspace flicker” when closing
>  a window via EWMH that is not on the current workspace, for example when
>  quitting pidgin via the panel icon.
> ] 
> [let MagnifyLess actually magnify less
> daniel at wagner-home.com**20081015153911] 
> [Actions.Search: add a few search engines
> intrigeri at boum.org**20081008104033
>  
>  Add Debian {package, bug, tracking system} search engines, as well as Google
>  Images and isohunt.
>  
> ] 
> [Implement HiddenNonEmptyWS with HiddenWS and NonEmptyWS
> Joachim Breitner <mail at joachim-breitner.de>**20081006211027
>  (Just to reduce code duplication)
> ] 
> [Add straightforward HiddenWS to WSType
> Joachim Breitner <mail at joachim-breitner.de>**20081006210548
>  With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously missing.
> ] 
> [Merge emptyLayoutMod into redoLayout
> Joachim Breitner <mail at joachim-breitner.de>**20081005190220
>  This removes the emptyLayoutMod method from the LayoutModifier class, and
>  change the Stack parameter to redoLayout to a Maybe Stack one. It also changes
>  all affected code. This should should be a refactoring without any change in
>  program behaviour.
> ] 
> [SmartBorders even for empty layouts
> Joachim Breitner <mail at joachim-breitner.de>**20081005184426
>  Fixes: http://code.google.com/p/xmonad/issues/detail?id=223
> ] 
> [Paste.hs: improve haddocks
> gwern0 at gmail.com**20080927150158] 
> [Paste.hs: fix haddock
> gwern0 at gmail.com**20080927145238] 
> [minor explanatory comment
> daniel at wagner-home.com**20081003015919] 
> [XMonad.Layout.HintedGrid: add GridRatio (--no-test because of haddock breakage)
> Lukas Mai <l.mai at web.de>**20080930141715] 
> [XMonad.Util.Font: UTF8 -> USE_UTF8
> Lukas Mai <l.mai at web.de>**20080930140056] 
> [Paste.hs: implement noModMask suggestion
> gwern0 at gmail.com**20080926232056] 
> [fix a divide by zero error in Grid
> daniel at wagner-home.com**20080926204148] 
> [-DUTF8 flag with -DUSE_UTF8
> gwern0 at gmail.com**20080921154014] 
> [XSelection.hs: use CPP to compile against utf8-string
> gwern0 at gmail.com**20080920151615] 
> [add XMonad.Config.Azerty
> Devin Mullins <me at twifkak.com>**20080924044946] 
> [flip GridRatio to match convention (x/y)
> Devin Mullins <me at twifkak.com>**20080922033354] 
> [let Grid have a configurable aspect ratio goal
> daniel at wagner-home.com**20080922010950] 
> [Paste.hs: +warning about ASCII limitations
> gwern0 at gmail.com**20080921155038] 
> [Paste.hs: shorten comment lines to under 80 columns per sjanssen
> gwern0 at gmail.com**20080921154950] 
> [Forgot to enable historyFilter :(
> Spencer Janssen <spencerjanssen at gmail.com>**20080921094254] 
> [Prompt: add configurable history filters
> Spencer Janssen <spencerjanssen at gmail.com>**20080921093453] 
> [Update my config to use 'statusBar'
> Spencer Janssen <spencerjanssen at gmail.com>**20080921063513] 
> [Rename pasteKey functions to sendKey
> Spencer Janssen <spencerjanssen at gmail.com>**20080921062016] 
> [DynamicLog: doc fixes
> Spencer Janssen <spencerjanssen at gmail.com>**20080921061314] 
> [Move XMonad.Util.XPaste to XMonad.Util.Paste
> Spencer Janssen <spencerjanssen at gmail.com>**20080921060947] 
> [Depend on X11 >= 1.4.3
> Spencer Janssen <spencerjanssen at gmail.com>**20080921055456] 
> [statusBar now supplies the action to toggle struts
> Spencer Janssen <spencerjanssen at gmail.com>**20080918013858] 
> [cleanup - use currentTag
> Devin Mullins <me at twifkak.com>**20080921011159] 
> [XPaste.hs: improve author info
> gwern0 at gmail.com**20080920152342] 
> [+XMonad.Util.XPaste: a module for pasting strings to windows
> gwern0 at gmail.com**20080920152106] 
> [UrgencyHook bug fix: cleanupUrgents should clean up reminders, too
> Devin Mullins <me at twifkak.com>**20080920062117] 
> [Sketch of XMonad.Config.Monad
> Spencer Janssen <spencerjanssen at gmail.com>**20080917081838] 
> [raiseMaster
> seanmce33 at gmail.com**20080912184830] 
> [Add missing space between dzen command and flags
> Daniel Neri <daniel.neri at sigicom.com>**20080915131009] 
> [Big DynamicLog refactor.  Added statusBar, improved compositionality for dzen and xmobar
> Spencer Janssen <spencerjanssen at gmail.com>**20080913205931
>  Compatibility notes:
>      - dzen type change
>      - xmobar type change
>      - dynamicLogDzen removed
>      - dynamicLogXmobar removed
> ] 
> [Take maintainership of XMonad.Prompt
> Spencer Janssen <spencerjanssen at gmail.com>**20080911230442] 
> [Overhaul Prompt to use a zipper for history navigation.  Fixes issue #216
> Spencer Janssen <spencerjanssen at gmail.com>**20080911225940] 
> [Use the new completion on tab setting
> Spencer Janssen <spencerjanssen at gmail.com>**20080911085940] 
> [Only start to show the completion window with more than one match
> Joachim Breitner <mail at joachim-breitner.de>**20080908110129] 
> [XPrompt: Add showCompletionOnTab option
> Joachim Breitner <mail at joachim-breitner.de>**20080908105758
>  This patch partially implements
>  http://code.google.com/p/xmonad/issues/detail?id=215
>  It adds a XPConfig option that, if enabled, hides the completion window
>  until the user presses Tab once. Default behaviour is preserved.
>  TODO: If Tab causes a unique completion, continue to hide the completion
>  window.
> ] 
> [XMonad.Actions.Plane.planeKeys: function to make easier to configure
> Marco Túlio Gontijo e Silva <marcot at riseup.net>**20080714153601] 
> [XMonad.Actions.Plane: removed unneeded hiding
> Marco Túlio Gontijo e Silva <marcot at riseup.net>**20080714152631] 
> [Improvements in documentation
> Marco Túlio Gontijo e Silva <marcot at riseup.net>**20080709002425] 
> [Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde}
> Spencer Janssen <spencerjanssen at gmail.com>**20080911040808] 
> [add clearUrgents for your keys
> Devin Mullins <me at twifkak.com>**20080909055425] 
> [add reminder functionality to UrgencyHook
> Devin Mullins <me at twifkak.com>**20080824200548
>  I'm considering rewriting remindWhen and suppressWhen as UrgencyHookModifiers, so to speak. Bleh.
> ] 
> [TAG 0.8
> Spencer Janssen <spencerjanssen at gmail.com>**20080905195420] 
> Patch bundle hash:
> 56394b26174b775d96061528f3122ced31f2ab4d

> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad



More information about the xmonad mailing list