Hello,
These patches change the function userCode to type X a -> X (Maybe a)
for more flexibility and provide a userCodeDef :: a -> X a -> X a, for
more convenience when using it, and adjust all uses of the old userCode.
Sat Jan 10 23:13:10 CET 2009 Daniel Schoepe
* Adjustments to new userCode function
New patches:
[Adjustments to new userCode function
Daniel Schoepe **20090110221310] {
hunk ./XMonad/Hooks/UrgencyHook.hs 335
callUrgencyHook wuh w
else
clearUrgency w
- userCode =<< asks (logHook . config) -- call *after* IORef has been modified
+ userCodeDef () =<< asks (logHook . config) -- call *after* IORef has been modified
DestroyWindowEvent {ev_window = w} ->
clearUrgency w
_ ->
hunk ./XMonad/Hooks/UrgencyHook.hs 345
callUrgencyHook :: UrgencyHook h => WithUrgencyHook h -> Window -> X ()
callUrgencyHook (WithUrgencyHook hook UrgencyConfig { suppressWhen = sw, remindWhen = rw }) w =
whenX (not <$> shouldSuppress sw w) $ do
- userCode $ urgencyHook hook w
+ userCodeDef () $ urgencyHook hook w
case rw of
Repeatedly times int -> addReminder w int $ Just times
Every int -> addReminder w int Nothing
}
Context:
[XMonad.Util.XSelection: update maintainer information
gwern0@gmail.com**20090110213000
Ignore-this: 1592ba07f2ed5d2258c215c2d175190a
]
[X.U.XSelection: get rid of warning about missing newline, add Haddock link
Brent Yorgey **20090102194357]
[adds haddock documentation for transformPromptSelection
loupgaroublond@gmail.com**20090102190954
also renames the function per mailing list recommendation
]
[adds a weird function to XSelection
loupgaroublond@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@c-otto.de**20090102091019]
[fix-fromJust-errors
rupa@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 **20081218001601]
[X.L.Monitor: changes in message passing
Roman Cheplyaka **20081226220851
- transform mbName (Maybe String) to name (String)
- slghtly change semantics of messages, document it
]
[X.L.Monitor: change interface
Roman Cheplyaka **20081226213118
- remove add*Monitor
- add manageMonitor, monitor template
]
[X.U.WindowProperties: propertyToQuery+docs
Roman Cheplyaka **20081225080702]
[X.L.Monitor: docs
Roman Cheplyaka **20081225073904]
[hlintify XUtils, XSelection, Search, WindowGo
gwern0@gmail.com**20081220153302
Ignore-this: 7e877484e3cd8954b74232ea83180fa9
]
[fix focus issue for XMonad.Actions.Warp.banishScreen
Norbert Zeh **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 **20081212192621
This works on top of warpToScreen and, thus, suffers from the same issue:
focus change.
]
[fixed documentation for banish
Norbert Zeh **20081212191819
banish actually warps to the specified corner of the current window, not
the screen.
]
[addition of combined TallGrid layout
Norbert Zeh **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 **20081213073054]
[XMonad.Actions.WindowGo: fix a floating-related focus bug
gwern0@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@gmail.com**20081119213122
Ignore-this: 95ac7dbe9c8fe3618135966f251f4fc6
]
[Prompt.hs: increase font size to 12 from niggardly 10
gwern0@gmail.com**20081119212523
Ignore-this: 74a6e1ac5e1774da4ffc7c6667c034c
]
[Prompt.hs: replace magic numbers with understandable names
gwern0@gmail.com**20081119212502
Ignore-this: 8401c0213be9a32c925e1bd0ba5e01f1
]
[X.L.Monitor: recommend doHideIgnore (docs)
Roman Cheplyaka **20081215190710]
[X.L.Monitor: docs
Roman Cheplyaka **20081215184423]
[X.L.Monitor: export Monitor datatype
Roman Cheplyaka **20081215184318]
[X.H.ManageHelpers: add doHideIgnore
Roman Cheplyaka **20081215182758]
[Add KDE 4 config, thanks to Shirakawasuna on IRC
Spencer Janssen **20081211071141
Ignore-this: 51698961ab5b6e569c294d174f2804a9
]
[I use the deleteConsecutive history filter
Spencer Janssen **20081025070438]
[Remove XMonad.Config.PlainConfig, it has been turned into the separate xmonad-light project.
Braden Shepherdson **20081203161534]
[XMonad.Prompt: swap up and down per bug #243
gwern0@gmail.com**20081203013323
Ignore-this: 8ab0481a0da7a983f501ac2fec4a68e8
]
[Fix boolean operator precedence in GridSelect keybindings
Aleksandar Dimitrov **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@gmail.com**20081122084725]
[Export setOpacity from FadeInactive. Document how to make monitor transparent (X.L.Monitor)
Roman Cheplyaka **20081117153027]
[Monitor: use broadcastMessage instead of sendMessage; this solves several issues
Roman Cheplyaka **20081117133957]
[FadeInactive: fade all inactive windows (including focused windows on visible screens)
Roman Cheplyaka **20081117130115]
[Monitor: documented one more issue
Roman Cheplyaka **20081117113807]
[Monitor: improved the docs
Roman Cheplyaka **20081117073709]
[added XMonad.Layout.Monitor
Roman Cheplyaka **20081115104735]
[WindowProperties: added allWithProperty
Roman Cheplyaka **20081115104525]
[ManageHelpers: added doSideFloat (generalization of doCenterFloat)
Roman Cheplyaka **20081114113015]
[GridSelect: Export default_colorizer
Dominik Bruhn **20081112140005]
[Simplify code for restriction-calculation and remove compiletime warnings
Dominik Bruhn **20081112134630]
[Simplify handle/eventLoop, introduce findInWindowMap, partial updates for key movements (less flickering)
Clemens Fruhwirth **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 **20081111063348]
[GridSelect: fix infiniteness problem with diamondRestrict
Roman Cheplyaka **20081111055350]
[GridSelect: remove tabs
Roman Cheplyaka **20081111053647]
[Exported shrinkWhile from Decoration to use in GridSelect
Roman Cheplyaka **20081110191534]
[GridSelect: added link to a screenshot
Roman Cheplyaka **20081110190617]
[GridSelect: various improvements
Roman Cheplyaka **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 **20081107115114]
[documentation: XMonad.Util.Search.hs, add EZConfig keybindings example
sean.escriva@gmail.com**20081106171707]
[typo
Don Stewart **20081104043044
Ignore-this: bdac0ff3316c821bce321b51c62f6e89
]
[place an upper bound on the version of base we support
Don Stewart **20081104035857
Ignore-this: 29139cc4f0ecb299b56ae99f7d20b854
]
[explicit import list for things in the process library
Don Stewart **20081104035319
Ignore-this: 91b7f96421828788760e8bcff7dec317
]
[Work around ghc 6.10 bug #2738
Don Stewart **20081104034819
Ignore-this: c75da9693fa642025eac0d074869423d
]
[windowPromptBringCopy
deadguysfrom@gmail.com**20081023173019]
[generic menu and window bringer
Travis B. Hartwell **20081027005523]
[Search.hs: +hackage search, courtesy of byorgey
gwern0@gmail.com**20081031214937
Ignore-this: 24db0ceed49f8bd37ce98ccf8f8ca2ab
]
[Prompt.hs rename deleteConsecutiveDuplicates
gwern0@gmail.com**20081008205131
That name is really unwieldy and long.
]
[Prompt.hs: have historyCompletion filter dupes
gwern0@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@gmail.com**20081008204649]
[Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off
gwern0@gmail.com**20081008192645]
[Do not consider XMONAD_TIMER unknown
Joachim Breitner **20081008195643]
[Kill window without focusing it first
Joachim Breitner **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@wagner-home.com**20081015153911]
[Actions.Search: add a few search engines
intrigeri@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 **20081006211027
(Just to reduce code duplication)
]
[Add straightforward HiddenWS to WSType
Joachim Breitner **20081006210548
With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously missing.
]
[Merge emptyLayoutMod into redoLayout
Joachim Breitner **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 **20081005184426
Fixes: http://code.google.com/p/xmonad/issues/detail?id=223
]
[Paste.hs: improve haddocks
gwern0@gmail.com**20080927150158]
[Paste.hs: fix haddock
gwern0@gmail.com**20080927145238]
[minor explanatory comment
daniel@wagner-home.com**20081003015919]
[XMonad.Layout.HintedGrid: add GridRatio (--no-test because of haddock breakage)
Lukas Mai **20080930141715]
[XMonad.Util.Font: UTF8 -> USE_UTF8
Lukas Mai **20080930140056]
[Paste.hs: implement noModMask suggestion
gwern0@gmail.com**20080926232056]
[fix a divide by zero error in Grid
daniel@wagner-home.com**20080926204148]
[-DUTF8 flag with -DUSE_UTF8
gwern0@gmail.com**20080921154014]
[XSelection.hs: use CPP to compile against utf8-string
gwern0@gmail.com**20080920151615]
[add XMonad.Config.Azerty
Devin Mullins **20080924044946]
[flip GridRatio to match convention (x/y)
Devin Mullins **20080922033354]
[let Grid have a configurable aspect ratio goal
daniel@wagner-home.com**20080922010950]
[Paste.hs: +warning about ASCII limitations
gwern0@gmail.com**20080921155038]
[Paste.hs: shorten comment lines to under 80 columns per sjanssen
gwern0@gmail.com**20080921154950]
[Forgot to enable historyFilter :(
Spencer Janssen **20080921094254]
[Prompt: add configurable history filters
Spencer Janssen **20080921093453]
[Update my config to use 'statusBar'
Spencer Janssen **20080921063513]
[Rename pasteKey functions to sendKey
Spencer Janssen **20080921062016]
[DynamicLog: doc fixes
Spencer Janssen **20080921061314]
[Move XMonad.Util.XPaste to XMonad.Util.Paste
Spencer Janssen **20080921060947]
[Depend on X11 >= 1.4.3
Spencer Janssen **20080921055456]
[statusBar now supplies the action to toggle struts
Spencer Janssen **20080918013858]
[cleanup - use currentTag
Devin Mullins **20080921011159]
[XPaste.hs: improve author info
gwern0@gmail.com**20080920152342]
[+XMonad.Util.XPaste: a module for pasting strings to windows
gwern0@gmail.com**20080920152106]
[UrgencyHook bug fix: cleanupUrgents should clean up reminders, too
Devin Mullins **20080920062117]
[Sketch of XMonad.Config.Monad
Spencer Janssen **20080917081838]
[raiseMaster
seanmce33@gmail.com**20080912184830]
[Add missing space between dzen command and flags
Daniel Neri **20080915131009]
[Big DynamicLog refactor. Added statusBar, improved compositionality for dzen and xmobar
Spencer Janssen **20080913205931
Compatibility notes:
- dzen type change
- xmobar type change
- dynamicLogDzen removed
- dynamicLogXmobar removed
]
[Take maintainership of XMonad.Prompt
Spencer Janssen **20080911230442]
[Overhaul Prompt to use a zipper for history navigation. Fixes issue #216
Spencer Janssen **20080911225940]
[Use the new completion on tab setting
Spencer Janssen **20080911085940]
[Only start to show the completion window with more than one match
Joachim Breitner **20080908110129]
[XPrompt: Add showCompletionOnTab option
Joachim Breitner **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 **20080714153601]
[XMonad.Actions.Plane: removed unneeded hiding
Marco Túlio Gontijo e Silva **20080714152631]
[Improvements in documentation
Marco Túlio Gontijo e Silva **20080709002425]
[Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde}
Spencer Janssen **20080911040808]
[add clearUrgents for your keys
Devin Mullins **20080909055425]
[add reminder functionality to UrgencyHook
Devin Mullins **20080824200548
I'm considering rewriting remindWhen and suppressWhen as UrgencyHookModifiers, so to speak. Bleh.
]
[TAG 0.8
Spencer Janssen **20080905195420]
Patch bundle hash:
3417b9bd1a1cd726a9922e47b9cb96448a63ad84
Sat Jan 10 23:18:52 CET 2009 Daniel Schoepe
* More flexible userCode function
New patches:
[More flexible userCode function
Daniel Schoepe **20090110221852] {
hunk ./XMonad/Core.hs 27
XConf(..), XConfig(..), LayoutClass(..),
Layout(..), readsLayout, Typeable, Message,
SomeMessage(..), fromMessage, LayoutMessages(..),
- runX, catchX, userCode, io, catchIO, doubleFork,
+ runX, catchX, userCode, userCodeDef, io, catchIO, doubleFork,
withDisplay, withWindowSet, isRoot, runOnWorkspaces,
getAtom, spawn, getXMonadDir, recompile, trace, whenJust, whenX,
atom_WM_STATE, atom_WM_PROTOCOLS, atom_WM_DELETE_WINDOW, ManageHook, Query(..), runQuery
hunk ./XMonad/Core.hs 50
import Graphics.X11.Xlib.Extras (Event)
import Data.Typeable
import Data.Monoid
+import Data.Maybe (fromMaybe)
import qualified Data.Map as M
import qualified Data.Set as S
hunk ./XMonad/Core.hs 167
-- | Execute the argument, catching all exceptions. Either this function or
-- 'catchX' should be used at all callsites of user customized code.
-userCode :: X () -> X ()
-userCode a = catchX (a >> return ()) (return ())
+userCode :: X a -> X (Maybe a)
+userCode a = catchX (Just `liftM` a) (return Nothing)
+
+-- | Same as userCode but with a default argument to return instead of using
+-- Maybe, provided for convenience.
+userCodeDef :: a -> X a -> X a
+userCodeDef def a = fromMaybe def `liftM` userCode a
-- ---------------------------------------------------------------------
-- Convenient wrappers to state
hunk ./XMonad/Main.hsc 179
s <- io $ keycodeToKeysym dpy code 0
mClean <- cleanMask m
ks <- asks keyActions
- userCode $ whenJust (M.lookup (mClean, s) ks) id
+ userCodeDef () $ whenJust (M.lookup (mClean, s) ks) id
-- manage a new window
handle (MapRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
hunk ./XMonad/Main.hsc 282
-- property notify
handle PropertyEvent { ev_event_type = t, ev_atom = a }
- | t == propertyNotify && a == wM_NAME = userCode =<< asks (logHook . config)
+ | t == propertyNotify && a == wM_NAME = userCodeDef () =<< asks (logHook . config)
handle e = broadcastMessage e -- trace (eventName e) -- ignoring
hunk ./XMonad/Operations.hs 26
import qualified XMonad.StackSet as W
import Data.Maybe
-import Data.Monoid (appEndo)
+import Data.Monoid (Endo(..))
import Data.List (nub, (\\), find)
import Data.Bits ((.|.), (.&.), complement)
import Data.Ratio
hunk ./XMonad/Operations.hs 71
where i = W.tag $ W.workspace $ W.current ws
mh <- asks (manageHook . config)
- g <- fmap appEndo (runQuery mh w) `catchX` return id
+ g <- fmap appEndo $ userCodeDef (Endo id) (runQuery mh w)
windows (g . f)
-- | unmanage. A window no longer exists, remove it from the window
hunk ./XMonad/Operations.hs 172
isMouseFocused <- asks mouseFocused
unless isMouseFocused $ clearEvents enterWindowMask
- asks (logHook . config) >>= userCode
+ asks (logHook . config) >>= userCodeDef ()
-- | Produce the actual rectangle from a screen and a ratio on that screen.
scaleRationalRect :: Rectangle -> W.RationalRect -> Rectangle
}
Context:
[Call logHook as the very last action in windows
Spencer Janssen **20081209233700
Ignore-this: 4396ad891b607780f8e4b3b6bbce87e
]
[Accept inferior crossing events. This patch enables fmouse-focus-follows-screen
Spencer Janssen **20081205045130
Ignore-this: 3ac329fb92839827aed0a4370784cabd
]
[Tile all windows at once
Spencer Janssen **20081118074447]
[Factor rational rect scaling into a separate function
Spencer Janssen **20081118072849]
[Change screen focus by clicking on the root window.
Spencer Janssen **20081106224031
This is a modification of a patch from Joachim Breitner.
]
[Fix #192.
Spencer Janssen **20081021220059]
[select base < 4 for building on ghc 6.10
Adam Vogt **20081013214509]
[add killWindow function
Joachim Breitner **20081005001804
This is required to kill anything that is not focused, without
having to focus it first.
]
[add'l documentation
Devin Mullins **20080927234639]
[Regression: ungrab buttons on *non* root windows
Spencer Janssen **20081007214351]
[Partial fix for #40
Spencer Janssen **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 **20081007203953]
[Fix haddock
Spencer Janssen **20081007094641]
[Move screen locating code into pointScreen
Spencer Janssen **20081007094207]
[Make pointWithin a top-level binding
Spencer Janssen **20081007090229]
[sp README, CONFIG, STYLE, TODO
gwern0@gmail.com**20080913024457]
[Use the same X11 dependency as xmonad-contrib
Spencer Janssen **20080921061508]
[Export focusUp' and focusDown' -- work entirely on stacks
Spencer Janssen **20080911214803]
[add W.shiftMaster, fix float/tile-reordering bug
Devin Mullins **20080911053909]
[TAG 0.8
Spencer Janssen **20080905195412]
[Spelling. Any bets on how long this has been there?
Spencer Janssen **20080905195211]
[Bump version to 0.8
Spencer Janssen **20080905194225]
[Remove obsolete comments about darcs X11
Spencer Janssen **20080905194915]
[Recommend latest packages rather than specific versions
Spencer Janssen **20080905194837]
[Also remove -optl from the executable section
Spencer Janssen **20080820210023]
[-optl-Wl,-s is not needed with recent Cabal versions
Spencer Janssen **20080820204102]
[Haddock links
Malebria **20080601212515]
[Haddock syntax for enumeration
Malebria **20080601204951]
[I prefer the spencerjanssen@gmail.com address now
Spencer Janssen **20080714202650]
[Raise windows in the floating layer when moving or resizing
Trevor Elliott **20080521215057]
[add currentTag convenience function
Devin Mullins **20080511224258]
[Make Mirror a newtype
Spencer Janssen **20080508104640]
[Comments
Spencer Janssen **20080507013122]
[Break long line
Spencer Janssen **20080507012608]
[Style
Spencer Janssen **20080507012519]
[Simplify
Spencer Janssen **20080507011309]
[Overhaul Choose, fixes issue 183
Spencer Janssen **20080506220809]
[Remember if focus changes were caused by mouse actions or by key commands
Klaus Weidner **20080502175603
If the user used the mouse to change window focus (moving into or clicking on a
window), this should be handled differently than focus changes due to keyboard
commands. Specifically, it's inappropriate to discard window enter/leave events
while the mouse is moving. This fixes the bug where a fast mouse motion across
multiple windows resulted in the wrong window keeping focus.
It's also helpful information for contrib modules such as UpdatePointer - it's
supposed to move the mouse pointer only in response to keyboard actions, not if
the user was moving the mouse.
]
[Wibble
Spencer Janssen **20080506203840]
[Added doShift function for more user-friendly hooks
Ivan N. Veselov **20080506185757]
[use named colours. fixes startup failure on the XO
Don Stewart **20080502210149]
[Set focus *after* revealing windows
Spencer Janssen **20080407222559]
[Reveal windows after moving/resizing them.
Spencer Janssen **20080407220756
This should reduce the number of repaints for newly visible windows.
]
[Hide newly created but non-visible windows (fixes bug #172)
Spencer Janssen **20080430014012]
[formatting, eta expansion
Don Stewart **20080418184337]
[XMonad.ManageHook: add 'appName', another name for 'resource'
Lukas Mai **20080406012006]
[XMonad.ManageHook: make 'title' locale-aware; haddock cleanup
Lukas Mai **20080406011338
The code for 'title' was stolen from getname.patch (bug #44).
]
[XMonad.Main: call setlocale on startup
Lukas Mai **20080406011234]
[floats always use current screen (with less bugs)
robreim@bobturf.org**20080405135009]
[XMonad.Operations: applySizeHint reshuffle
Lukas Mai **20080404215615
Make applySizeHints take window borders into account. Move old functionality
to applySizeHintsContents. Add new mkAdjust function that generates a custom
autohinter for a window.
]
[XMonad.Layout: documentation cleanup
Lukas Mai **20080404215444]
[Remove gaps from the example config
Spencer Janssen **20080329232959]
[Remove gaps
Spencer Janssen **20080325091526]
[TAG 0.7
Spencer Janssen **20080329210249]
[Remove -fhpc from ghc-options (annoying hackage workaround)
Spencer Janssen **20080329205804]
[Remove version numbers from README
Spencer Janssen **20080329204158]
[Bump version to 0.7
Spencer Janssen **20080329191336]
[no need to expose --resume to the user
Don Stewart **20080328214219]
[Rename property to stringProperty
Spencer Janssen **20080325201814]
[ManageHook: add a 'property' Query that can get an arbitrary String property from a window (such as WM_WINDOW_ROLE, for example)
Brent Yorgey **20080325145414]
[Main.hs: startupHook should be guarded by userCode
Brent Yorgey **20080325171241]
[Also print compilation errors to stderr
Spencer Janssen **20080324225857]
[clean up for style
Don Stewart **20080322214116]
[add sendMessageWithNoRefresh and have broadcastMessage use it
Andrea Rossato **20080223130702
This patch:
- moves broadcastMessage and restart from Core to Operations (to avoid
circular imports);
- in Operations introduces sendMessageWithNoRefresh and move
updateLayout outside windows.
- broadcastMessage now uses sendMessageWithNoRefresh to obey to this
rules:
1. if handleMessage returns Nothing no action is taken;
2. if handleMessage returns a Just ml *only* the layout field of the
workspace record will be updated.
]
[--recompile now forces recompilation of xmonad.hs
Spencer Janssen **20080324212453]
[add --help option
Lukas Mai **20080129235258]
[add mod-shift-tab to the default bindings, from Mathias Stearn
Don Stewart **20080323211421]
[more tests
Don Stewart **20080323003436]
[some tests for the size increment handling in Operations.hs
Don Stewart **20080322234952]
[more properties for splitting horizontally and vertically
Don Stewart **20080322201835]
[test message handling of Full layout
Don Stewart **20080322192728]
[formatting
Don Stewart **20080322192635]
[strict fields on layout messages
Don Stewart **20080322192248]
[QuickCheck properties to fully specify the Tall layout, and its messages
Don Stewart **20080322041801]
[clean up Layout.hs, not entirely happy about the impure layouts.
Don Stewart **20080322041718]
[comments
Don Stewart **20080322041654]
[add hpc generation script
Don Stewart **20080322041640]
[add QuickCheck property for Full: it produces one window, it is fullscreen, and it is the current window
Don Stewart **20080322002026]
[QC for pureLayout. confirm pureLayout . Tall produces no overlaps
Don Stewart **20080322001229]
[whitespace
Don Stewart **20080322001208]
[reenable quickcheck properties for layouts (no overlap, fullscreen)
Don Stewart **20080321234015]
[formatting
Don Stewart **20080321230956]
[Revert float location patch. Not Xinerama safe
Don Stewart **20080321214129]
[XMonad.Core: ignore SIGPIPE, let write calls throw
Lukas Mai **20080321171911]
[update documentation
Brent Yorgey **20080311160727]
[Reimplement Mirror with runLayout
Andrea Rossato **20080225083236]
[Reimplement Choose with runLayout
Andrea Rossato **20080222193119]
[runLayout is now a LayoutClass method and takes the Workspace and the screen Rectangle
Andrea Rossato **20080222175815]
[add property for ensureTags behaviour on hidden workspaces
Don Stewart **20080310182557]
[Small linecount fix :)
robreim@bobturf.org**20080308021939]
[Change floats to always use the current screen
robreim@bobturf.org**20080308015829]
[use -fhpc by default when testing. All developers should have 6.8.x
Don Stewart **20080307184223]
[more general properties for view, greedyView
Don Stewart **20080307181657]
[rework failure cases in StackSet.view
Don Stewart **20080307181634]
[bit more code coverage
Don Stewart **20080307180905]
[more tests. slightly better test coverage
Don Stewart **20080227180113]
[test geometry setting
Don Stewart **20080227175554]
[incorrect invariant test for greedyView
Don Stewart **20080225180350]
[Add a startupHook.
Brent Yorgey **20080204192445
The only thing I am not sure about here is at what exact point the
startupHook should get run. I picked a place that seems to make sense:
as late as possible, right before entering the main loop. That way all
the layouts/workspaces/other state are set up and the startupHook can
manipulate them.
]
[Core.hs: add an Applicative instance for X
Brent Yorgey **20080204192348]
[update LOC claim in man page
gwern0@gmail.com**20080215211420]
[add quickstart instructions
Don Stewart **20080212203502]
[Remove non-existent windows on restart
Spencer Janssen **20080207091140]
[Lift initColor exceptions into Maybe
Don Stewart **20080206194858
We should audit all X11 Haskell lib calls we make for whether
they throw undocumented exceptions, and then banish that.
]
[some things to do
Don Stewart **20080206192533]
[module uses CPP
Don Stewart **20080206190521]
[Rename runManageHook to runQuery
Spencer Janssen **20080204053336]
[let enter dismiss compile errors
daniel@wagner-home.com**20080203202852]
[Core.hs, StackSet.hs: some documentation updates
Brent Yorgey **20080201190653]
[Make Mirror implement emptyLayout
Andrea Rossato **20080128001834]
[xmonad.cabal: add `build-type' to make Cabal happy
"Valery V. Vorotyntsev" **20080131163213]
[Get version from the Paths_xmonad module generated by Cabal
Daniel Neri **20080129144037
No need to bump version in more than one place.
]
[Kill stale xmonad 0.1 comments
Spencer Janssen **20080128211418]
[Point to 0.6 release of contrib
Spencer Janssen **20080128101115]
[notes on releases
Don Stewart **20080128171012]
[bump output of --version
Don Stewart **20080128170840]
[Generalize the type of catchIO, use it in Main.hs
Spencer Janssen **20080128054651]
[Add emptyLayout to LayoutClass, a method to be called when a workspace is empty
Andrea Rossato **20080124013207]
[clarify copyright
Don Stewart **20080108185640]
[TAG 0.6
Spencer Janssen **20080127220633]
[More other-modules
Spencer Janssen **20080127220152]
[Update example config
Spencer Janssen **20080127212331]
[Bump version to 0.6
Spencer Janssen **20080127205000]
[Updated ./man/xmonad.1.in to contain new command line parameters
Austin Seipp **20080122070153]
[Depend on QuickCheck < 2 when building tests
Spencer Janssen **20080122070225]
[Roll testing into the main executable, use Cabal to build the tests
Spencer Janssen **20080119091215]
[Simplify duplicate/cloned screen logic
Spencer Janssen **20080118032228]
[Put the screen removing stuff in getCleanedScreenInfo
Joachim Breitner **20071231181556]
[Ignore cloned screens
Joachim Breitner **20071231180628
This patch ignores screens that are just clones of existing ones,
or are completely contained in another. Currently only for rescreen, not yet for
xmonad start.
]
[-Werror when flag(testing) only
Spencer Janssen **20080118014827]
[Export doubleFork
nicolas.pouillard@gmail.com**20080114202612]
[reword comment (previous version didn't make sense to me)
Lukas Mai **20071122165925]
[The recompile function now returns a boolean status instead of ().
nicolas.pouillard@gmail.com**20080105225500]
[Make focus-follows-mouse configurable
Spencer Janssen **20071229023301]
[Strictify all XConfig fields, gives nice error messages when a field is forgotten on construction
Spencer Janssen **20071229021923]
[Spelling
Spencer Janssen **20071229021628]
[Wibble
Spencer Janssen **20071229021519]
[Broadcast button events to all layouts, fix for issue #111
Spencer Janssen **20071227080356]
[Config.hs: too many users seem to be ignoring/missing the polite warning not to modify this file; change it to something a bit less polite/more obvious.
Brent Yorgey **20071220201549]
[Remove desktop manageHook rules in favor of ManageDocks
Spencer Janssen **20071222113735]
[Wibble
Spencer Janssen **20071222041151]
[Add support for several flags:
Spencer Janssen **20071222020520
--version: print xmonad's version
--recompile: recompile xmonad.hs if it is out of date
--force-recompile: recompile xmonad.hs unconditionally
]
[Remove getProgName capability from restart, we don't use it anymore
Spencer Janssen **20071219215011]
[Flush pending X calls before restarting
Spencer Janssen **20071219162029]
[Allow for sharing of home directory across architectures.
tim.thelion@gmail.com**20071218065146]
[Call 'broadcastMessage ReleaseResources' in restart
Spencer Janssen **20071219065710]
[Manpage now describes config in ~/.xmonad/xmonad.hs
Adam Vogt **20071219023918]
[Update manpage to describe greedyView
Adam Vogt **20071219023726]
[Depend on X11-1.4.1, it has crucial bugfixes
Spencer Janssen **20071215022100]
[1.4.1 X11 dep
Don Stewart **20071214160558]
[Set withdrawnState after calling hide
Spencer Janssen **20071212060250]
[Remove stale comment
Spencer Janssen **20071211084236]
[Make windows responsible for setting withdrawn state
Spencer Janssen **20071211080117]
[Remove stale comment
Spencer Janssen **20071211075641]
[Clean up stale mapped/waitingUnmap state in handle rather than unmanage.
Spencer Janssen **20071211074810
This is an attempt to fix issue #96. Thanks to jcreigh for the insights
necessary to fix the bug.
]
[Delete windows from waitingUnmap that aren't waitng for any unmaps
Spencer Janssen **20071211074506]
[man/xmonad.hs: add some documentation explaining that 'title' can be used in the manageHook just like 'resource' and 'className'.
Brent Yorgey **20071210173357]
[normalize Module headers
Lukas Mai **20071210085327]
[Add 'testing' mode, this should reduce 'darcs check' time significantly
Spencer Janssen **20071210004704]
[Use XMonad meta-module in Main.hs
Spencer Janssen **20071210004456]
[TAG 0.5
Spencer Janssen **20071209233044]
[Remove references to 0.4
Spencer Janssen **20071209232336]
[Bump version to 0.5!
Spencer Janssen **20071209231539]
[Rename xmonad.hs to xmonad-template.hs
Spencer Janssen **20071209231426]
[StackSet: some haddock tuning
Andrea Rossato **20071209161525]
[add a template xmonad.hs
Don Stewart **20071209225018]
[Remove kicker and gnome-panel from the default manageHook, these are better
Spencer Janssen **20071209135408
handled by XMonad.Hooks.ManageDocks. Also, remove the over-complicated list
comprehensions.
]
[XMonad.Layouts -> XMonad.Layout
Spencer Janssen **20071208080553]
[Typos and formatting
Andrea Rossato **20071124143221]
[Move XMonad.Layouts to XMonad.Layout for uniformity with xmc
Andrea Rossato **20071124143000]
[Hide generalized newtype deriving from Haddock
Spencer Janssen **20071208015015]
[Export XMonad.Layouts from XMonad
Spencer Janssen **20071208014927]
[Export XMonad.Operations from XMonad
Spencer Janssen **20071208000636]
[Export Graphics.X11, Graphics.X11.Xlib.Extras, and various Monad stuff from XMonad
Spencer Janssen **20071207233535]
[Depend on X11>=1.4.0
Spencer Janssen **20071205045945]
[Update extra-source-files
Spencer Janssen **20071205044421]
[Update man location
Spencer Janssen