xmonad
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
January 2009
- 57 participants
- 132 discussions
As you can see I sent patch to XMonad.Actions.FocusNth last week. There
were some stupid mistakes I didn't notice although these were big
mistakes. Now I hope they've gone. So it's my second attempt. Please
provide me with information about "state of approving".
Besides, I've got a question which appeared while I was fixing mistakes
in this patch. The best way to understand it is simply to simulate it by
yourself. So choose a workspace with fullscreen layout. Execute one full
screen program. Then one floating. Then full screen again. It would be
better if you could tell both full screen apps apart easily. Now focus
the application you ran most recent (let's call it A). Then focus down
to the floating application. Now this floating application is really in
the focus but application A has gone from the background. Instead
application you ran the first is in the background. So my question is
about whether it is possible to by-pass this behavior.
Thanks.
Sun Oct 19 17:03:30 EEST 2008 Aleksey Artamonov <aleksey.artamonov(a)gmail.com>
* FocusNth improvements fixed
There were some stupid mistakes in the previous version I sent. The
main idea has not changed. This patch provides a way of altering
switching order of FocusNth.
New patches:
[FocusNth improvements fixed
Aleksey Artamonov <aleksey.artamonov(a)gmail.com>**20081019140330
There were some stupid mistakes in the previous version I sent. The
main idea has not changed. This patch provides a way of altering
switching order of FocusNth.
] {
hunk ./XMonad/Actions/FocusNth.hs 17
- focusNth) where
+ focusNth,
+ focusNthExt
+ ) where
hunk ./XMonad/Actions/FocusNth.hs 21
-import XMonad.StackSet
+import XMonad.StackSet hiding (filter)
hunk ./XMonad/Actions/FocusNth.hs 35
+-- Sometimes it is really convenient to alter the order
+-- of windows' switching or to omit some of the windows
+-- at all. To fulfill this 'focusNthExt' should be used.
+-- The following code switches to the floating windows
+-- only after all the others (uses XMonad.Util.EZConfig):
+--
+-- > -- mod-[F1 .. F9]
+-- > ++
+-- > [ ("M-<F" ++ k ++ ">", do
+-- > state <- get
+-- > floating <- return $ W.floating (windowset state)
+-- > focusNthExt (\x -> let (a, b) = partition (not . (flip M.member) floating) x in a ++ b)
+-- > i)
+-- > | (k, i) <- zip (map show [1..]) [0..8]
+-- > ]
+--
hunk ./XMonad/Actions/FocusNth.hs 56
-focusNth = windows . modify' . focusNth'
-
-focusNth' :: Int -> Stack a -> Stack a
-focusNth' n s@(Stack _ ls rs) | (n < 0) || (n > length(ls) + length(rs)) = s
- | otherwise = listToStack n (integrate s)
+focusNth = focusNthExt (\x -> x)
hunk ./XMonad/Actions/FocusNth.hs 58
-listToStack :: Int -> [a] -> Stack a
-listToStack n l = Stack t ls rs
- where
- (t:rs) = drop n l
- ls = reverse (take n l)
+-- | Give focus to the nth window taking into consideration windows' rearranging
+-- function.
+focusNthExt :: ([Window] -> [Window]) -> Int -> X()
+focusNthExt t = windows . modify' . (focusNth' t)
hunk ./XMonad/Actions/FocusNth.hs 63
+focusNth' :: ([Window] -> [Window]) -> Int -> Stack Window -> Stack Window
+focusNth' transform n s =
+ let integrated = integrate s
+ transformed = transform $ integrated
+ matching = length transformed
+ in if (n < 0) || (n >= matching)
+ then s
+ else listToStack n transformed integrated
hunk ./XMonad/Actions/FocusNth.hs 72
+listToStack :: Int -> [Window] -> [Window] -> Stack Window
+listToStack num transformed real = Stack t (reverse rls) rs
+ where
+ t = transformed !! num
+ (rls, _ : rs) = span (/= t) real
}
Context:
[Prompt.hs rename deleteConsecutiveDuplicates
gwern0(a)gmail.com**20081008205131
That name is really unwieldy and long.
]
[Prompt.hs: have historyCompletion filter dupes
gwern0(a)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(a)gmail.com**20081008204649]
[Prompt.hs: mv uniqSort to next to its confreres, and mention the trade-off
gwern0(a)gmail.com**20081008192645]
[Do not consider XMONAD_TIMER unknown
Joachim Breitner <mail(a)joachim-breitner.de>**20081008195643]
[Kill window without focusing it first
Joachim Breitner <mail(a)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(a)wagner-home.com**20081015153911]
[Depend on X11 >= 1.4.3
Spencer Janssen <spencerjanssen(a)gmail.com>**20080921055456]
[Actions.Search: add a few search engines
intrigeri(a)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(a)joachim-breitner.de>**20081006211027
(Just to reduce code duplication)
]
[Add straightforward HiddenWS to WSType
Joachim Breitner <mail(a)joachim-breitner.de>**20081006210548
With NonEmptyWS and HiddenNonEmptyWS present, HiddenWS is obviously missing.
]
[Merge emptyLayoutMod into redoLayout
Joachim Breitner <mail(a)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(a)joachim-breitner.de>**20081005184426
Fixes: http://code.google.com/p/xmonad/issues/detail?id=223
]
[Paste.hs: improve haddocks
gwern0(a)gmail.com**20080927150158]
[Paste.hs: fix haddock
gwern0(a)gmail.com**20080927145238]
[minor explanatory comment
daniel(a)wagner-home.com**20081003015919]
[XMonad.Layout.HintedGrid: add GridRatio (--no-test because of haddock breakage)
Lukas Mai <l.mai(a)web.de>**20080930141715]
[XMonad.Util.Font: UTF8 -> USE_UTF8
Lukas Mai <l.mai(a)web.de>**20080930140056]
[Paste.hs: implement noModMask suggestion
gwern0(a)gmail.com**20080926232056]
[fix a divide by zero error in Grid
daniel(a)wagner-home.com**20080926204148]
[-DUTF8 flag with -DUSE_UTF8
gwern0(a)gmail.com**20080921154014]
[XSelection.hs: use CPP to compile against utf8-string
gwern0(a)gmail.com**20080920151615]
[add XMonad.Config.Azerty
Devin Mullins <me(a)twifkak.com>**20080924044946]
[flip GridRatio to match convention (x/y)
Devin Mullins <me(a)twifkak.com>**20080922033354]
[let Grid have a configurable aspect ratio goal
daniel(a)wagner-home.com**20080922010950]
[Paste.hs: +warning about ASCII limitations
gwern0(a)gmail.com**20080921155038]
[Paste.hs: shorten comment lines to under 80 columns per sjanssen
gwern0(a)gmail.com**20080921154950]
[Forgot to enable historyFilter :(
Spencer Janssen <spencerjanssen(a)gmail.com>**20080921094254]
[Prompt: add configurable history filters
Spencer Janssen <spencerjanssen(a)gmail.com>**20080921093453]
[Update my config to use 'statusBar'
Spencer Janssen <spencerjanssen(a)gmail.com>**20080921063513]
[Rename pasteKey functions to sendKey
Spencer Janssen <spencerjanssen(a)gmail.com>**20080921062016]
[DynamicLog: doc fixes
Spencer Janssen <spencerjanssen(a)gmail.com>**20080921061314]
[Move XMonad.Util.XPaste to XMonad.Util.Paste
Spencer Janssen <spencerjanssen(a)gmail.com>**20080921060947]
[statusBar now supplies the action to toggle struts
Spencer Janssen <spencerjanssen(a)gmail.com>**20080918013858]
[cleanup - use currentTag
Devin Mullins <me(a)twifkak.com>**20080921011159]
[XPaste.hs: improve author info
gwern0(a)gmail.com**20080920152342]
[+XMonad.Util.XPaste: a module for pasting strings to windows
gwern0(a)gmail.com**20080920152106]
[UrgencyHook bug fix: cleanupUrgents should clean up reminders, too
Devin Mullins <me(a)twifkak.com>**20080920062117]
[Sketch of XMonad.Config.Monad
Spencer Janssen <spencerjanssen(a)gmail.com>**20080917081838]
[raiseMaster
seanmce33(a)gmail.com**20080912184830]
[Add missing space between dzen command and flags
Daniel Neri <daniel.neri(a)sigicom.com>**20080915131009]
[Big DynamicLog refactor. Added statusBar, improved compositionality for dzen and xmobar
Spencer Janssen <spencerjanssen(a)gmail.com>**20080913205931
Compatibility notes:
- dzen type change
- xmobar type change
- dynamicLogDzen removed
- dynamicLogXmobar removed
]
[Take maintainership of XMonad.Prompt
Spencer Janssen <spencerjanssen(a)gmail.com>**20080911230442]
[Overhaul Prompt to use a zipper for history navigation. Fixes issue #216
Spencer Janssen <spencerjanssen(a)gmail.com>**20080911225940]
[Use the new completion on tab setting
Spencer Janssen <spencerjanssen(a)gmail.com>**20080911085940]
[Only start to show the completion window with more than one match
Joachim Breitner <mail(a)joachim-breitner.de>**20080908110129]
[XPrompt: Add showCompletionOnTab option
Joachim Breitner <mail(a)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(a)riseup.net>**20080714153601]
[XMonad.Actions.Plane: removed unneeded hiding
Marco Túlio Gontijo e Silva <marcot(a)riseup.net>**20080714152631]
[Improvements in documentation
Marco Túlio Gontijo e Silva <marcot(a)riseup.net>**20080709002425]
[Fix haddock typos in XMonad.Config.{Desktop,Gnome,Kde}
Spencer Janssen <spencerjanssen(a)gmail.com>**20080911040808]
[add clearUrgents for your keys
Devin Mullins <me(a)twifkak.com>**20080909055425]
[add reminder functionality to UrgencyHook
Devin Mullins <me(a)twifkak.com>**20080824200548
I'm considering rewriting remindWhen and suppressWhen as UrgencyHookModifiers, so to speak. Bleh.
]
[TAG 0.8
Spencer Janssen <spencerjanssen(a)gmail.com>**20080905195420]
Patch bundle hash:
c25bdc9fad76dda0fec8dc42650397a3cdf980f5
3
3
Hello,
is it possible to configure xmonad, to move the focus with alt-tab
exactly as in Windows? As far as I could understand, only keyPress
events are dispatched. But it seems keyUp events are required for this.
Or maybe there are much more simpler solutions?
Regards
Alex
5
6
Tue Jul 15 11:34:36 BRT 2008 Marco Túlio Gontijo e Silva <marcot(a)riseup.net>
* keyActions moved to XState
2
2
On Tue, Jan 27, 2009 at 04:40:28PM -0500, Brent Yorgey wrote:
> On Mon, Jan 26, 2009 at 07:26:32PM +1100, Kathryn Andersen wrote:
> > 4) What things are missing?
> >
> > a) xmonad appears to support fewer keybindings than other window managers;
> > however, I got around this by installing xbindkeys and using those
> > keys-which-xmonad-does-not-support to spawn programs rather than control
> > the window manager.
>
> I'm not sure what you mean by this. What keybindings does xmonad not support?
It doesn't support "extra" keys such as XF86Back XF86Forward etc; these
keys are recognised by recent versions of X11, and are recognised by
other window managers such as Fvwm, but when I tried making keybindings
for them in xmonad, it didn't work, and the documentation didn't include
them in the list of supported keys.
But as I said, there's a workaround, and I rather like the workaround,
because I hadn't known about the existence of xbindkeys before.
Kathryn Andersen
--
_--_|\ | Kathryn Andersen <http://www.katspace.com>
/ \ |
\_.--.*/ | GenFicCrit mailing list <http://www.katspace.com/gen_fic_crit/>
v |
------------| Melbourne -> Victoria -> Australia -> Southern Hemisphere
Maranatha! | -> Earth -> Sol -> Milky Way Galaxy -> Universe
8
11

06 Feb '09
Tue Jul 8 21:24:25 BRT 2008 Marco Túlio Gontijo e Silva <marcot(a)riseup.net>
* Improvements in documentation
Mon Jul 14 12:26:31 BRT 2008 Marco Túlio Gontijo e Silva <marcot(a)riseup.net>
* XMonad.Actions.Plane: removed unneeded hiding
Mon Jul 14 12:32:48 BRT 2008 Marco Túlio Gontijo e Silva <marcot(a)riseup.net>
* XMonad.Config.Gnome: using XMonad.Actions.Plane
Mon Jul 14 12:36:01 BRT 2008 Marco Túlio Gontijo e Silva <marcot(a)riseup.net>
* XMonad.Actions.Plane.planeKeys: function to make easier to configure
3
3
I have quite a few emails in my xmonad box, going back almost a year,
containing patches with no follow-up emails. It's quite likely that
many of these were superseded by other patches, decided against in a
separate thread, or the like. However, it also seems quite likely
that some of them fell through the cracks. If you know of any
unapplied patches -- either ones that you submitted, or ones that you
know of and would really like to be applied -- please re-send them to
the list (making sure that there are no conflicts with the most recent
darcs). I have some time at the moment, so I can take a look.
-Brent
5
5

darcs patch: XMonad.Actions.DynamicKeys: utilities to update key bi...
by Marco Túlio Gontijo e Silva 06 Feb '09
by Marco Túlio Gontijo e Silva 06 Feb '09
06 Feb '09
Thu Jul 10 19:04:10 BRT 2008 Marco Túlio Gontijo e Silva <marcot(a)riseup.net>
* XMonad.Actions.DynamicKeys: utilities to update key bindings at runtime
2
1
Hi all,
Just wanted to say Thanks! to everyone for XMonad. I've got it
running with gnome for the panels but it blows the gnome WM out of
the water.
I did run across some functionality I wanted that didn't exist so I
wrote it up (attached). On reflection I should have added a long
patch message. I found WindowGo for runOrRaise but often I want to
pull a window (browser, mail, etc) to my current workspace instead
of going to the one it's in. copyOrRun (and underlying copyMaybe)
do that.
Cheers,
-ljr
New patches:
[XMonad.Actions.CopyWindow runOrCopy
lan3ny(a)gmail.com**20080602205742] {
hunk ./XMonad/Actions/CopyWindow.hs 5
--- Copyright : (c) David Roundy <droundy(a)darcs.net>, Ivan Veselov <veselov(a)gmail.com>
+-- Copyright : (c) David Roundy <droundy(a)darcs.net>, Ivan Veselov <veselov(a)gmail.com>, Lanny Ripple <lan3ny(a)gmail.com>
hunk ./XMonad/Actions/CopyWindow.hs 20
- copy, copyToAll, copyWindow, killAllOtherCopies, kill1
+ copy, copyToAll, copyWindow, runOrCopy
+ , killAllOtherCopies, kill1
hunk ./XMonad/Actions/CopyWindow.hs 25
+import Control.Monad (filterM)
hunk ./XMonad/Actions/CopyWindow.hs 55
+-- Instead of copying a window from a workset to a workset maybe you don't
+-- want to have to remember where you placed it. For that consider:
+--
+-- > , ((modMask x, xK_b ), runOrCopy "firefox" (className =? "Firefox")) -- @@ run or copy firefox
+--
hunk ./XMonad/Actions/CopyWindow.hs 68
--- > , ((modMask x, xK_v )", windows copyToAll) -- @@ Make focused window always visible
+-- > , ((modMask x, xK_v ), windows copyToAll) -- @@ Make focused window always visible
hunk ./XMonad/Actions/CopyWindow.hs 74
--- | copy. Copy the focussed window to a new workspace.
+-- | copy. Copy the focused window to a new workspace.
hunk ./XMonad/Actions/CopyWindow.hs 94
+
+-- | runOrCopy . runOrCopy will run the provided shell command unless it can
+-- find a specified window in which case it will copy the window to
+-- the current workspace. Similar to (i.e., stolen from) "XMonad.Actions.WindowGo".
+runOrCopy :: String -> Query Bool -> X ()
+runOrCopy action = copyMaybe $ spawn action
+
+-- | copyMaybe. Flatters "XMonad.Actions.WindowGo" ('raiseMaybe')
+copyMaybe :: X () -> Query Bool -> X ()
+copyMaybe f thatUserQuery = withWindowSet $ \s -> do
+ maybeResult <- filterM (runQuery thatUserQuery) (allWindows s)
+ case maybeResult of
+ [] -> f
+ (x:_) -> windows $ copyWindow x (currentTag s)
+
}
Context:
[Add missing xfce module to .cabal
Don Stewart <dons(a)galois.com>**20080602174219]
[Use lines instead of columns in configuration (similar to GNOME and KDE)
Malebria <malebria(a)riseup.net>**20080526225337]
[Bug correction when areasColumn > 1
Malebria <malebria(a)riseup.net>**20080526223220]
[more documentation for WindowNavigation and UrgencyHook
Devin Mullins <me(a)twifkak.com>**20080525050231]
[X.A.WindowNavigation: add logHook for better state tracking
Devin Mullins <me(a)twifkak.com>**20080525032325]
[doco tweaks
Devin Mullins <me(a)twifkak.com>**20080524211849]
[made fadeInactiveLogHook take an argument amount to fade
Justin Bogner <mail(a)justinbogner.com>**20080523213937]
[add FadeInactive to fade out inactive windows using xcompmgr
Justin Bogner <mail(a)justinbogner.com>**20080523205838]
[add close window functionality to EwmhDesktops
Justin Bogner <mail(a)justinbogner.com>**20080523185908]
[Add XMonad.Actions.Plane
Malebria <malebria(a)riseup.net>**20080523004357]
[Default Xfce config, this time with me holding the copyright, maintainership, etc.
Ivan.Miljenovic(a)gmail.com**20080522105316]
[StackTile: minor documentation fix
Joachim Fasting <joachim.fasting(a)gmail.com>**20080521182637
That '[]' in the example seems incorrect
]
[StackTile
acura(a)allyourbase.se**20080520195559
A simple patch to get a dishes like stacking, but with the ability to resize master pane.
]
[revamp Search.hs to export a replacement for simpleEngine
gwern0(a)gmail.com**20080519190912
It's called searchEngine now, and is a wrapper around the SearchEngine type. Different type as well
]
[sp ShowWName.hs
gwern0(a)gmail.com**20080519190520]
[remove ScratchWorkspace.
David Roundy <droundy(a)darcs.net>**20080516185729
It's ugly code, and I'd be surprised if anyone actually uses it. I see no
reason to continue to maintain it.
]
[Fixed location of xmonad.conf
Roman Cheplyaka <roma(a)ro-che.info>**20080518204602]
[add site name in search prompt dialog
zhen.sydow(a)gmail.com**20080518101357]
[add youtube to search engines
zhen.sydow(a)gmail.com**20080513212508]
[SwapWorkspaces: swapTo Next|Prev
Devin Mullins <me(a)twifkak.com>**20080518024121]
[UrgencyHook: removeVisiblesFromUrgents -> cleanupUrgents
Devin Mullins <me(a)twifkak.com>**20080515164436
Now only removes windows based on SuppressWhen setting.
]
[Added XMonad.Config.PlainConfig: proof-of-concept GHC-less plain text configuration file parser
Braden Shepherdson <Braden.Shepherdson(a)gmail.com>**20080517222916
An example of the config file format can be found in the Haddock.
Notably missing features are docks and more layouts than just the standard three.
]
[XMonad.Hooks.SetWMName: Update documentation to reflect the addition of startupHook.
lithis <xmonad(a)selg.hethrael.org>**20080516221011]
[I no longer use ScratchWorkspace.
David Roundy <droundy(a)darcs.net>**20080516185715]
[fix bug in smartBorders when combined with decorated windows.
David Roundy <droundy(a)darcs.net>**20080516184855]
[decent documentation for UrgencyHook
Devin Mullins <me(a)twifkak.com>**20080515082222
Blame it on lack of sleep. Or perhaps the causation is the reverse.
]
[X.A.WindowNavigation: currentPosition and setPosition share the same `inside` logic, now
Devin Mullins <me(a)twifkak.com>**20080515062211
Aside from documentation, this is pretty much usable, now.
]
[X.A.WindowNavigation: have currentPosition handle axes independently
Devin Mullins <me(a)twifkak.com>**20080515053330
This improves some subtle interactions between mod-j/k and mod-w/a/s/d, though
that might not become very apparent until I fix setPosition.
]
[fix compile warnings in BoringWindows
Devin Mullins <me(a)twifkak.com>**20080515051728]
[add BoringWindows module to make certain windows skipped when rotating focus.
David Roundy <droundy(a)darcs.net>**20080514162846]
[UrgencyHook: some documentation (more is needed)
Devin Mullins <me(a)twifkak.com>**20080514080104]
[UrgencyHook: got rid of the need for instances to know about suppressWhen
Devin Mullins <me(a)twifkak.com>**20080514072217
This changes the API a little bit, but that's what you get for using a day-old feature from darcs.
]
[move AppLauncher from Actions module to Prompt module
zhen.sydow(a)gmail.com**20080513201252]
[X.A.WindowNavigation: comment cleanup
Devin Mullins <me(a)twifkak.com>**20080513091313]
[windowRect now compensates for border width
Devin Mullins <me(a)twifkak.com>**20080513090151
Odd that I have to do (Rectangle x y (w + 2 * bw) (h + 2 * bw)) -- you'd think
the window would be centered within the bordered area.
]
[X.A.WindowNavigation: update TODO
Devin Mullins <me(a)twifkak.com>**20080513044229]
[X.A.WindowNavigation: minor cleanup
Devin Mullins <me(a)twifkak.com>**20080512170410]
[X.A.WindowNavigation: simplify inr somewhat
Devin Mullins <me(a)twifkak.com>**20080512090647]
[X.A.WindowNavigation: clarity
Devin Mullins <me(a)twifkak.com>**20080512085338]
[X.A.WindowNavigation: ugh, typo
Devin Mullins <me(a)twifkak.com>**20080512082228]
[X.A.WindowNavigation: implement swap, extract withTargetWindow commonality
Devin Mullins <me(a)twifkak.com>**20080512064715
Why doesn't mapWindows exist already?
]
[add more flexible withWindowNavigationKeys
Devin Mullins <me(a)twifkak.com>**20080512050637
Names aren't permanent yet, so don't cry if they change.
]
[X.A.WindowNavigation: TODO
Devin Mullins <me(a)twifkak.com>**20080511222116]
[X.A.WindowNavigation: add withWindowNavigation, for easy setup
Devin Mullins <me(a)twifkak.com>**20080511220458
This should be more flexible than it is -- I've got an idea, but am interested to hear others.
]
[X.A.WindowNavigation: fix currentPosition
Devin Mullins <me(a)twifkak.com>**20080511212128
Now properly deals with an unitialized state (e.g. from a restart) or an
inconsistent state (e.g. from using mod-j/k). Deserves cleanup.
]
[X.A.WindowNavigation: add TODOs
Devin Mullins <me(a)twifkak.com>**20080511211326]
[X.A.WindowNavigation state is now workspace-specific
Devin Mullins <me(a)twifkak.com>**20080511071656
racking up some code debt, here...
]
[X.A.WindowNavigation: minor doco changes
Devin Mullins <me(a)twifkak.com>**20080506074235]
[add draft XMonad.Actions.WindowNavigation
Devin Mullins <me(a)twifkak.com>**20080504050022
This is an experiment with replacing the WindowNavigation LayoutModifier with
one that simply adds keybindings and stores state in an IORef. Credit to
droundy for the original code -- hopefully I'm not butchering it. The end
intent is to add Xinerama support, but it'll be a little while before I get
there.
]
[new contrib module to launch apps with command line parameters
zhen.sydow(a)gmail.com**20080513134754]
[pull suppressWhen logic into main WithUrgencyHook handler
Devin Mullins <me(a)twifkak.com>**20080513075247
In order for this to work, I added a new UrgencyHook method to communicate the
SuppressWhen value. I'm not sure if this is actually better than just providing
a convenience function, but it's an easy switch.
]
[add suppressWhen option to dzenUrgencyHook
Devin Mullins <me(a)twifkak.com>**20080513054615]
[WindowNavigation: extract navigable function
Devin Mullins <me(a)twifkak.com>**20080422045248]
[UrgencyHook: doc typo
Devin Mullins <me(a)twifkak.com>**20080512052137]
[UrgencyHook: extract whenNotVisible
Devin Mullins <me(a)twifkak.com>**20080512041852]
[SpawnUrgencyHook, FWIW
Devin Mullins <me(a)twifkak.com>**20080512040449]
[make UrgencyHook an EventHook
Devin Mullins <me(a)twifkak.com>**20080512024822
This gets rid of the stupid bug that led to a need for the clearBit hack, and
allowed me to simplify the types (since EventHooks aren't required to
parameterize on the window type). Config files need not change, unless they
declare instances of UrgencyHook, in which case, they should remove "Window" as
is seen in this patch.
]
['xmobar' function added to DynamicLog for running xmobar with some defaults
Ivan N. Veselov <veselov(a)gmail.com>**20080508194918]
[HintedTile: Fix mistake in documentation.
lithis <xmonad(a)selg.hethrael.org>**20080508003552]
[Use gnome-session-save for the mod-shift-q binding
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507082205]
[Use the named constant 'none' rather than 0
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507081854]
[HintedTile: Improve documentation.
lithis <xmonad(a)selg.hethrael.org>**20080508000245]
[Whitespace only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507031306]
[Add a binding for Gnome's "Run Application" dialog
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507031127]
[Add some keybindings to the Kde config
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507022658]
[Indentation
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507022553]
[Add ToggleStruts to the desktop config
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507022516]
[Refactor my config
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507021504]
[Add XMonad.Config.Kde
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507020833]
[Don't move the pointer if the user is moving the mouse
Klaus Weidner <kweidner(a)pobox.com>**20080417022234
This patch depends on the following xmonad core patch:
Remember if focus changes were caused by mouse actions or by key commands
If the user was moving the mouse, it's not appropriate to move the pointer
around in resonse to focus changes. Do that only in response to keyboard
commands.
]
[Missing pragmas
Don Stewart <dons(a)galois.com>**20080506053402]
[Add full documentation
Don Stewart <dons(a)galois.com>**20080505210546]
[minor cleanup on getName
Devin Mullins <me(a)twifkak.com>**20080504054923]
[bug doco for UrgencyHook
Devin Mullins <me(a)twifkak.com>**20080426203638]
[NamedWindows: when converting the text property, handle the empty list.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080502104249
This fixes a "Prelude.head" exception observed with windows that have no title.
Reproduce by placing several windows in the tabbed layout, then starting
'xterm -name ""'. Thanks to Andrea for pointing out the issue.
]
[Fix issue #179 by handling events correctly
Andrea Rossato <andrea.rossato(a)unibz.it>**20080501062357]
[My monitor is larger now :)
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080430083026]
[manageHooks for my config
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080430082536]
[Remove redundant type signature
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080430082447]
[Add XMonad.Config.Desktop and XMonad.Config.Gnome
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080430082253]
[Alphabetize exposed-modules
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080430035453]
[new contrib layout: XMonad.Layout.SimplestFloat - A floating layout like SimpleFloat, but without decoration
joamaki(a)gmail.com**20080424220957]
[stricitfy some gap fields
Don Stewart <dons(a)galois.com>**20080427191247]
[XMonad.Hooks.ManageHelpers: quick&dirty support for _NET_WM_STATE_FULLSCREEN
Lukas Mai <l.mai(a)web.de>**20080426132745]
[XMonad.Hooks.Script: haddock fixes
Lukas Mai <l.mai(a)web.de>**20080426132629]
[Error fix for Tabbed when tabbar always shown
Ivan.Miljenovic(a)gmail.com**20080424063135]
[remove my config file -- the wiki is where its at.
Don Stewart <dons(a)galois.com>**20080419195650]
[tweaks to docs for SimpleDecoration
Don Stewart <dons(a)galois.com>**20080418215155]
[Allow tabbar to always be shown.
Ivan.Miljenovic(a)gmail.com**20080415043728
Patch take 4, hopefully the final version. Includes droundy's suggestions.
]
[polish
Don Stewart <dons(a)galois.com>**20080418033133]
[Script-based hooks
Trevor Elliott <trevor(a)galois.com>**20080416213024]
[Don't strictify the Display component, this triggers a bug in GHC 6.6
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080416185733]
[Fix to IM modifier.
Roman Cheplyaka <roma(a)ro-che.info>**20080414232437
Avoid differentiating integrated stack by using StackSet.filter.
]
[IM layout converted to LayoutModifier, which can be applied to any layout
Ivan N. Veselov <veselov(a)gmail.com>**20080413205824]
[stictify some fields
Don Stewart <dons(a)galois.com>**20080413070117]
[strictify some fields
Don Stewart <dons(a)galois.com>**20080413065958]
[Fix window order in EWMH
Joachim Breitner <mail(a)joachim-breitner.de>**20080411134411
For pagers to draw the stacking order correctly, the focused window has to
be the last in the list. Thus put an appropriate implementation of allWindows
into the Module.
This does not work perfectly with floating windows.
]
[remove myself as maintainer of CopyWindow.
David Roundy <droundy(a)darcs.net>**20080409144333
I'm not sure who's maintaining this, but it's not me.
]
[XMonad.Util.WindowProperties: add WM_WINDOW_ROLE as Role
Roman Cheplyaka <roma(a)ro-che.info>**20080409174935]
[Generalize copyWindow, minor style change
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080408210050]
[XMonad.Actions.CopyWindow: added copyToAll and killAllOtherCopies functions
Ivan N. Veselov <veselov(a)gmail.com>**20080408195111]
[XMonad.Actions.UpdatePointer: doc fix
Lukas Mai <l.mai(a)web.de>**20080407152741]
[XMonad.Util.Font: minor reformatting
Lukas Mai <l.mai(a)web.de>**20080406020935]
[DynamicLog: resolve merge conflict
Lukas Mai <l.mai(a)web.de>**20080406020527]
[Encode the entire DynamicLog output, instead of just window title.
lithis <xmonad(a)selg.hethrael.org>**20080329031537]
[DynamicLog: add support for UTF-8 locales when compiled with XFT or UFT-8 support
Andrea Rossato <andrea.rossato(a)unibz.it>**20080313102643]
[XMonad.Util.Font: don't call setlocale; core does it for us
Lukas Mai <l.mai(a)web.de>**20080406013123]
[XMonad.Util.NamedWindows: fix imports
Lukas Mai <l.mai(a)web.de>**20080326172745]
[Changed getName to use locale-aware functions
Mats Jansborg <mats(a)jansb.org>**20070819132104
Rewrote getName using getTextProperty and wcTextPropertyToTextList.
]
[Added next-window versions of the raise* functions.
Ian Zerny <ian(a)zerny.dk>**20080405182900]
[XMonad.Layout.Master: initial import
Lukas Mai <l.mai(a)web.de>**20080404220734]
[update contrib for applySizeHints changes
Lukas Mai <l.mai(a)web.de>**20080404220558]
[XMonad.Hooks.ManageDocks: haddock fix
Lukas Mai <l.mai(a)web.de>**20080404220532]
[MultiToggle/Instances: ghc 6.6 can't parse LANGUAGE pragma
Brent Yorgey <byorgey(a)gmail.com>**20080404200157]
[Document _NET_ACTIVE_WINDOW behaviour more exactly
Joachim Breitner <mail(a)joachim-breitner.de>**20080404072944]
[_NET_ACTIVE_WINDOW moves windows if necessary
Joachim Breitner <mail(a)joachim-breitner.de>*-20080402143811
This makes EWMH behave a bit more like metacity: If _NET_ACTIVE_WINDOW is
received and the window is not on the current worspace, it is brought here
(instead of the workspace switched to the other one). So for example, if you
click on the pidgin icon in the panel and the buddy list is already open some
where it is moved here.
]
[onstart=lower, solves floating dzen issue
Don Stewart <dons(a)galois.com>**20080403203425]
[some bang patterns
Don Stewart <dons(a)galois.com>**20080403172246]
[have 'dzen' use autoStruts to detect the gaps
Don Stewart <dons(a)galois.com>**20080403003130]
[Actions/Search.hs: add dictionary.com search
Brent Yorgey <byorgey(a)gmail.com>**20080402150521]
[_NET_ACTIVE_WINDOW moves windows if necessary
Joachim Breitner <mail(a)joachim-breitner.de>**20080402143811
This makes EWMH behave a bit more like metacity: If _NET_ACTIVE_WINDOW is
received and the window is not on the current worspace, it is brought here
(instead of the workspace switched to the other one). So for example, if you
click on the pidgin icon in the panel and the buddy list is already open some
where it is moved here.
]
[HintedGrid: guesstimate window flexibility and layout rigid windows first
Lukas Mai <l.mai(a)web.de>**20080402042846]
[HintedGrid: try both bottom-up/top-down window placement to minimize unused space
Lukas Mai <l.mai(a)web.de>**20080402012538]
[Grid/HintedGrid: use an ncolumns formula inspired by dwm's "optimal" mode
Lukas Mai <l.mai(a)web.de>**20080402012126]
[XMonad.Layout.Gaps: new contrib module for manual gap support, in the few cases where ManageDocks is not appropriate (dock apps that don't set STRUTS properly, adjusting for a display that is cut off on one edge, etc.)
Brent Yorgey <byorgey(a)gmail.com>**20080402003742]
[improve WindowGo.hs Haddock formatting
gwern0(a)gmail.com**20080401023130]
[forgot a haddock for getEditor in Shell.hs
gwern0(a)gmail.com**20080401022012]
[WindowGo.hs: +raiseBrowser, raiseEditor
gwern0(a)gmail.com**20080401021740
Specialize runOrRaise in the same way as with Actions.Search, for one's browser and one's editors.
]
[RunOrRaise.hs: FF 3 doesn't use the "Firefox-bin" classname
gwern0(a)gmail.com**20080401015049]
[Search.hs: remove an argument from selectSearch and promptSearch
gwern0(a)gmail.com**20080401013947
The new getBrowser function allows us to mv the old selectSearch and promptSearch aside as too-general functions, and replace them with new versions, which employ getBrowser to supply one more argument. This allows us to replace the tedious 'selectSearch google "firefox"; selectSearch yahoo "firefox"...' with shorter 'selectSearch google' and so on. One less argument.
Also, update the docs.
]
[Shell.hs: +getBrowser, getEditor, helper function
gwern0(a)gmail.com**20080401013447
The helper function asks the shell for the value of a variable, else returns the second argument.
getBrowser and getEditor obviously specialize it for two particular possibly queries
]
[XMonad.Layout.HintedGrid: initial import
Lukas Mai <l.mai(a)web.de>**20080401231722]
[Documentation improvement.
Roman Cheplyaka <roma(a)ro-che.info>**20080401134305]
[Remove broken link to screenshot.
Roman Cheplyaka <roma(a)ro-che.info>**20080331210854]
[MultiToggle: add new XMonad.Layout.MultiToggle.Instances module for common instances of Transformer, update MultiToggle docs accordingly
Brent Yorgey <byorgey(a)gmail.com>**20080331201739]
[XMonad.Actions.CycleRecentWS: initial import
Michal Janeczek <janeczek(a)gmail.com>**20080331111906]
[XMonad.Hooks.ManageDocks: export checkDoc
Lukas Mai <l.mai(a)web.de>**20080331012911]
[XMonad.Layout.Grid: fix indentation
Lukas Mai <l.mai(a)web.de>**20080330004859]
[move Direction type from WindowNavigation to ManageDocks (ManageDocks will move into the core, taking Direction with it)
Brent Yorgey <byorgey(a)gmail.com>**20080331010127]
[ManageDocks: clean up + add more documentation
Brent Yorgey <byorgey(a)gmail.com>**20080331002929]
[Util.Run, Hooks.DynamicLog: re-export hPutStrLn and hPutStr from Util.Run for convenience, and update DynamicLog documentation to show proper imports
Brent Yorgey <byorgey(a)gmail.com>**20080328205446]
[ManageDocks: add avoidStrutsOn, for covering some docks and not others by default.
Brent Yorgey <byorgey(a)gmail.com>**20080327203940]
[ManageDocks: add ability to toggle individual gaps independently
Brent Yorgey <byorgey(a)gmail.com>**20080327111722]
[PerWorkspace: add modWorkspace(s) combinators, for selectively applying layout modifiers to certain workspaces but not others
Brent Yorgey <byorgey(a)gmail.com>**20080326214351]
[Haddock fix
Roman Cheplyaka <roma(a)ro-che.info>**20080330134435]
[Remove stale status gaps code
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080329230737]
[TAG 0.7
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080329202416]
Patch bundle hash:
5157bf911d10104199e1082ce9ab21409a87d1bd
2
5
This patch adds the capability to hook on X event processing in the
configuration, but, unlike the EventHook module from contrib(Which
implements this via a layout modifier and thus doesn't get notified
about events already handled by xmonad), works for all events that
xmonad receives. The custom handler function can choose on whether or
not to call the default handler for the message afterwards.
Since already handled messages are not broadcasted to the layout or
anywhere else this functionality cannot be implemented as a contrib
module and hence requires core changes.
Such a feature would be useful for things that need more fine grained
control over the default event handling. One usage case would be to
react on changing window properties like the title, e.g. to manage
windows that set their title after creation.
Sat Jan 10 23:18:52 CET 2009 Daniel Schoepe <asgaroth_(a)gmx.de>
* More flexible userCode function
Sun Jan 11 19:52:53 CET 2009 Daniel Schoepe <asgaroth_(a)gmx.de>
* Support for custom X Event handler
New patches:
[More flexible userCode function
Daniel Schoepe <asgaroth_(a)gmx.de>**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
}
[Support for custom X Event handler
Daniel Schoepe <asgaroth_(a)gmx.de>**20090111185253] {
hunk ./XMonad/Config.hs 29
--
import XMonad.Core as XMonad hiding
(workspaces,manageHook,numlockMask,keys,logHook,startupHook,borderWidth,mouseBindings
- ,layoutHook,modMask,terminal,normalBorderColor,focusedBorderColor,focusFollowsMouse)
+ ,layoutHook,modMask,terminal,normalBorderColor,focusedBorderColor,focusFollowsMouse
+ ,handleEventHook)
import qualified XMonad.Core as XMonad
(workspaces,manageHook,numlockMask,keys,logHook,startupHook,borderWidth,mouseBindings
hunk ./XMonad/Config.hs 33
- ,layoutHook,modMask,terminal,normalBorderColor,focusedBorderColor,focusFollowsMouse)
+ ,layoutHook,modMask,terminal,normalBorderColor,focusedBorderColor,focusFollowsMouse
+ ,handleEventHook)
import XMonad.Layout
import XMonad.Operations
hunk ./XMonad/Config.hs 44
import qualified Data.Map as M
import System.Exit
import Graphics.X11.Xlib
+import Graphics.X11.Xlib.Extras
-- | The default number of workspaces (virtual screens) and their names.
-- By default we use numeric strings, but any string may be used as a
hunk ./XMonad/Config.hs 125
logHook :: X ()
logHook = return ()
+------------------------------------------------------------------------
+-- Event handling
+
+-- | Defines a custom handler function for X Events. The function should
+-- return True if the default handler is to be run afterwards.
+handleEventHook :: Event -> X Bool
+handleEventHook _ = return True
+
-- | Perform an arbitrary action at xmonad startup.
startupHook :: X ()
startupHook = return ()
hunk ./XMonad/Config.hs 264
, XMonad.startupHook = startupHook
, XMonad.mouseBindings = mouseBindings
, XMonad.manageHook = manageHook
+ , XMonad.handleEventHook = handleEventHook
, XMonad.focusFollowsMouse = focusFollowsMouse }
hunk ./XMonad/Core.hs 86
, terminal :: !String -- ^ The preferred terminal application. Default: \"xterm\"
, layoutHook :: !(l Window) -- ^ The available layouts
, manageHook :: !ManageHook -- ^ The action to run when a new window is opened
+ , handleEventHook :: !(Event -> X Bool) -- ^ Handle an X event, returns True if the default handler
+ -- should also be run afterwards
, workspaces :: ![String] -- ^ The list of workspaces' names
, numlockMask :: !KeyMask -- ^ The numlock modifier
, modMask :: !KeyMask -- ^ the mod modifier
hunk ./XMonad/Main.hsc 160
evs = [ keyPress, keyRelease, enterNotify, leaveNotify
, buttonPress, buttonRelease]
+-- | Runs handleEventHook from the configuration and runs defaultHandler if it returned True.
+handle :: Event -> X ()
+handle e = do
+ evHook <- asks (handleEventHook . config)
+ whenX (userCodeDef True $ evHook e) (defaultHandler e)
-- ---------------------------------------------------------------------
-- | Event handler. Map X events onto calls into Operations.hs, which
hunk ./XMonad/Main.hsc 176
-- [Expose] = expose,
-- [PropertyNotify] = propertynotify,
--
-handle :: Event -> X ()
+defaultHandler :: Event -> X ()
-- run window manager command
hunk ./XMonad/Main.hsc 179
-handle (KeyEvent {ev_event_type = t, ev_state = m, ev_keycode = code})
+defaultHandler (KeyEvent {ev_event_type = t, ev_state = m, ev_keycode = code})
| t == keyPress = withDisplay $ \dpy -> do
s <- io $ keycodeToKeysym dpy code 0
mClean <- cleanMask m
hunk ./XMonad/Main.hsc 187
userCodeDef () $ whenJust (M.lookup (mClean, s) ks) id
-- manage a new window
-handle (MapRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
+defaultHandler (MapRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
wa <- io $ getWindowAttributes dpy w -- ignore override windows
-- need to ignore mapping requests by managed windows not on the current workspace
managed <- isClient w
hunk ./XMonad/Main.hsc 195
-- window destroyed, unmanage it
-- window gone, unmanage it
-handle (DestroyWindowEvent {ev_window = w}) = whenX (isClient w) $ do
+defaultHandler (DestroyWindowEvent {ev_window = w}) = whenX (isClient w) $ do
unmanage w
modify (\s -> s { mapped = S.delete w (mapped s)
, waitingUnmap = M.delete w (waitingUnmap s)})
hunk ./XMonad/Main.hsc 202
-- We track expected unmap events in waitingUnmap. We ignore this event unless
-- it is synthetic or we are not expecting an unmap notification from a window.
-handle (UnmapEvent {ev_window = w, ev_send_event = synthetic}) = whenX (isClient w) $ do
+defaultHandler (UnmapEvent {ev_window = w, ev_send_event = synthetic}) = whenX (isClient w) $ do
e <- gets (fromMaybe 0 . M.lookup w . waitingUnmap)
if (synthetic || e == 0)
then unmanage w
hunk ./XMonad/Main.hsc 211
mpred n = Just $ pred n
-- set keyboard mapping
-handle e@(MappingNotifyEvent {}) = do
+defaultHandler e@(MappingNotifyEvent {}) = do
io $ refreshKeyboardMapping e
when (ev_request e == mappingKeyboard) grabKeys
hunk ./XMonad/Main.hsc 216
-- handle button release, which may finish dragging.
-handle e@(ButtonEvent {ev_event_type = t})
+defaultHandler e@(ButtonEvent {ev_event_type = t})
| t == buttonRelease = do
drag <- gets dragging
case drag of
hunk ./XMonad/Main.hsc 225
Nothing -> broadcastMessage e
-- handle motionNotify event, which may mean we are dragging.
-handle e@(MotionEvent {ev_event_type = _t, ev_x = x, ev_y = y}) = do
+defaultHandler e@(MotionEvent {ev_event_type = _t, ev_x = x, ev_y = y}) = do
drag <- gets dragging
case drag of
Just (d,_) -> d (fromIntegral x) (fromIntegral y) -- we're dragging
hunk ./XMonad/Main.hsc 232
Nothing -> broadcastMessage e
-- click on an unfocused window, makes it focused on this workspace
-handle e@(ButtonEvent {ev_window = w,ev_event_type = t,ev_button = b })
+defaultHandler e@(ButtonEvent {ev_window = w,ev_event_type = t,ev_button = b })
| t == buttonPress = do
-- If it's the root window, then it's something we
-- grabbed in grabButtons. Otherwise, it's click-to-focus.
hunk ./XMonad/Main.hsc 246
-- entered a normal window: focus it if focusFollowsMouse is set to
-- True in the user's config.
-handle e@(CrossingEvent {ev_window = w, ev_event_type = t})
+defaultHandler e@(CrossingEvent {ev_window = w, ev_event_type = t})
| t == enterNotify && ev_mode e == notifyNormal
= whenX (asks $ focusFollowsMouse . config) (focus w)
hunk ./XMonad/Main.hsc 251
-- left a window, check if we need to focus root
-handle e@(CrossingEvent {ev_event_type = t})
+defaultHandler e@(CrossingEvent {ev_event_type = t})
| t == leaveNotify
= do rootw <- asks theRoot
when (ev_window e == rootw && not (ev_same_screen e)) $ setFocusX rootw
hunk ./XMonad/Main.hsc 257
-- configure a window
-handle e@(ConfigureRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
+defaultHandler e@(ConfigureRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
ws <- gets windowset
wa <- io $ getWindowAttributes dpy w
hunk ./XMonad/Main.hsc 283
io $ sync dpy False
-- configuration changes in the root may mean display settings have changed
-handle (ConfigureEvent {ev_window = w}) = whenX (isRoot w) rescreen
+defaultHandler (ConfigureEvent {ev_window = w}) = whenX (isRoot w) rescreen
-- property notify
hunk ./XMonad/Main.hsc 286
-handle PropertyEvent { ev_event_type = t, ev_atom = a }
+defaultHandler PropertyEvent { ev_event_type = t, ev_atom = a }
| t == propertyNotify && a == wM_NAME = userCodeDef () =<< asks (logHook . config)
hunk ./XMonad/Main.hsc 289
-handle e = broadcastMessage e -- trace (eventName e) -- ignoring
+defaultHandler e = broadcastMessage e -- trace (eventName e) -- ignoring
-- ---------------------------------------------------------------------
}
Context:
[Call logHook as the very last action in windows
Spencer Janssen <spencerjanssen(a)gmail.com>**20081209233700
Ignore-this: 4396ad891b607780f8e4b3b6bbce87e
]
[Accept inferior crossing events. This patch enables fmouse-focus-follows-screen
Spencer Janssen <spencerjanssen(a)gmail.com>**20081205045130
Ignore-this: 3ac329fb92839827aed0a4370784cabd
]
[Tile all windows at once
Spencer Janssen <spencerjanssen(a)gmail.com>**20081118074447]
[Factor rational rect scaling into a separate function
Spencer Janssen <spencerjanssen(a)gmail.com>**20081118072849]
[Change screen focus by clicking on the root window.
Spencer Janssen <spencerjanssen(a)gmail.com>**20081106224031
This is a modification of a patch from Joachim Breitner.
]
[Fix #192.
Spencer Janssen <spencerjanssen(a)gmail.com>**20081021220059]
[select base < 4 for building on ghc 6.10
Adam Vogt <vogt.adam(a)gmail.com>**20081013214509]
[add killWindow function
Joachim Breitner <mail(a)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(a)twifkak.com>**20080927234639]
[Regression: ungrab buttons on *non* root windows
Spencer Janssen <spencerjanssen(a)gmail.com>**20081007214351]
[Partial fix for #40
Spencer Janssen <spencerjanssen(a)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(a)gmail.com>**20081007203953]
[Fix haddock
Spencer Janssen <spencerjanssen(a)gmail.com>**20081007094641]
[Move screen locating code into pointScreen
Spencer Janssen <spencerjanssen(a)gmail.com>**20081007094207]
[Make pointWithin a top-level binding
Spencer Janssen <spencerjanssen(a)gmail.com>**20081007090229]
[sp README, CONFIG, STYLE, TODO
gwern0(a)gmail.com**20080913024457]
[Use the same X11 dependency as xmonad-contrib
Spencer Janssen <spencerjanssen(a)gmail.com>**20080921061508]
[Export focusUp' and focusDown' -- work entirely on stacks
Spencer Janssen <spencerjanssen(a)gmail.com>**20080911214803]
[add W.shiftMaster, fix float/tile-reordering bug
Devin Mullins <me(a)twifkak.com>**20080911053909]
[TAG 0.8
Spencer Janssen <spencerjanssen(a)gmail.com>**20080905195412]
[Spelling. Any bets on how long this has been there?
Spencer Janssen <spencerjanssen(a)gmail.com>**20080905195211]
[Bump version to 0.8
Spencer Janssen <spencerjanssen(a)gmail.com>**20080905194225]
[Remove obsolete comments about darcs X11
Spencer Janssen <spencerjanssen(a)gmail.com>**20080905194915]
[Recommend latest packages rather than specific versions
Spencer Janssen <spencerjanssen(a)gmail.com>**20080905194837]
[Also remove -optl from the executable section
Spencer Janssen <spencerjanssen(a)gmail.com>**20080820210023]
[-optl-Wl,-s is not needed with recent Cabal versions
Spencer Janssen <spencerjanssen(a)gmail.com>**20080820204102]
[Haddock links
Malebria <malebria(a)riseup.net>**20080601212515]
[Haddock syntax for enumeration
Malebria <malebria(a)riseup.net>**20080601204951]
[I prefer the spencerjanssen(a)gmail.com address now
Spencer Janssen <spencerjanssen(a)gmail.com>**20080714202650]
[Raise windows in the floating layer when moving or resizing
Trevor Elliott <trevor(a)galois.com>**20080521215057]
[add currentTag convenience function
Devin Mullins <me(a)twifkak.com>**20080511224258]
[Make Mirror a newtype
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080508104640]
[Comments
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507013122]
[Break long line
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507012608]
[Style
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507012519]
[Simplify
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080507011309]
[Overhaul Choose, fixes issue 183
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080506220809]
[Remember if focus changes were caused by mouse actions or by key commands
Klaus Weidner <kweidner(a)pobox.com>**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 <sjanssen(a)cse.unl.edu>**20080506203840]
[Added doShift function for more user-friendly hooks
Ivan N. Veselov <veselov(a)gmail.com>**20080506185757]
[use named colours. fixes startup failure on the XO
Don Stewart <dons(a)galois.com>**20080502210149]
[Set focus *after* revealing windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080407222559]
[Reveal windows after moving/resizing them.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080407220756
This should reduce the number of repaints for newly visible windows.
]
[Hide newly created but non-visible windows (fixes bug #172)
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080430014012]
[formatting, eta expansion
Don Stewart <dons(a)galois.com>**20080418184337]
[XMonad.ManageHook: add 'appName', another name for 'resource'
Lukas Mai <l.mai(a)web.de>**20080406012006]
[XMonad.ManageHook: make 'title' locale-aware; haddock cleanup
Lukas Mai <l.mai(a)web.de>**20080406011338
The code for 'title' was stolen from getname.patch (bug #44).
]
[XMonad.Main: call setlocale on startup
Lukas Mai <l.mai(a)web.de>**20080406011234]
[floats always use current screen (with less bugs)
robreim(a)bobturf.org**20080405135009]
[XMonad.Operations: applySizeHint reshuffle
Lukas Mai <l.mai(a)web.de>**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 <l.mai(a)web.de>**20080404215444]
[Remove gaps from the example config
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080329232959]
[Remove gaps
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080325091526]
[TAG 0.7
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080329210249]
[Remove -fhpc from ghc-options (annoying hackage workaround)
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080329205804]
[Remove version numbers from README
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080329204158]
[Bump version to 0.7
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080329191336]
[no need to expose --resume to the user
Don Stewart <dons(a)galois.com>**20080328214219]
[Rename property to stringProperty
Spencer Janssen <sjanssen(a)cse.unl.edu>**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 <byorgey(a)gmail.com>**20080325145414]
[Main.hs: startupHook should be guarded by userCode
Brent Yorgey <byorgey(a)gmail.com>**20080325171241]
[Also print compilation errors to stderr
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080324225857]
[clean up for style
Don Stewart <dons(a)galois.com>**20080322214116]
[add sendMessageWithNoRefresh and have broadcastMessage use it
Andrea Rossato <andrea.rossato(a)unibz.it>**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 <sjanssen(a)cse.unl.edu>**20080324212453]
[add --help option
Lukas Mai <l.mai(a)web.de>**20080129235258]
[add mod-shift-tab to the default bindings, from Mathias Stearn
Don Stewart <dons(a)galois.com>**20080323211421]
[more tests
Don Stewart <dons(a)galois.com>**20080323003436]
[some tests for the size increment handling in Operations.hs
Don Stewart <dons(a)galois.com>**20080322234952]
[more properties for splitting horizontally and vertically
Don Stewart <dons(a)galois.com>**20080322201835]
[test message handling of Full layout
Don Stewart <dons(a)galois.com>**20080322192728]
[formatting
Don Stewart <dons(a)galois.com>**20080322192635]
[strict fields on layout messages
Don Stewart <dons(a)galois.com>**20080322192248]
[QuickCheck properties to fully specify the Tall layout, and its messages
Don Stewart <dons(a)galois.com>**20080322041801]
[clean up Layout.hs, not entirely happy about the impure layouts.
Don Stewart <dons(a)galois.com>**20080322041718]
[comments
Don Stewart <dons(a)galois.com>**20080322041654]
[add hpc generation script
Don Stewart <dons(a)galois.com>**20080322041640]
[add QuickCheck property for Full: it produces one window, it is fullscreen, and it is the current window
Don Stewart <dons(a)galois.com>**20080322002026]
[QC for pureLayout. confirm pureLayout . Tall produces no overlaps
Don Stewart <dons(a)galois.com>**20080322001229]
[whitespace
Don Stewart <dons(a)galois.com>**20080322001208]
[reenable quickcheck properties for layouts (no overlap, fullscreen)
Don Stewart <dons(a)galois.com>**20080321234015]
[formatting
Don Stewart <dons(a)galois.com>**20080321230956]
[Revert float location patch. Not Xinerama safe
Don Stewart <dons(a)galois.com>**20080321214129]
[XMonad.Core: ignore SIGPIPE, let write calls throw
Lukas Mai <l.mai(a)web.de>**20080321171911]
[update documentation
Brent Yorgey <byorgey(a)gmail.com>**20080311160727]
[Reimplement Mirror with runLayout
Andrea Rossato <andrea.rossato(a)unibz.it>**20080225083236]
[Reimplement Choose with runLayout
Andrea Rossato <andrea.rossato(a)unibz.it>**20080222193119]
[runLayout is now a LayoutClass method and takes the Workspace and the screen Rectangle
Andrea Rossato <andrea.rossato(a)unibz.it>**20080222175815]
[add property for ensureTags behaviour on hidden workspaces
Don Stewart <dons(a)galois.com>**20080310182557]
[Small linecount fix :)
robreim(a)bobturf.org**20080308021939]
[Change floats to always use the current screen
robreim(a)bobturf.org**20080308015829]
[use -fhpc by default when testing. All developers should have 6.8.x
Don Stewart <dons(a)galois.com>**20080307184223]
[more general properties for view, greedyView
Don Stewart <dons(a)galois.com>**20080307181657]
[rework failure cases in StackSet.view
Don Stewart <dons(a)galois.com>**20080307181634]
[bit more code coverage
Don Stewart <dons(a)galois.com>**20080307180905]
[more tests. slightly better test coverage
Don Stewart <dons(a)galois.com>**20080227180113]
[test geometry setting
Don Stewart <dons(a)galois.com>**20080227175554]
[incorrect invariant test for greedyView
Don Stewart <dons(a)galois.com>**20080225180350]
[Add a startupHook.
Brent Yorgey <byorgey(a)gmail.com>**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 <byorgey(a)gmail.com>**20080204192348]
[update LOC claim in man page
gwern0(a)gmail.com**20080215211420]
[add quickstart instructions
Don Stewart <dons(a)galois.com>**20080212203502]
[Remove non-existent windows on restart
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080207091140]
[Lift initColor exceptions into Maybe
Don Stewart <dons(a)galois.com>**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 <dons(a)galois.com>**20080206192533]
[module uses CPP
Don Stewart <dons(a)galois.com>**20080206190521]
[Rename runManageHook to runQuery
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080204053336]
[let enter dismiss compile errors
daniel(a)wagner-home.com**20080203202852]
[Core.hs, StackSet.hs: some documentation updates
Brent Yorgey <byorgey(a)gmail.com>**20080201190653]
[Make Mirror implement emptyLayout
Andrea Rossato <andrea.rossato(a)unibz.it>**20080128001834]
[xmonad.cabal: add `build-type' to make Cabal happy
"Valery V. Vorotyntsev" <valery.vv(a)gmail.com>**20080131163213]
[Get version from the Paths_xmonad module generated by Cabal
Daniel Neri <daniel.neri(a)sigicom.se>**20080129144037
No need to bump version in more than one place.
]
[Kill stale xmonad 0.1 comments
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080128211418]
[Point to 0.6 release of contrib
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080128101115]
[notes on releases
Don Stewart <dons(a)galois.com>**20080128171012]
[bump output of --version
Don Stewart <dons(a)galois.com>**20080128170840]
[Generalize the type of catchIO, use it in Main.hs
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080128054651]
[Add emptyLayout to LayoutClass, a method to be called when a workspace is empty
Andrea Rossato <andrea.rossato(a)unibz.it>**20080124013207]
[clarify copyright
Don Stewart <dons(a)galois.com>**20080108185640]
[TAG 0.6
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080127220633]
[More other-modules
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080127220152]
[Update example config
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080127212331]
[Bump version to 0.6
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080127205000]
[Updated ./man/xmonad.1.in to contain new command line parameters
Austin Seipp <mad.one(a)gmail.com>**20080122070153]
[Depend on QuickCheck < 2 when building tests
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080122070225]
[Roll testing into the main executable, use Cabal to build the tests
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080119091215]
[Simplify duplicate/cloned screen logic
Spencer Janssen <sjanssen(a)cse.unl.edu>**20080118032228]
[Put the screen removing stuff in getCleanedScreenInfo
Joachim Breitner <mail(a)joachim-breitner.de>**20071231181556]
[Ignore cloned screens
Joachim Breitner <mail(a)joachim-breitner.de>**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 <sjanssen(a)cse.unl.edu>**20080118014827]
[Export doubleFork
nicolas.pouillard(a)gmail.com**20080114202612]
[reword comment (previous version didn't make sense to me)
Lukas Mai <l.mai(a)web.de>**20071122165925]
[The recompile function now returns a boolean status instead of ().
nicolas.pouillard(a)gmail.com**20080105225500]
[Make focus-follows-mouse configurable
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071229023301]
[Strictify all XConfig fields, gives nice error messages when a field is forgotten on construction
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071229021923]
[Spelling
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071229021628]
[Wibble
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071229021519]
[Broadcast button events to all layouts, fix for issue #111
Spencer Janssen <sjanssen(a)cse.unl.edu>**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 <byorgey(a)gmail.com>**20071220201549]
[Remove desktop manageHook rules in favor of ManageDocks
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071222113735]
[Wibble
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071222041151]
[Add support for several flags:
Spencer Janssen <sjanssen(a)cse.unl.edu>**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 <sjanssen(a)cse.unl.edu>**20071219215011]
[Flush pending X calls before restarting
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071219162029]
[Allow for sharing of home directory across architectures.
tim.thelion(a)gmail.com**20071218065146]
[Call 'broadcastMessage ReleaseResources' in restart
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071219065710]
[Manpage now describes config in ~/.xmonad/xmonad.hs
Adam Vogt <vogt.adam(a)gmail.com>**20071219023918]
[Update manpage to describe greedyView
Adam Vogt <vogt.adam(a)gmail.com>**20071219023726]
[Depend on X11-1.4.1, it has crucial bugfixes
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071215022100]
[1.4.1 X11 dep
Don Stewart <dons(a)galois.com>**20071214160558]
[Set withdrawnState after calling hide
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071212060250]
[Remove stale comment
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071211084236]
[Make windows responsible for setting withdrawn state
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071211080117]
[Remove stale comment
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071211075641]
[Clean up stale mapped/waitingUnmap state in handle rather than unmanage.
Spencer Janssen <sjanssen(a)cse.unl.edu>**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 <sjanssen(a)cse.unl.edu>**20071211074506]
[man/xmonad.hs: add some documentation explaining that 'title' can be used in the manageHook just like 'resource' and 'className'.
Brent Yorgey <byorgey(a)gmail.com>**20071210173357]
[normalize Module headers
Lukas Mai <l.mai(a)web.de>**20071210085327]
[Add 'testing' mode, this should reduce 'darcs check' time significantly
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071210004704]
[Use XMonad meta-module in Main.hs
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071210004456]
[TAG 0.5
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071209233044]
[Remove references to 0.4
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071209232336]
[Bump version to 0.5!
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071209231539]
[Rename xmonad.hs to xmonad-template.hs
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071209231426]
[StackSet: some haddock tuning
Andrea Rossato <andrea.rossato(a)unibz.it>**20071209161525]
[add a template xmonad.hs
Don Stewart <dons(a)galois.com>**20071209225018]
[Remove kicker and gnome-panel from the default manageHook, these are better
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071209135408
handled by XMonad.Hooks.ManageDocks. Also, remove the over-complicated list
comprehensions.
]
[XMonad.Layouts -> XMonad.Layout
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071208080553]
[Typos and formatting
Andrea Rossato <andrea.rossato(a)unibz.it>**20071124143221]
[Move XMonad.Layouts to XMonad.Layout for uniformity with xmc
Andrea Rossato <andrea.rossato(a)unibz.it>**20071124143000]
[Hide generalized newtype deriving from Haddock
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071208015015]
[Export XMonad.Layouts from XMonad
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071208014927]
[Export XMonad.Operations from XMonad
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071208000636]
[Export Graphics.X11, Graphics.X11.Xlib.Extras, and various Monad stuff from XMonad
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071207233535]
[Depend on X11>=1.4.0
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071205045945]
[Update extra-source-files
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071205044421]
[Update man location
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071205043913]
[make Query a MonadIO
Lukas Mai <l.mai(a)web.de>**20071128195126]
[Add ManageHook to the XMonad metamodule
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071127002840]
[update todos before release
Don Stewart <dons(a)galois.com>**20071125052720]
[Depend on X11 1.4.0
Don Stewart <dons(a)galois.com>**20071125034012]
[add getXMonadDir (2nd try)
Lukas Mai <l.mai(a)web.de>**20071121183018]
[Add 'and' and 'or' functions to ManageHook.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071121104613]
[generalise type of `io'
Don Stewart <dons(a)galois.com>**20071121054407]
[Add recompilation forcing, clean up recompile's documentation
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071120223614]
[recompile does not raise any exceptions
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071120215835]
[-no-recomp because we're doing our own recompilation checking
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071120215744]
[pointfree
Don Stewart <dons(a)galois.com>**20071120184016]
[clean up fmap overuse with applicatives. more opportunities remain
Don Stewart <dons(a)galois.com>**20071120181743]
[ManageHook is a Monoid
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071119060820]
[No more liftM
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071119033120]
[Refactor recompile
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071119032255]
[Trailing space
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071119030658]
[Generalize recompile to MonadIO
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071119030436]
[Factor out doubleFork logic
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071119030353]
[handle case of xmonad binary not existing, when checking recompilation
Don Stewart <dons(a)galois.com>**20071119030057]
[Use executeFile directly, rather than the shell, avoiding sh interepeting
Don Stewart <dons(a)galois.com>**20071119025015]
[use 'spawn' rather than runProcess, to report errors asynchronously, avoiding zombies
Don Stewart <dons(a)galois.com>*-20071119023712]
[use 'spawn' rather than runProcess, to report errors asynchronously, avoiding zombies
Don Stewart <dons(a)galois.com>**20071119023712]
[Use xmessage to present a failure message to users when the config file cannot be loaded
Don Stewart <dons(a)galois.com>**20071119022429]
[only check xmonad.hs against the xmonad binary, not the .o file (meaning you can remove it if you like)
Don Stewart <dons(a)galois.com>**20071119011528]
[Do our own recompilation checking: only launch ghc if the xmonad.hs is newer than its .o file
Don Stewart <dons(a)galois.com>**20071119010759]
[reformat export list to fit on the page
Don Stewart <dons(a)galois.com>**20071119003900]
[add support for Mac users and their silly case-insensitive filesystems
Devin Mullins <me(a)twifkak.com>**20071117024836]
[some more tweaks
Don Stewart <dons(a)galois.com>**20071116184227]
[more todos: docs
Don Stewart <dons(a)galois.com>**20071116182444]
[we need examples for the managehook edsl
Don Stewart <dons(a)galois.com>**20071116182332]
[more todos
Don Stewart <dons(a)galois.com>**20071116182033]
[polish readme
Don Stewart <dons(a)galois.com>**20071116181931]
[more polish for config doc
Don Stewart <dons(a)galois.com>**20071116181640]
[tweak .cabal synopsis a little
Don Stewart <dons(a)galois.com>**20071116181245]
[Config: small haddock fix
Andrea Rossato <andrea.rossato(a)unibz.it>**20071116113158]
[Core: documented XConfig and ScreenDetail
Andrea Rossato <andrea.rossato(a)unibz.it>**20071116112826]
[CONFIG, TODO: fix typos
"Valery V. Vorotyntsev" <valery.vv(a)gmail.com>**20071115144151
CONFIG: delete trailing whitespace
]
[make default ratios in config nicer to look at
Lukas Mai <l.mai(a)web.de>**20071112013551]
[refactor main, add "recompile" to XMonad.Core
Lukas Mai <l.mai(a)web.de>**20071108230933]
[comments, reexport Data.Bits
Don Stewart <dons(a)galois.com>**20071114183759]
[polish .cabal file. add xmonad@ as the default maintainer
Don Stewart <dons(a)galois.com>**20071114182716]
[add lots more text on configuration
Don Stewart <dons(a)galois.com>**20071114182531]
[refactor trace.
Don Stewart <dons(a)galois.com>**20071114034109]
[clarify comment at top of Config.hs
Devin Mullins <me(a)twifkak.com>**20071111191304
There appears to be some confusion -- several people have wanted to edit
Config.hs as was done in the past. This comment probably won't stop that, but
it's a start.
]
[avoid Data.Ratio and % operator in XMonad.Config
David Roundy <droundy(a)darcs.net>**20071111183708
I think this'll make Config.hs more friendly as a template for folks
to modify.
]
[remove obviated (and confusing) comments
Devin Mullins <me(a)twifkak.com>**20071111055047]
[XMonad.Main uses FlexibleContexts
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071111214528]
[hide existential Layout (mostly) from user API.
David Roundy <droundy(a)darcs.net>**20071111003055]
[Depend on X11 1.3.0.20071111
Don Stewart <dons(a)galois.com>**20071111200932]
[update README some more
Don Stewart <dons(a)galois.com>**20071109181203]
[we depend on Cabal 1.2.0 or newer
Don Stewart <dons(a)galois.com>**20071109155934]
[Generalize several functions to MonadIO
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071109064214]
[Docs for ManageHook
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071109031810]
[New ManageHook system
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071109024722]
[Generalize the type of whenJust
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071107062126]
[maybe False (const True) -> isJust. spotted by shachaf
Don Stewart <dons(a)galois.com>**20071108003539]
[typo
Don Stewart <dons(a)galois.com>**20071108000259]
[imports not needed in example now
Don Stewart <dons(a)galois.com>**20071107032346]
[Provide top level XMonad.hs export module
Don Stewart <dons(a)galois.com>**20071107030617]
[point to where defns for config stuff can be found
Don Stewart <dons(a)galois.com>**20071107020801]
[Fix haddock comment
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071107030510]
[fall back to previous ~/.xmonad/xmonad if recompilation fails
Lukas Mai <l.mai(a)web.de>**20071107015309]
[recommend --user
Don Stewart <dons(a)galois.com>**20071106221004]
[add CONFIG with details of how to configure
Don Stewart <dons(a)galois.com>**20071105040741]
[Run only 50 tests per property, decreases test time by 10 seconds on my system
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071105064944]
[Remove stale comment
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071105063731]
[Use Cabal's optimization flags rather than -O
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071105061759]
[Build the whole thing in the test hook
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071105061615]
[-Werror
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071105060326]
[Remove superfluous 'extensions:' field
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071105034515]
[Use configurations in xmonad.cabal
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071105033428]
[~/.xmonad/Main.hs is now ~/.xmonad/xmonad.hs !
Don Stewart <dons(a)galois.com>**20071105032655]
[makeMain -> xmonad
Don Stewart <dons(a)galois.com>**20071105031203]
[-Wall police
Don Stewart <dons(a)galois.com>**20071105022202]
[remember to compile the xmonad library also with the usual ghc-optoins
Don Stewart <dons(a)galois.com>**20071105022127]
[EventLoop -> Core, DefaultConfig -> Config
Don Stewart <dons(a)galois.com>**20071105021705]
[clean up DefaultConfig.hs
Don Stewart <dons(a)galois.com>**20071105021142]
[clean up some weird formatting/overboard strictness annotations
Don Stewart <dons(a)galois.com>**20071105011400]
[Update pragmas for GHC 6.8 compatibility
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071104215507]
[Use the layout and workspaces values from the actual configuration used
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071104020320]
[Float handler out of makeMain, make keys and mouseBindings dependent on XConfig for easy modMask switching
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071102025924]
[We can't rely on the executable name, because it may be 'Main'
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101205057]
[Get defaultGaps from the current config, not the default one
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101205025]
[exposed-modules
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101193331]
[Hierarchify
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101180846]
[Main.hs -> DefaultConfig.hs, add new Main.hs with 'buildLaunch'
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101175749]
[Layouts.Choose: handle ReleaseResources
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101152302]
[Layouts.Choose: send Hide to non-selected layout
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101151147]
[Export mirrorRect
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101085631]
[Only export main from Main
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101082326]
[Add readsLayout, remove the existential from XConfig
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101082155]
[Delete Main.hs-boot!
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101080045]
[Remove manageHook from Main.hs-boot
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101075308]
[Remove workspaces from Main.hs-boot
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101074556]
[-Wall police
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101074411]
[Eliminate defaultTerminal
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101073147]
[Store user configuration in XConf
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101072308]
[This is a massive update, here's what has changed:
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071101064318
* Read is no longer a superclass of Layout
* All of the core layouts have moved to the new Layouts.hs module
* Select has been replaced by the new statically typed Choose combinator,
which is heavily based on David Roundy's NewSelect proposal for
XMonadContrib. Consequently:
- Rather than a list of choosable layouts, we use the ||| combinator to
combine several layouts into a single switchable layout
- We've lost the capability to JumpToLayout and PrevLayout. Both can be
added with some effort
]
[cleaner version of main/config inversion.
David Roundy <droundy(a)darcs.net>**20071029184823]
[make setLayout a bit more inclusive.
David Roundy <droundy(a)darcs.net>**20071024231250]
[make xmonad work with inverted main/config.
David Roundy <droundy(a)darcs.net>**20071018170058]
[sketch of config/main inversion.
David Roundy <droundy(a)darcs.net>**20071018164230]
[more precise X11 version required
Don Stewart <dons(a)galois.com>**20071031203241]
[tweaks to todo
Don Stewart <dons(a)galois.com>**20071031164618]
[HEADS UP: remove X11-extras dependency, depend on X11 >= 1.3.0
Don Stewart <dons(a)galois.com>**20071030220824
The X11-extras library has been merged into the larger X11 library,
so we now drop the dependency on X11-extras, and instead build
against the new X11 library.
If you apply this patch you must build and install X11-1.3.0 or greater
first,
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-1.3.0
You can also go ahead and wipe X11-extras from GHC's memory, (for ghci to work
out of the box with the testsuite)
$ ghc-pkg unregister X11-extras
$ ghc-pkg unregister --user X11-extras
]
[New windows start in the iconic state
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071028063949]
[add text on using xprop to find client names
Don Stewart <dons(a)galois.com>**20071027163031]
[add text reminding people to run mod-shift-space
Don Stewart <dons(a)galois.com>**20071026225228]
[StackSet.hs: (insertUp): remove comments about new window being made master window, since that clearly isn't true.
Brent Yorgey <byorgey(a)gmail.com>**20071022210856]
[Replace 'findIndex' with 'findTag', which more accurately describes what the function does.
Brent Yorgey <byorgey(a)gmail.com>**20071022204105
I realize this is a big change, but the name 'findIndex' was confusing for me, since I expected it to return some sort of integer. What it actually does, of course, is return a workspace tag, which might be more general than an index.
Of course, this change breaks several contrib modules; I'll submit a patch to make the change there as well.
]
[StackSet.hs: (ensureTags): elaborate into a more descriptive comment.
Brent Yorgey <byorgey(a)gmail.com>**20071022202212]
[StackSet.hs: remove dead code.
Brent Yorgey <byorgey(a)gmail.com>**20071022192636]
[StackSet.hs: (differentiate): 'Texture' doesn't mean anything to me; replace with a more descriptive comment.
Brent Yorgey <byorgey(a)gmail.com>**20071022191333]
[StackSet.hs: (new): better comment; 'm' is not an integer, it is a list of screen descriptions.
Brent Yorgey <byorgey(a)gmail.com>**20071022183411]
[StackSet.hs: align some comments
Brent Yorgey <byorgey(a)gmail.com>**20071022161601]
[StackSet.hs: small grammar fix and better flow in comment
Brent Yorgey <byorgey(a)gmail.com>**20071022160858]
[StackSet.hs: better comments regarding hidden/visible workspace tracking for Xinerama
Brent Yorgey <byorgey(a)gmail.com>**20071022160239
I'm not 100% sure that I understand what's going on here, but it seems as though the comment still described an older state of affairs. I don't see any Map Workspace Screen keeping track of visible workspaces.
]
[Add Config.terminal
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071024105354]
[explain that you need ghc as well
Don Stewart <dons(a)galois.com>**20071024030520]
[xmonad, not XMonad
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071023234900]
[STYLE: enlarge on existing principles
gwern0(a)gmail.com**20071023225225
Comments: the -Wall thing was just trying to say -Wall -Werror should work. The license thing was too narrow - or are my public domain contributions unwelcome because they are not BSD-3? I think comments are most important for exported functions users will use; it isn't so important for helper functions (used only in the module) to be very well-documented, right?
]
[start on style guide
Don Stewart <dons(a)galois.com>**20071023221422]
[Operations.hs: flip maybe id is fromMaybe
Eric Mertens <emertens(a)galois.com>**20071018231418]
[Deobfuscate Tall layout
Eric Mertens <emertens(a)galois.com>**20071018231329]
[setInitialProperties after placing windows
Spencer Janssen <sjanssen(a)cse.unl.edu>*-20071019201310]
[setInitialProperties after placing windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071019201310]
[Ignore borders in the stored RationalRects of floating windows.
Spencer Janssen <sjanssen(a)cse.unl.edu>*-20071019063922
Also, add 'floatWindow' which computes the actual Rectangle for that window,
including border.
]
[Only assign workspace keys up to xK_9. Related to bug #63
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071019083746]
[Ignore borders in the stored RationalRects of floating windows.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071019063922
Also, add 'floatWindow' which computes the actual Rectangle for that window,
including border.
]
[I prefer fmap over liftM
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071019063104]
[change 0/1/3 to named states, per X11-extras darcs head
Devin Mullins <me(a)twifkak.com>**20071018021651]
[remove StackOrNot type synonymn.
David Roundy <droundy(a)darcs.net>**20071017201406]
[Operations.hs: make use of notElem and notMember
Eric Mertens <emertens(a)galois.com>**20071017174357]
[TAG 0.4
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071016215343]
[Bump XMonadContrib version
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071016215244]
[Bump X11, X11-extras versions in the README
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071016212636]
[reformat comments
l.mai(a)web.de**20071016162920]
[Whitespace fixes for Properties.hs
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071015022757]
[Clean up trailing whitespace
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071015022322]
[explain numlockMask
Devin Mullins <me(a)twifkak.com>**20071014005525]
[whitespace cleanup in Config.hs
Devin Mullins <me(a)twifkak.com>**20071014005342]
[bump the version tag to 0.4, we're almost there
Don Stewart <dons(a)galois.com>**20071013232758]
[document, and use better names, for serialising/existential-dispatch framework
Don Stewart <dons(a)galois.com>**20071013232150]
[typo in comment
Don Stewart <dons(a)galois.com>**20071013230828]
[more todos
Don Stewart <dons(a)galois.com>**20071013225200]
[done
Don Stewart <dons(a)galois.com>**20071013223536]
[release tasks
Don Stewart <dons(a)galois.com>**20071013223347]
[some more layout clean ups
Don Stewart <dons(a)galois.com>**20071013222317]
[clean up Layout code a little more
Don Stewart <dons(a)galois.com>**20071013221024]
[restore magic markup comments
Don Stewart <dons(a)galois.com>**20071013212351]
[defer to sjanssen's manageHook comment
Don Stewart <dons(a)galois.com>**20071013210346]
[Heads up: rework the Config.hs file comments, and some variable names. Please manually resync your Config.hs if you're tracking the darcs branch
Don Stewart <dons(a)galois.com>**20071013210149]
[clean up names of layout code
Don Stewart <dons(a)galois.com>**20071013204300]
[Another manageHook example
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071013205605]
[Better comment for the default manageHook
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071013203340]
[add can't happen case to silence incomplete patterns in StackSet.hs
Don Stewart <dons(a)galois.com>**20071013185525]
[Bump X11-extras dependency
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071012203721]
[Respect ExitExceptions, fixes a regression where exitWith had no effect
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071012152801]
[Make runX return XState
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071012151524]
[fix potential hole in userCode.
David Roundy <droundy(a)darcs.net>**20071012150253
This makes userCode catch errors even when the
user does something like (return undefined).
]
[Haddox fix
Andrea Rossato <andrea.rossato(a)unibz.it>**20071012100551]
[Add userCode function for the popular m `catchX` return ()
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071012014217]
[catch exceptions when calling user-written code.
David Roundy <droundy(a)darcs.net>**20071012013305
This is a minimal approach that only catches error
in actual user-written code.
]
[use the right catch in catchX.
David Roundy <droundy(a)darcs.net>**20071012011450
Don't ask *me* why the prelude includes a version of
catch that is worse than useless (because it lulls you
into a feeling of safety).
]
[fix one last bug w.r.t. issue 55.
David Roundy <droundy(a)darcs.net>**20071012010509]
[more comments
Don Stewart <dons(a)galois.com>**20071006154351]
[one more comment.
David Roundy <droundy(a)darcs.net>**20071011154423]
[add comments in XMonad.
David Roundy <droundy(a)darcs.net>**20071011152942
This change also removes readLayout as a top level function,
since it's only used once.
]
[Nuke old TODOs, add a documentation TODO
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071011022127]
[Set the border color of new windows, nice catch by mauke
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071011021627]
[Bump required X11-extras version to 0.3.1
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071010165705]
[Only adjust floating windows that are actually larger than the screen
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071010062604
Also, fix a typo caught by Xiao-Yong Jin on the mailing list.
]
[Add LANGUAGE pragmas
Shachaf Ben-Kiki <shachaf(a)gmail.com>**20071008021107
It seems that GHC 6.6 just enables -fglasgow-exts when it sees any LANGUAGE
pragma, so not all of them were added; this patch adds the rest of them, which
is necessary for xmonad to compile in GHC >=6.7.
]
[The empty line isntcomment.
Ferenc Wagner <wferi(a)niif.hu>**20071006191231
There is a separate filter for that case.
]
[Add event handler for PropertyNotifyEvent that calls logHook if window title changed
Christian Thiemann <mail(a)christian-thiemann.de>**20071006175458]
[Moving to code.haskell.org
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071006191843]
[comments need to be given for all top level bindings
Don Stewart <dons(a)galois.com>**20071006154127]
[a bunch of things in XMonad.hs are missing top level comments!
Don Stewart <dons(a)galois.com>**20071006153608]
[add mapWorkspace tests
Devin Mullins <me(a)twifkak.com>**20071006073129
(just completely duplicated the two mapLayout tests :)
]
[change email
Don Stewart <dons(a)galois.com>**20071006104901]
[style on layout class code
Don Stewart <dons(a)galois.com>**20071006104606]
[avoid name class with forever in 6.8
Don Stewart <dons(a)galois.com>**20071006103530]
[add pureMessage.
David Roundy <droundy(a)darcs.net>**20071005140553]
[polish some syntax
Don Stewart <dons(a)galois.com>**20071006102918]
[oops, need to export
Devin Mullins <me(a)twifkak.com>**20071006055059]
[darcs setpref test
Devin Mullins <me(a)twifkak.com>**20071006054333
Fix, per that Main extraction I made the other day.
]
[(cleanup) extract mapWorkspace out of renameTag
Devin Mullins <me(a)twifkak.com>**20071006054104]
[comment out type error'd property
Don Stewart <dons(a)galois.com>**20071006102225]
[add floating property
Don Stewart <dons(a)galois.com>**20071006100654]
[mention C headers
Don Stewart <dons(a)galois.com>**20071006094006]
[Comment only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071005034445]
[Move grabButtons/Keys into X
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071005034102]
[Make WindowSet serialization robust to layout changes
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071005000031]
[Add mapLayout
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071004234537]
[extract Properties module for re-use by contrib tests
Devin Mullins <me(a)twifkak.com>**20071004075852
I want to reuse Properties' Arbitrary instance (as well as the T and
NonNegative types) in an upcoming set of SwapWorkspaces QC props.
`module Main where import Main` doesn't work too well. :)
If this patch is accepted, the darcs 'test' pref should be modified to
"-itests tests/Main.hs".
]
[Remove commented code
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071004200200]
[manageHook: use the curry style, better documentation
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071003162404]
[Pointfree
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071003161643]
[Remove unused import
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071003161621]
[Float Gimp too
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071003161305]
[List possibleLayouts last, because users are less likely to modify it
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071002214708]
[Docs for defaultLayout and defaultLayouts
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071002214517]
[clean up Config a bit.
David Roundy <droundy(a)darcs.net>**20071002203636]
[some renaming of classes and data types.
David Roundy <droundy(a)darcs.net>**20070929191320]
[Don't manage kdesktop either
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071002182455]
[Refactor, ignore desktop_window too
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071002175258]
[Automatically float MPlayer windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071002174722]
[Add rules for gnome-panel and kicker
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071002174243]
[Pass window name and class info to manageHook
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071002174024]
[Send ClassHints to manageHook
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071001175246]
[Operations.windows is responsible for setting initial properties, remove redundant code from Main
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071001170628]
[First cut at manageHook
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071001164627]
[Add StackSet.allWindows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20071001163959]
[set border color more judiciously, so layouts can customize this.
David Roundy <droundy(a)darcs.net>**20070928235346]
[deeper test for differentiate. back to 100% coverage
Don Stewart <dons(a)galois.com>**20070930075018]
[properties for tag renaming
Don Stewart <dons(a)galois.com>**20070930074641]
[test lookupWorkspace more deeply
Don Stewart <dons(a)galois.com>**20070930073822]
[On change of keyboard mapping, grabKeys from the root window.
Aaron Denney <wnoise(a)ofb.net>**20070929224755]
[Operation: coding style conformance
Andrea Rossato <andrea.rossato(a)unibz.it>**20070928112744]
[StackSet uses PatternGuards
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070928182510]
[define defaultLayout in Config.hs.
David Roundy <droundy(a)darcs.net>**20070928020208]
[merge, update test hook
Don Stewart <dons(a)galois.com>**20070929142041]
[100% coverage of alternative branches
Don Stewart <dons(a)galois.com>**20070928235745]
[add some more properties for failure cases
Don Stewart <dons(a)galois.com>**20070928233230]
[polish
Don Stewart <dons(a)galois.com>**20070928232839]
[comments and formatting only
Don Stewart <dons(a)galois.com>**20070928220523]
[Use LANGUAGE pragmas over -fglasgow-exts
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070928181438]
[merge old workspace tags with new on restart.
David Roundy <droundy(a)darcs.net>**20070926183309]
[SomeLayout: use the description of the wrapped layout
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070928052344]
[LayoutSelection: describe the active layout only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070928051858]
[put transients completely on the screen when possible.
David Roundy <droundy(a)darcs.net>**20070927211014]
[setLayout should not call sendMessage, because sendMessage calls windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070928011510]
[Add setLayout to the core
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070928002241]
[Document otherPossibleLayouts
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070928000250]
[Minor formatting
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070928000025]
[otherPossibleLayouts is empty by default
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070927235845]
[Update kind changes in the -class branch
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070927222730]
[Refactor floating code in manage
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070927195534]
[fix bug where ReleaseResources wasn't getting sent to all layouts.
David Roundy <droundy(a)darcs.net>**20070925215816]
[Simplify readLayout, comment on surprising behavior
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070925211708]
[fix bug in reading of SomeLayouts.
David Roundy <droundy(a)darcs.net>**20070925202801]
[add support for parseable layouts not in the default.
David Roundy <droundy(a)darcs.net>**20070925174134]
[rename modifyLayout to handleMessage.
David Roundy <droundy(a)darcs.net>**20070925182906]
[make it easier to define pure layouts.
David Roundy <droundy(a)darcs.net>**20070925170503]
[Make a String description part of each Layout.
David Roundy <droundy(a)darcs.net>**20070924185753]
[broadcast a ReleaseResources before restarting
Andrea Rossato <andrea.rossato(a)unibz.it>**20070924193915]
[Added LayoutMessages
Andrea Rossato <andrea.rossato(a)unibz.it>**20070924193513
This patch adds some more messages to manage layout: Hide is sent to
layouts in that are not visible anymore. ReleaseReasourses is sent
before a restart.
]
[update screens for new kind of StackSet.
David Roundy <droundy(a)darcs.net>**20070924134545]
[create default modifyLayout that ignores messages.
David Roundy <droundy(a)darcs.net>**20070923115219]
[add layout selection back into core xmonad using LayoutSelection.
David Roundy <droundy(a)darcs.net>**20070921212159
This is just a reimplementation of LayoutChoice.
]
[make layouts preserved over restart
David Roundy <droundy(a)darcs.net>**20070921204316]
[move Layout into StackSet.
David Roundy <droundy(a)darcs.net>**20070920221248
WARNING! This changes the format of StackSet, and
will definitely mess up your xmonad state, requiring
at minimum a restart!
]
[add (unused) Layout to StackSet.
David Roundy <droundy(a)darcs.net>**20070920212843]
[remove unneeded Ord constraint.
David Roundy <droundy(a)darcs.net>**20070920210527]
[eliminate a few Eq a constraints in StackSet.
David Roundy <droundy(a)darcs.net>**20070920210143]
[Pointfree Mirror and SomeLayout instances
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070920211042]
[Use derived Show and Read instances for Mirror
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070920205711]
[define readLayout to create a SomeLayout based on a set of possible layout types.
David Roundy <droundy(a)darcs.net>**20070920181506]
[add Read instance to Layout.
David Roundy <droundy(a)darcs.net>**20070920174529]
[add Show instance to Layout
David Roundy <droundy(a)darcs.net>**20070920161208]
[eliminate ugly OldLayout.
David Roundy <droundy(a)darcs.net>**20070920155237]
[move Layout stuff into class (hokey first cut).
David Roundy <droundy(a)darcs.net>**20070914215959]
[add prop for 'differentiate'
Don Stewart <dons(a)galois.com>**20070927231928]
[document shiftWin
Karsten Schoelzel <kuser(a)gmx.de>**20070927134205]
[new QC properties: floating a window is reversible, screens includes current screen
Don Stewart <dons(a)galois.com>**20070927220431]
[Add 3 QC properties for focusMaster: local, idempotent, preserves invariant
Don Stewart <dons(a)galois.com>**20070927214401]
[no regents in xmonad license
Don Stewart <dons(a)galois.com>**20070927214317]
[note that we use pattern guards in the .cabal file
Don Stewart <dons(a)galois.com>**20070927214230]
[Add StackSet.focusMaster (mod-m) to move focus to master
Don Stewart <dons(a)galois.com>**20070927213937]
[use hPrint instead of hPutStrLn
Don Stewart <dons(a)galois.com>**20070927213901]
[Split float up
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070924090606]
[Use the new StackSet.screens in windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070924090523]
[Add StackSet.screens
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070924090425]
[fmt, and tiny comment seeking clarification
Don Stewart <dons(a)galois.com>**20070917234658]
[Eliminate Operations.sink too
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070917214052]
[Remove Operations functions which have StackSet equivalents, just use 'windows foo' instead
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070917211953]
[Change manpage token @@ to %! to avoid conflicts with Haddock (xmonad)
Alex Tarkovsky <alextarkovsky(a)gmail.com>**20070916235229]
[Haddockify delete' comments
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070917194114]
[Fix float behaviour, add shiftWin.
Karsten Schoelzel <kuser(a)gmx.de>**20070910090329
First, if float is called with window which is on a hidden workspace,
then the window will remain on that hidden workspace.
Now the focus should change more as expected:
float w = (view current) . (shiftWin ws w)
where
current is the current screen/workspace
shiftWin ws w is: - view the workspace w is on
- set focus on w
- shift ws
- set focus back to window it was on that workspace
unless w was focused
shiftWin was add to StackSet.hs
]
[Add delete' for use in shift
Karsten Schoelzel <kuser(a)gmx.de>**20070910113835
Rename delete to delete' so we can clear floating status in delete,
thus removing one special handling.
At the moment delete' is only used in shift, but is useful for temporarily
removing a window from the stack.
]
[update description field of cabal file
Don Stewart <dons(a)galois.com>**20070916023016]
[pointfree looks nicer here
Don Stewart <dons(a)cse.unsw.edu.au>**20070911051928]
[Remove redundant reveal
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070910213807]
[Add missing insert markers for generate-configs.sh in Config.hs
Alex Tarkovsky <alextarkovsky(a)gmail.com>**20070907120414]
[Move lower boundary check into applySizeHints, because all users of applySizeHints
Karsten Schoelzel <kuser(a)gmx.de>**20070905192125
do this manually.
]
[export getAtom from XMonad.
Ivan Tarasov <Ivan.Tarasov(a)gmail.com>**20070825174156]
[Use show rather than string hacks
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070905202816]
[switch WorkspaceId to String.
David Roundy <droundy(a)darcs.net>**20070820113658]
[Alex Tarkovsky's docstring patch updated for conflicts
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070905193558]
[tasks done
Don Stewart <dons(a)cse.unsw.edu.au>**20070905004901]
[TAG 0.3
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070904195245]
[README: spelling
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070904193042]
[Bump version to 0.3
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070904192841]
[Add a link to XMonadContrib
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070904192759]
[Point to X11-extras-0.3 in the README
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070904192643]
[Depend on X11-extras >= 0.3
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070903215249]
[Add location of X11-extras to README
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070824160935]
[Add docstrings for mouse controls
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070824045939]
[todos
Don Stewart <dons(a)cse.unsw.edu.au>**20070822022815]
[comment only: example of 2 monitor gaps
Don Stewart <dons(a)cse.unsw.edu.au>**20070821032538]
[don't refresh when setting focus to already focussed window.
David Roundy <droundy(a)darcs.net>**20070820150225]
[clear out motion events when processing one motion event.
David Roundy <droundy(a)darcs.net>**20070820002351
This is important if the hook is slow (e.g. try adding "float w"
to the window-dragging hook), as it allows xmonad to keep up with
the motion of the mouse.
]
[remove unneeded do.
David Roundy <droundy(a)darcs.net>**20070813143721]
[make splitHorizontallyBy accept any RealFrac.
David Roundy <droundy(a)darcs.net>**20070813143707]
[Fix new bug in screen switching
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070816215629]
[-Wall police
Don Stewart <dons(a)cse.unsw.edu.au>**20070816033132]
[Comment only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070815224031]
[simplify code in StackSet.
David Roundy <droundy(a)darcs.net>**20070814010422]
[change workspaces to [WorkspaceId]
David Roundy <droundy(a)darcs.net>**20070814003722]
[Operations.windows: minor refactor
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070815031521]
[Cleanup
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070810213940]
[move event loop out of mouseDrag.
David Roundy <droundy(a)darcs.net>**20070807201616]
[only display any given window once.
David Roundy <droundy(a)darcs.net>**20070724141310
This change goes along with the sticky window work. It makes xmonad
display each window once and only once, with preference given to the
focussed screen. It has no effect when there are no duplicate windows,
except to make things less efficient. We could do better using Data.Set
(or Data.Map) to store the set of windows that are visible.
]
[Add greedyView, make it the default action for mod-wer
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070815025504]
[Remove 'Eq' constraint from StackSet.index
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070807144346]
[trailing whitespace only
Don Stewart <dons(a)cse.unsw.edu.au>**20070805072716]
[added workspaces to hs-boot (needed by XMonadContrib.Commands and possibly other modules)
Andrea Rossato <andrea.rossato(a)unibz.it>**20070728131756]
[QuickCheck filter preserves order
Karsten Schoelzel <kuser(a)gmx.de>**20070728184534]
[Bugfix: reordering when filtering out the last window on a workspace
Karsten Schoelzel <kuser(a)gmx.de>**20070728132507
Say you have three windows A B C* on a workspace with * marking the focus.
If you close C or move it to another workspace, the resulting order will be B* A,
thus reordering the other windows, defying the comment of filter.
]
[shift: use guards instead of if
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070724152340]
[Remove unnecessary Integral constraints
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070724152257]
[make delete work when window is in multiple workspaces.
David Roundy <droundy(a)darcs.net>**20070724142045]
[Remove redundant 'n >= 0' check from shift. (from David Roundy's 'simplify shift, removing unneeded check.' patch)
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070724145927]
[Cleanup of shift code
Michael G. Sloan <mgsloan(a)gmail.com>**20070722205337]
[use $HOME in examples
Don Stewart <dons(a)cse.unsw.edu.au>**20070719063348]
[Tweak dmenu binding
Peter De Wachter <pdewacht(a)gmail.com>**20070717190722
Add an "eval", so quotes and environment variables get evaluated
according to sh rules.
]
[restore focus to currently focused window after "float" (closes #32)
Jason Creighton <jcreigh(a)gmail.com>**20070710042631]
[Operations.screenWorkspace: return Nothing when the screen does not exist
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070707223842]
[Operations.rescreen: screen indexes start at zero
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070707223334]
[Note and workaround bugs in Operations.float
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070705195213]
[refresh after starting
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070630050346]
[UPGRADE X11-Extras! Manage iconified windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070630021026]
[Move screen details into StackSet
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070629213917]
[Change a window's workspace when dragging across screens (closes #30)
Jason Creighton <jcreigh(a)gmail.com>**20070628025023]
[support self-modifying layouts.
David Roundy <droundy(a)darcs.net>**20070623201447]
[comment for (dubious?) integrate'
Don Stewart <dons(a)cse.unsw.edu.au>**20070626052431]
[broadcast unidentified events.
David Roundy <droundy(a)darcs.net>**20070623214125
This change is independent of the doLayout change I just sent in, but fixes
the problem that change introduces in Decoration, by ensuring that all
Layouts get redraw events. I think this is the correct behavior.
]
[add 2 properties to state where focus goes on delete of focused window
Don Stewart <dons(a)cse.unsw.edu.au>**20070626040907]
[fix empty case in 'filter', and note differences in semantics wrt. focus to 'delete'
Don Stewart <dons(a)cse.unsw.edu.au>**20070626035741]
[clean up 'StackSet.filter' for style
Don Stewart <dons(a)cse.unsw.edu.au>**20070626033202]
[minor tweaks, ideas from joachim.fasting@
Don Stewart <dons(a)cse.unsw.edu.au>**20070621033613]
[only perform mouse events on managed windows. closes #28
Don Stewart <dons(a)cse.unsw.edu.au>**20070621011700]
[Update Layout documentation
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070620150858]
[-Wall police
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070620150823]
[Stack windows in the order they are returned by doLayout
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070620150419]
[remove out of date `(Included with GHC)' text in README
Don Stewart <dons(a)cse.unsw.edu.au>**20070620060430]
[make Layouts able to layout whatever they like.
David Roundy <droundy(a)darcs.net>**20070619150816]
[float fixed size windows
Peter De Wachter <pdewacht(a)gmail.com>**20070618214657]
[Remove all references to 'exec'
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070618201532]
[-Wall police, and turn on -fno-warn-orphans
Don Stewart <dons(a)cse.unsw.edu.au>**20070617052322]
[make workspace tag not need to be a Num.
David Roundy <droundy(a)darcs.net>**20070614140709
This change also removes the barely used 'size' field, and replaces
it with a tagMember predicate. The idea is to move towards the ability
to make the workspace tag be a String, which by default might be "1".."9",
but could also be customized to be something meaningful to the user.
]
[Fix float stacking
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070614213412]
[Remove 'temporary work around' in 'windows'
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070614211450]
[haddock tuning for StackSet.hs
Andrea Rossato <andrea.rossato(a)unibz.it>**20070614064511
with this patch the documentation of StackSet.hs will have a nice TOC
]
[move initColor to Operations and only store the Pixel value of colors
Jason Creighton <jcreigh(a)gmail.com>**20070613234501
Moving initColor to Operations allows it to be used by extensions.
The Pixel component of the color is the only thing we need, so it's simpler
just to deal with that.
]
[haddick fine tuning
Andrea Rossato <andrea.rossato(a)unibz.it>**20070613185902]
[Indentation
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070613043018]
[prevent keyboard focus from getting lost in some cases
Jason Creighton <jcreigh(a)gmail.com>**20070613025350]
[resolve conflict in Operations.
David Roundy <droundy(a)darcs.net>**20070612170625]
[add catchX to catch exceptions.
David Roundy <droundy(a)darcs.net>**20070612154253]
[make focus, up and down complete functions.
David Roundy <droundy(a)darcs.net>**20070612150555
This is a rerun of my change to make (Stack a) never be empty. Gives
us more type-safety.
]
[add differentiate function to StackSet to go [a] -> Stack a.
David Roundy <droundy(a)darcs.net>**20070612132853]
[Make 'view' a total function
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070612143248]
[fmt
Don Stewart <dons(a)cse.unsw.edu.au>**20070612134938]
[-Wall police
Stefan O'Rear <stefanor(a)cox.net>**20070612060546]
[Use a more descriptive name for the layout reversal message
Stefan O'Rear <stefanor(a)cox.net>**20070612055859]
[Use broadcastMessage in windows and switchLayout, should improve Xinerama for tabbed and make xmonad robust in the presence of state-altering unlayout hooks
Stefan O'Rear <stefanor(a)cox.net>**20070612055510]
[Add a broadcastMessage function, which sends to all visible workspaces without refreshing. (+6 loc)
Stefan O'Rear <stefanor(a)cox.net>**20070612055339]
[TODO for scan
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611214217]
[Set withdrawn state after calling windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611213327]
[Remove obsolete 'layout' function
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611203622]
[-Wall police
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611202007]
[Comment only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611195827]
[Hide windows that are not supposed to be visible
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611191809]
[-Wall police
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611185708]
[API CHANGE: Give doLayout a Stack rather than a flattened list
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611182629]
[-Wall police
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611180123]
[Add StackSet.filter
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611165154]
[Use catchIO in 'restart'
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611161152]
[Rename safeIO to catchIO
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611160608]
[add safeIO which catches and logs exceptions.
David Roundy <droundy(a)darcs.net>**20070611153650]
[Ensure windows get at least 1 pixel for width/height
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611061930]
[Restrict the master/slave ratio to [0, 1]
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070611053230]
[comment only
Jason Creighton <jcreigh(a)gmail.com>**20070611020249]
[a few modifications to event-sending to make Tabbed layout work.
David Roundy <droundy(a)darcs.net>**20070610153836]
[send message when "windows" is called.
David Roundy <droundy(a)darcs.net>**20070610013531]
[implement Spencer's decoration suggestion.
David Roundy <droundy(a)darcs.net>**20070610012237]
[haddock compatibility
Andrea Rossato <andrea.rossato(a)unibz.it>**20070610123746]
[Move state logging into Config.hs, via logHook :: X ()
Don Stewart <dons(a)cse.unsw.edu.au>**20070610061932]
[polish serialisation code (-7 lines)
Don Stewart <dons(a)cse.unsw.edu.au>**20070610045551]
[cut incorrect comment.
David Roundy <droundy(a)darcs.net>**20070609173447]
[doLayout cleanup and commented exception-handling.
David Roundy <droundy(a)darcs.net>**20070609145036]
[Give refresh sole responsibility for establishing window properties (-3 loc)
Stefan O'Rear <stefanor(a)cox.net>*-20070609185835]
[Give refresh sole responsibility for establishing window properties (-3 loc)
Stefan O'Rear <stefanor(a)cox.net>**20070609185835]
[HEADS UP: (logging format change). use a custom pretty printer, for an easier format to parse, than 'show' produces
Don Stewart <dons(a)cse.unsw.edu.au>**20070609131716]
[Add notes on using X11-extras from darcs
Don Stewart <dons(a)cse.unsw.edu.au>**20070609025045]
[Fix unmap handling
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070606214006
According to the ICCCM, clients should send a synthetic unmap event when they
initiate an unmap. The old code waited for these synthetic unmaps to unmanage
windows. However, certain 'obsolete' clients do not send synthetic unmaps
(notably xpdf's find dialog). These windows entered a zombified state: xmonad
does not manage them, yet they are still mapped and raised on screen.
The new algorithm (derived from wmii):
- track windows that are mapped on screen
- track the number of expected unmap events for each window, increment every
time 'hide' is called on a window that is not mapped.
- decrement the expected unmap counter on each unmap event
- treat an unmap event as genuine (ie. unmap the window) when:
- the event is synthetic (per ICCCM)
- OR there are no expected unmap events for this window
]
[dead import
Don Stewart <dons(a)cse.unsw.edu.au>**20070606025226]
[move extraModifiers/cleanMask to Operations.hs
Jason Creighton <jcreigh(a)gmail.com>**20070606005056
so XMonadContrib can use them
]
[temporary workaround for delete/focus issue in fullscreen mode
Don Stewart <dons(a)cse.unsw.edu.au>**20070606024938]
[whitespace
Don Stewart <dons(a)cse.unsw.edu.au>**20070606024857]
[simplify code
Don Stewart <dons(a)cse.unsw.edu.au>**20070606004603]
[mention why StackSet needs -fglasgow-exts (for deriving Typeable)
Don Stewart <dons(a)cse.unsw.edu.au>**20070605092659]
[comments only
Don Stewart <dons(a)cse.unsw.edu.au>**20070605091803]
[clean size hint code
Don Stewart <dons(a)cse.unsw.edu.au>**20070605091354]
[Enable logging of state changes to stdout
Don Stewart <dons(a)cse.unsw.edu.au>**20070605083735]
[remove accidental logging of events
Don Stewart <dons(a)cse.unsw.edu.au>**20070605081452]
[Fix lost eventNotifyMask bug
Don Stewart <dons(a)cse.unsw.edu.au>**20070605043040
When resuming, we were (implicitly) relying on 'scan' to find all
windows, and reset their event masks and WM_STATE. When we moved to
Iconfified hidden workspaces, 'scan' would only find and reset states on
the current workspace.
The result being that hidden workspace windows no longer received
enterNotify events.
Fix this by traversing the StackSet serialised during a restart, setting
the intial X states for each window, whether visible or hidden.
]
[whitespace only
Don Stewart <dons(a)cse.unsw.edu.au>**20070605000723]
[Comment only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604211956]
[Wibble.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604211816]
[-Wall police
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604211531]
[apply size hints to floating windows
Peter De Wachter <pdewacht(a)gmail.com>**20070604192943]
[size hints infrastructure
Peter De Wachter <pdewacht(a)gmail.com>**20070604192753]
[Delete stale comment
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604204617]
[Comment only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604203659]
[Use 'windows' in 'focus'
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604201639]
[realign guard
l.mai(a)web.de**20070604182045]
[swapUp/Down are also mirrored
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604183535]
[Remove redundant cases in swapUp/Down
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604183344]
[focusUp/Down are the same, in reversed order
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604183143]
[Simplify focusUp/Down
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604182228]
[Integral implies Eq
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604180745]
[Comment typo.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604180554]
[Dump state at launch (commented for now)
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604162450]
[Small clean up
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604064418]
[Merge windows and refresh
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604063657]
[Use the new integrate function
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604062653]
[Add integrate
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604062501]
[Delete stale comments
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604061719]
[Remove inaccurate warnings about 'hide'
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604060611]
[base >= 2.0 means we can use forM_
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070604050914]
[Remove no-longer-needed 'dimensions' state (-5 loc)
Stefan O'Rear <stefanor(a)cox.net>**20070604044715]
[Set WM_STATE, iconify invisible windows (+9 loc)
Stefan O'Rear <stefanor(a)cox.net>**20070604042343
Note that this breaks compatibility with certain programs described as
"obsolete" in the ICCCM (1994). See the command above the UnmapEvent handler
for details.
]
[clean up Main.hs slightly
Don Stewart <dons(a)cse.unsw.edu.au>**20070604035637]
[whitespace
Don Stewart <dons(a)cse.unsw.edu.au>**20070604015532]
[-Wall
Don Stewart <dons(a)cse.unsw.edu.au>**20070604014630]
[do not cache atom values within Xmonad, instead let Xlib worry about caching (a documented feature)
Stefan O'Rear <stefanor(a)cox.net>**20070604013938]
[Honor configure requests from unmanaged windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070603234730]
[-Wall police
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070603212055]
[Correctly handle resize requests (-12 +22)
Stefan O'Rear <stefanor(a)cox.net>**20070603203153
Xmonad now implements resize requests in a consistent manner.
* If the window is FLOATING, we implement the program's request, and
correctly update the StackSet; so it will keep the new size. This
should work correctly even for non-current windows.
* Otherwise, we ignore the request. As per ICCCM, we send a fake
ConfigureNotify containing the new (unchanged) geometry. This is
perfectly ICCCM compliant, and if it breaks your client, it's your
own fault.
This patch requires setConfigureEvent, which is added to X11-extras by
a patch approximately contemporaneous with this one.
]
[comments only
Don Stewart <dons(a)cse.unsw.edu.au>**20070603071556]
[Polish core layout code. Lifts limitation on nmaster > 1. it may be 0 now
Don Stewart <dons(a)cse.unsw.edu.au>**20070603064306]
[heads up: polish config.hs. moves tiling-local values into lexical scope. removes `wide' as an explicit mode (it's `mirror tall')
Don Stewart <dons(a)cse.unsw.edu.au>**20070603054740]
[set build-depends base>=2.0 so people can't miss the missing Read instance issue
Don Stewart <dons(a)cse.unsw.edu.au>**20070603032319]
[Fix out-of-date comment in Config.hs.
Chris Mears <chris(a)cmears.id.au>**20070602114312]
[only grab button{1,2,3} for click-to-focus (scrollwheel shouldn't focus)
Jason Creighton <jcreigh(a)gmail.com>**20070602052605]
[make mouse bindings configurable
Jason Creighton <jcreigh(a)gmail.com>**20070602040647]
[commented out implementation state logging. if someone has a client, we can enable this
Don Stewart <dons(a)cse.unsw.edu.au>**20070601085626]
[ignore numlock/capslock on mouse bindings
Jason Creighton <jcreigh(a)gmail.com>**20070601015137]
[now we handle transients properly, and restack windows, refresh from focus is ok
Don Stewart <dons(a)cse.unsw.edu.au>**20070601022329]
[Rename withWorkspace to withWindowSet.
glasser(a)mit.edu**20070601001325]
[Revert accidental change to border color
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070531145509]
[comments on why fullscreen tiling doesn't work with `implicit' floating
Don Stewart <dons(a)cse.unsw.edu.au>**20070531090537]
[clean up mouse code a bit
Don Stewart <dons(a)cse.unsw.edu.au>**20070531085308]
[first shot at a floating layer
Jason Creighton <jcreigh(a)gmail.com>**20070531044733
This is a first attempting at a floating layer:
mod-button1: move window
mod-button2: swapMaster
mod-button3: resize window
mod-t: make floating window tiled again
Moving or resizing a window automatically makes it floating.
Known issues:
Hard to manage stacking order. You can promote a window to move it to the top,
(which you can do with mod-button2) but it should be easier than that.
Moving a window by dragging it to a different Xinerama screen does not move it
to that workspace.
Code is ugly.
]
[remove LOC cap (but still print count after tests)
Jason Creighton <jcreigh(a)gmail.com>**20070531043417]
[TAG 0.2
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070531010004]
[Remove 0.2 TODOs
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070531005855]
[Bump version to 0.2
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070530202529]
[Minor style change.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070530181006]
[log errors on executeFile in restart
nickburlett(a)mac.com**20070530171024
I found it difficult to track down a problem in the restart code where xmonad was silently not restarting. This will log the error to stderr, which should show up in .xsession-errors
]
[Depend on X11-extras >= 0.2
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070530173607]
[Require X11 >= 1.2.1
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070530172909]
[point out restart is used to propagate changes
Don Stewart <dons(a)cse.unsw.edu.au>**20070530021005]
[Really change restart keybinding this time
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070530061454]
[HEADS UP: Change restart keybinding to mod-q
Spencer Janssen <sjanssen(a)cse.unl.edu>*-20070530061044]
[HEADS UP: Change restart keybinding to mod-q
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070530061044]
[Fix 'refresh' doc string
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070529020446]
[Give link to bugtracker in "BUGS" section of manpage
Jason Creighton <jcreigh(a)gmail.com>**20070529015851]
[make 'tall' layout the default on startup. more useful for new users
Don Stewart <dons(a)cse.unsw.edu.au>**20070529014611]
[notes about which dependant packages already come with ghc
Don Stewart <dons(a)cse.unsw.edu.au>**20070529005748]
[forgot to set focus in 'focus'. this restores the old behaviour
Don Stewart <dons(a)cse.unsw.edu.au>**20070528134547]
[don't refresh on focus events
Don Stewart <dons(a)cse.unsw.edu.au>**20070528133127
leads to a race. this will affect how gaps are redrawn when moving to a
new screen with the mouse.
]
[ensure !! won't go out of bounds in modifyGap
Don Stewart <dons(a)cse.unsw.edu.au>**20070528070609]
[mention .xinitrc
Don Stewart <dons(a)cse.unsw.edu.au>**20070528061252]
[update readme
Don Stewart <dons(a)cse.unsw.edu.au>**20070528051444]
[Add the HTML manpage
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070528063122]
[Fix manpage generator
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070528062658]
[apply gap to each screen
Don Stewart <dons(a)cse.unsw.edu.au>**20070528044722]
[move gapcalc.c
Don Stewart <dons(a)cse.unsw.edu.au>**20070528040402]
[Remove gapcalc.c from the sdist, add generated manpage
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070528040655]
[help man script
Don Stewart <dons(a)cse.unsw.edu.au>**20070528033846]
[done with gap
Don Stewart <dons(a)cse.unsw.edu.au>**20070528033525]
[Document mod-n
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070528033536]
[be sure to reset the gap list on rescreen
Don Stewart <dons(a)cse.unsw.edu.au>**20070528031835]
[support per-screen gap settings. you can have different gaps on individual screens now
Don Stewart <dons(a)cse.unsw.edu.au>**20070528031501]
[Use (Int,Int,Int,Int) for arbitrary gaps on any side of the screen
Don Stewart <dons(a)cse.unsw.edu.au>**20070528025135]
[Update extra-source-files
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070527210657]
[Note the manpage move in xmonad.cabal
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070527205857]
[refactor only
Don Stewart <dons(a)cse.unsw.edu.au>**20070527154353]
[comments on alternative gap movement policies
Don Stewart <dons(a)cse.unsw.edu.au>**20070527153211]
[when focus is called from an event, better refresh too, since it might have switched workspaces (so gap follows screen focus)
Don Stewart <dons(a)cse.unsw.edu.au>**20070527151942]
[only set gap on current physical screen
Don Stewart <dons(a)cse.unsw.edu.au>**20070527150805]
[gap
Don Stewart <dons(a)cse.unsw.edu.au>**20070527150053]
[todo
Don Stewart <dons(a)cse.unsw.edu.au>**20070527143216]
[revert raiseWindow in focus. Leads to some funny races with pop ups. Harmless with status bar support now
Don Stewart <dons(a)cse.unsw.edu.au>**20070527134505]
[mod-b, toggle on or off the status bar gap
Don Stewart <dons(a)cse.unsw.edu.au>**20070527125928]
[Add new config value, defaultMenuGap, for specifying a gap for a status bar
Don Stewart <dons(a)cse.unsw.edu.au>**20070527122702
By default, it is 0 (set in Config.hs), but set this to a pixel count to
get a permanent gap at the top of the screen. You can then at startup
launch dzen, and it will run in this gap, and not be obscured by other
windows.
Perfect for a persistant status bar.
]
[raiseWindow when settings focus. The focused window should always be raised, I think
Don Stewart <dons(a)cse.unsw.edu.au>**20070527094105]
[Be a bit more conservative with -O flags, and GC. Hope to avoid runtime GC bug
Don Stewart <dons(a)cse.unsw.edu.au>**20070527074438]
[dead code
Don Stewart <dons(a)cse.unsw.edu.au>**20070527072652]
[refactor code smell in Operation.hs
Don Stewart <dons(a)cse.unsw.edu.au>**20070527072135]
[clean Main.hs slightly
Don Stewart <dons(a)cse.unsw.edu.au>**20070527072106]
[todo
Don Stewart <dons(a)cse.unsw.edu.au>**20070527063740]
[Generate keybindings section in manpage from Config.hs
Jason Creighton <jcreigh(a)gmail.com>**20070527062914]
[specify --user, spotted by fasta
Don Stewart <dons(a)cse.unsw.edu.au>**20070527014032]
[HEADS UP: change key binding for swapLeft/Right and IncMaster
Don Stewart <dons(a)cse.unsw.edu.au>**20070526111453
The use of arrow keys for swapLeft/Right clash with firefox's back
button. Use the more intuitive mod-shift-jk for this. (It's a movement
operation, after all).
This clashes with IncMaster, so we use mod+comma and mod+period for
these (i.e. the keys mod < and mod > , to move windows to and from the
master area).
While we're here, replace the use of the terms 'left' and 'right' for
navigation, in comments and identifiers, with 'up' and 'down' instead.
Hence mod-j == focusDown. Far more intuitive for people (dons) who live
in fullscreen mode and have vim movement wired into their central
nervous system.
Principle of least VI surprise: movement down or up means using j and k.
]
[type sig for abort.
Don Stewart <dons(a)cse.unsw.edu.au>**20070526061450]
[Add an abort function, called for deliberate and intentional errors
Neil Mitchell**20070523233212]
[Delete the Catch wrapper, no longer required by the latest version of Catch
Neil Mitchell**20070523232941]
[start on TODO list needed for 0.2 to be tagged
Don Stewart <dons(a)cse.unsw.edu.au>**20070526060720]
[Add a test that the size field of StackSet is correct to QuickCheck invariant.
glasser(a)mit.edu**20070525163159]
[Formatting only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070525214414]
[Quickcheck property to check that delete / focus behaviour
Rob <bobstopper(a)bobturf.org>**20070525035432
See patch "Deleting a window should not affect focus". Checks this property.
]
[Fix bug in noDuplicate invariant
Rob <bobstopper(a)bobturf.org>**20070525060842
ws used by noDuplicates is actually a list of list of elements which
will pretty rarely raise any flags even if the StackSet actually does
contain duplicates. This patch concatenates ws to ensure the quickcheck
property tests accurately.
]
[Add a note about already installed packages
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070525153143]
[Deleting a window should not affect focus
Rob <bobstopper(a)bobturf.org>**20070525024118
This fixes a bug whereby deleting a window will first move focus to
that window before deleting it without moving focus back afterwards.
The fix generalises the remove inner function to delete a window from
the stack whether it's in focus or not. If the window is in focus,
behaviour remains as it was.
]
[Use --resume by default
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070523191418]
[add swapLeft and swapRight
bobstopper(a)bobturf.org**20070522050008]
[restart: don't preserve old args
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070522060357]
[Wibble
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070522043844]
[Generalize withDisplay's type
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070522043758]
[refactor using whenX
Don Stewart <dons(a)cse.unsw.edu.au>**20070522043116]
[Add preliminary randr support
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070522040228]
[Update the Catch checking to the new interface for StackSet
Neil Mitchell**20070522015422]
[Remove the magic '2'
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521234535]
[List --resume args first
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521232427]
[Move special case 'view' code into 'windows'.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521215646
This is ugly right now -- I promise to clean it up later.
]
[Experimental support for a beefier restart.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521194653]
[Catch the exception rather than explicitly checking the PATH
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521191900]
[Put restart in the X monad
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521190749]
[Show instances for WorkspaceId and ScreenId
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521190704]
[Read instance for StackSet
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521184504]
[Remove redundant fromIntegrals
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521165123]
[Use Position for dimensions
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521162809]
[Make screen info dynamic: first step to supporting randr
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521152759]
[modify
Don Stewart <dons(a)cse.unsw.edu.au>**20070521115750]
[Move xinerama current/visible/hidden workspace logic into StackSet directly.
Don Stewart <dons(a)cse.unsw.edu.au>**20070521055253]
[s/workspace/windowset/
Jason Creighton <jcreigh(a)gmail.com>**20070521040330]
[focusWindow: always view the containing workspace first
Jason Creighton <jcreigh(a)gmail.com>**20070521035551]
[explicit export list for StackSet
Don Stewart <dons(a)cse.unsw.edu.au>**20070521025250]
[comment only
Don Stewart <dons(a)cse.unsw.edu.au>**20070520090846]
[only hide old workspace on view if the old workspace is not visible (Xinerama)
Jason Creighton <jcreigh(a)gmail.com>**20070521031435]
[Fix mod-j/k bindings
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070521030253]
[Be explicit about suspicious System.Mem import
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070520165741]
[HEADS UP: Rewrite StackSet as a Zipper
Don Stewart <dons(a)cse.unsw.edu.au>**20070520070053
In order to give a better account of how focus and master interact, and
how each operation affects focus, we reimplement the StackSet type as a
two level nested 'Zipper'. To quote Oleg:
A Zipper is essentially an `updateable' and yet pure functional
cursor into a data structure. Zipper is also a delimited
continuation reified as a data structure.
That is, we use the Zipper as a cursor which encodes the window which is
in focus. Thus our data structure tracks focus correctly by
construction! We then get simple, obvious semantics for e.g. insert, in
terms of how it affects focus/master. Our transient-messes-with-focus
bug evaporates. 'swap' becomes trivial.
By moving focus directly into the stackset, we can toss some QC
properties about focus handling: it is simply impossible now for focus
to go wrong. As a benefit, we get a dozen new QC properties for free,
governing how master and focus operate.
The encoding of focus in the data type also simplifies the focus
handling in Operations: several operations affecting focus are now
simply wrappers over StackSet.
For the full story, please read the StackSet module, and the QC
properties.
Finally, we save ~40 lines with the simplified logic in Operations.hs
For more info, see the blog post on the implementation,
http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/17#xmonad_part1b_zipper
]
[Read is not needed for StackSet
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070516054233]
[variable number of windows in master area
Jason Creighton <jcreigh(a)gmail.com>**20070516031437]
[Use camelCase, please.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070516014454]
[beautify tile
David Roundy <droundy(a)darcs.net>**20070515154011]
[put doLayout in the X monad.
David Roundy <droundy(a)darcs.net>**20070512215301]
[setsid() before exec. Intended to fix issue #7
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070514044547]
[keep focus stack.
David Roundy <droundy(a)darcs.net>**20070510131637]
[bump LOC limit to 550
Jason Creighton <jcreigh(a)gmail.com>**20070510032731]
[Remove broken prop_promoterotate, replace it with prop_promote_raise_id
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508211907]
[Disable shift_reversible until focus issues are decided.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508210952]
[Disable delete.push until focus issues are decided
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508204921]
[Remove unsafe fromJust
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508163822]
[Add the initial Catch testing framework for StackSet
Neil Mitchell <http://www.cs.york.ac.uk/~ndm/>**20070508154621]
[Work around the fact that Yhc gets defaulting a bit wrong
Neil Mitchell <http://www.cs.york.ac.uk/~ndm/>**20070508124949]
[Make tests typecheck
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508152449]
[Remove unsafe use of head
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508152116]
[Make 'index' return Nothing, rather than error
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508151200]
[Use 'drop 1' rather than tail, skip equality check.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508150943]
[Redundant parens
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508150412]
[StackSet.view: ignore invalid indices
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070508143951]
[Change the swap function so its Haskell 98, by using list-comps instead of pattern-guards.
Neil Mitchell <http://www.cs.york.ac.uk/~ndm/>**20070508123158]
[Arbitrary instance for StackSet must set random focus on each workspace
Don Stewart <dons(a)cse.unsw.edu.au>**20070508051126
When focus was separated from the stack order on each workspace, we
forgot to update the Arbitrary instance to set random focus. As spotted
by David R, this then invalidates 4 of our QC properties. In particular,
the property involving where focus goes after a random transient
(annoying behaviour) appeared to be correct, but wasn't, due to
inadequate coverage.
This patch sets focus to a random window on each workspace. As a result,
we now catch the focus/raise/delete issue people have been complaining
about.
Lesson: make sure your QuickCheck generators are doing what you think
they are.
]
[make quickcheck tests friendlier to read.
David Roundy <droundy(a)darcs.net>**20070505175415]
[make Properties.hs exit with failure on test failure
Jason Creighton <jcreigh(a)gmail.com>**20070505174357]
[since we just ignore type errors, no need to derive Show
Don Stewart <dons(a)cse.unsw.edu.au>**20070504094143]
[Constrain layout messages to be members of a Message class
Don Stewart <dons(a)cse.unsw.edu.au>**20070504081649
Using Typeables as the only constraint on layout messages is a bit
scary, as a user can send arbitrary values to layoutMsg, whether they
make sense or not: there's basically no type feedback on the values you
supply to layoutMsg.
Folloing Simon Marlow's dynamically extensible exceptions paper, we use
an existential type, and a Message type class, to constrain valid
arguments to layoutMsg to be valid members of Message.
That is, a user writes some data type for messages their layout
algorithm accepts:
data MyLayoutEvent = Zoom
| Explode
| Flaming3DGlassEffect
deriving (Typeable)
and they then add this to the set of valid message types:
instance Message MyLayoutEvent
Done. We also reimplement the dynamic type check while we're here, to
just directly use 'cast', rather than expose a raw fromDynamic/toDyn.
With this, I'm much happier about out dynamically extensible layout
event subsystem.
]
[Handle empty layout lists
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070504045644]
[refactoring, style, comments on new layout code
Don Stewart <dons(a)cse.unsw.edu.au>**20070504023618]
[use anyKey constant instead of magic number
Jason Creighton <jcreigh(a)gmail.com>**20070504015043]
[added mirrorLayout to mirror arbitrary layouts
Jason Creighton <jcreigh(a)gmail.com>**20070504014653]
[Fix layout switching order
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070503235632]
[More Config.hs bugs
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070503234607]
[Revert accidental change to Config.hs
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070503233148]
[Add -fglasgow-exts for pattern guards. Properties.hs doesn't complain anymore
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070503214221]
[Avoid the unsafe pattern match, in case Config.hs has no layouts
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070503214007]
[add support for extensible layouts.
David Roundy <droundy(a)darcs.net>**20070503144750]
[comments. and stop tracing events to stderr
Don Stewart <dons(a)cse.unsw.edu.au>**20070503075821]
[-Wall police
Don Stewart <dons(a)cse.unsw.edu.au>**20070503074937]
[elaborate documentation in Config.hs
Don Stewart <dons(a)cse.unsw.edu.au>**20070503074843]
[Use updated refreshKeyboardMapping. Requires latest X11-extras
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070503032040]
[run QC tests in addition to LOC test
Jason Creighton <jcreigh(a)gmail.com>**20070503003202]
[Add 'mod-n': refreshes current layout
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070503002252]
[Fix tests after StackSet changes
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070502201622]
[First steps to adding floating layer
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070502195917]
[update motivational text using xmonad.org
Don Stewart <dons(a)cse.unsw.edu.au>**20070502061859]
[Sort dependencies in installation order
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070501204249]
[Recommend X11-extras 0.1
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070501204121]
[elaborate description in .cabal
Don Stewart <dons(a)cse.unsw.edu.au>**20070501035414]
[use -fasm by default. Much faster
Don Stewart <dons(a)cse.unsw.edu.au>**20070501031220]
[check we never generate invalid stack sets
Don Stewart <dons(a)cse.unsw.edu.au>**20070430065946]
[Make border width configurable
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070430163515]
[Add Config.hs-boot, remove defaultLayoutDesc from XConf
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070430162647]
[Comment only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070430161635]
[Comment only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070430161511]
[view n . shift n . view i . shift i) x == x --> shift + view is invertible
Don Stewart <dons(a)cse.unsw.edu.au>**20070430062901]
[add rotate all and view idempotency tests
Don Stewart <dons(a)cse.unsw.edu.au>**20070430055751]
[push is idempotent
Don Stewart <dons(a)cse.unsw.edu.au>**20070430054345]
[add two properties relating to empty window managers
Don Stewart <dons(a)cse.unsw.edu.au>**20070430051016]
[new QC property: opening a window only affects the current screen
Don Stewart <dons(a)cse.unsw.edu.au>**20070430050133]
[Add XConf for values that don't change.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070430054715]
[Control.Arrow is suspicious, add an explicit import
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070430053623]
[configurable border colors
Jason Creighton <jcreigh(a)gmail.com>**20070430043859
This also fixes a bug where xmonad was assuming a 24-bit display, and just
using, eg, 0xff0000 as an index into a colormap without querying the X server
to determine the proper pixel value for "red".
]
[a bit more precise about building non-empty stacksets for one test
Don Stewart <dons(a)cse.unsw.edu.au>**20070430035729]
[remove redundant call to 'delete' in 'shift'
Don Stewart <dons(a)cse.unsw.edu.au>**20070430031151]
[clean 'delete' a little
Don Stewart <dons(a)cse.unsw.edu.au>**20070430025319]
[shrink 'swap'
Don Stewart <dons(a)cse.unsw.edu.au>**20070430024813]
[shrink 'rotate' a little
Don Stewart <dons(a)cse.unsw.edu.au>**20070430024525]
[move size into Properties.hs
Don Stewart <dons(a)cse.unsw.edu.au>**20070430021758]
[don't need 'size' operation on StackSet
Don Stewart <dons(a)cse.unsw.edu.au>**20070430015927]
[add homepage: field to .cabal file
Don Stewart <dons(a)cse.unsw.edu.au>**20070429041011]
[add fromList to Properties.hs
Don Stewart <dons(a)cse.unsw.edu.au>**20070429035823]
[move fromList into Properties.hs, -17 loc
Don Stewart <dons(a)cse.unsw.edu.au>**20070429035804]
[avoid grabbing all keys when a keysym is undefined
Jason Creighton <jcreigh(a)gmail.com>**20070428180046
XKeysymToKeycode() returns zero if the keysym is undefined. Zero also happens
to be the value of AnyKey.
]
[Further refactoring
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070426212257]
[Refactor in Config.hs (no real changes)
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070426211407]
[Add the manpage to extra-source-files
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070426014105]
[add xmonad manpage
David Lazar <davidlazar(a)styso.com>**20070426010812]
[Remove toList
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070426005713]
[Ignore numlock and capslock in keybindings
Jason Creighton <jcreigh(a)gmail.com>**20070424013357]
[Clear numlock bit
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070424010352]
[force window border to 1px
Jason Creighton <jcreigh(a)gmail.com>**20070423050824]
[s/creigh//
Don Stewart <dons(a)cse.unsw.edu.au>**20070423024026]
[some other things to do
Don Stewart <dons(a)cse.unsw.edu.au>**20070423023151]
[Start TODOs for 0.2
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070423021526]
[update readme
Don Stewart <dons(a)cse.unsw.edu.au>**20070422090507]
[TAG 0.1
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070422083033]
[Bump version to 0.1
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070422082948]
[xmonad 0.1 is ready
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070422080824]
[Update TODO
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070422080806]
[Arbitrary Word64 for running tests on amd64
Alec Berryman <alec(a)thened.net>**20070419104652
Copied from Arbitrary Word8; I don't understand the coarbitrary definition and
the Word64 one may be erroneous, but Properties.hs now compiles and passes all
tests.
]
[two things gone from todo list
Don Stewart <dons(a)cse.unsw.edu.au>**20070419041809]
[add 8 new QC tests, including tests of the layout algorithm
Don Stewart <dons(a)cse.unsw.edu.au>**20070419040833]
[use prefixed record names in latest X11-extras
Jason Creighton <jcreigh(a)gmail.com>**20070419032244]
[WindowSet is better than WorkSpace
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070419015430]
[Remove useless pragma
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070419015239]
[Parameterise StackSet by two index types, rather than breaking abstraction
Don Stewart <dons(a)cse.unsw.edu.au>**20070419012705]
[2 more properties for promote.
Don Stewart <dons(a)cse.unsw.edu.au>**20070419001201]
[tweak loc count to match count_lines script
Don Stewart <dons(a)cse.unsw.edu.au>**20070418224725]
[Promote now swaps focused window with master window
Don Stewart <dons(a)cse.unsw.edu.au>**20070418224236
This means other windows are unaffected.
The change from the previous cycling behaviour was felt necessary, since
cycling isn't a terribly useful operation.
Some properties that hold:
focus is unchanged by promotion
promote is idempotent (promoting twice does nothing)
the focused and master window will swap their positions in the stack
]
[Add TODO to the sdist
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070418223323]
[Add the tests to the sdist
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070418221326]
[Make sdist work correctly
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070418215546]
[xmonad should build with future versions of mtl and X11-extras
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070418214927]
[Another TODO bites the dust
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070418205725]
[Update propaganda.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070418014029]
[define test to ensure LOC doesn't jump above 400.
David Roundy <droundy(a)darcs.net>**20070418004533]
[Update TODO: all the Xinerama issues I've encountered are fixed
Alec Berryman <alec(a)thened.net>**20070418001453
As of:
Fri Apr 13 04:37:02 EDT 2007 Spencer Janssen <sjanssen(a)cse.unl.edu>
* Ignore window entries while moving windows. This should fix all the focus preservation problems.
]
[test for xmonad in path first, before restarting
Don Stewart <dons(a)cse.unsw.edu.au>**20070416025541]
[added comment about windows key (mod4Mask)
Jason Creighton <jcreigh(a)gmail.com>**20070415233635]
[remove unused sizeDelta setting
Jason Creighton <jcreigh(a)gmail.com>**20070415233244]
[Note we must fix mod-shift-c before 0.1 can go out
Don Stewart <dons(a)cse.unsw.edu.au>**20070415230435]
[fix typo.
David Roundy <droundy(a)darcs.net>**20070415055616]
[added warning re: xmonad in path to mod-shift-q docs
Jason Creighton <jcreigh(a)gmail.com>**20070413233019]
[Clear up documentation on mod-h/l
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070413230706]
[Ignore window entries while moving windows. This should fix all the focus preservation problems.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070413083702]
[Update TODO
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070413031003]
[mod-wer for Xinerama was inadvertently changed
Alec Berryman <alec(a)thened.net>**20070412132033]
[and the tests still run
Don Stewart <dons(a)cse.unsw.edu.au>**20070411081500]
[add license headers to two missing files
Don Stewart <dons(a)cse.unsw.edu.au>**20070411081042]
[clean up tiling code a teensy bit, and comment on the interaction between focus, master, and cycling direction between the modes
Don Stewart <dons(a)cse.unsw.edu.au>**20070411080747]
[explain what mod-return now does. it cycles
Don Stewart <dons(a)cse.unsw.edu.au>**20070411073636]
[Change semantics of 'promote'.
Don Stewart <dons(a)cse.unsw.edu.au>**20070411073456
Previously 'promote' would move the currently focused window into the
master position in tiled mode. This was *almost* a cycle of the windows,
but not quite (depending on where the focus was, it was in fact a
cycle).
Now we do the obvious generalisation, and just cycle the current window
stack. Simpler to understand, simpler to reason about.
]
[clean up only
Don Stewart <dons(a)cse.unsw.edu.au>**20070411065607]
[merge with toList/fromList patch
Don Stewart <dons(a)cse.unsw.edu.au>**20070411060947]
[Statically distinguish Workspace and Screen indices
Don Stewart <dons(a)cse.unsw.edu.au>**20070411060456]
[fromList/toList have # of screens + another QC property
Jason Creighton <jcreigh(a)gmail.com>**20070411044215]
[Xinerama screen switching bugfix
Jason Creighton <jcreigh(a)gmail.com>**20070411041615]
[removed xinerama-enabled dmenu action
Jason Creighton <jcreigh(a)gmail.com>**20070411024716
I don't think we're going to see any Xinerama support upstream, at least not
anytime soon. It doesn't make sense to ship something with xmonad that isn't
going to work out of the box. So for now Xinerama users should just use this
patch: http://www.jcreigh.com/xmonad/xinerama-dmenu.html
]
[Move workspace fetching logic from Config.hs to Operations.hs
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070410064714]
[moved screen <-> workspace mapping from XMonad to StackSet
Jason Creighton <jcreigh(a)gmail.com>**20070410062731]
[Add notes about StackSet redesign
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070410021238]
[Simplify rot
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070409223500]
[Rearrange TODO
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070409075817]
[Also done
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070409075029]
[Tile algorithm has been improved
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070409074945]
[Vertical tiling done
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070409074853]
[Remove redundant parens
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070409073836]
[Remove unused 'screen' field
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070409073510]
[Document XState fields
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070409073414]
[Use -funbox-strict-fields, rather than UNPACK pragmas. cleaner code.
Don Stewart <dons(a)cse.unsw.edu.au>**20070409072302]
[Remove redundant setFocus, setFocus is called by refresh which is called by windows
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070405215832]
[-Wall police
Don Stewart <dons(a)cse.unsw.edu.au>**20070405000100]
[take window borders into account when resizing (requires latest X11-extras)
Jason Creighton <jcreigh(a)gmail.com>**20070404021612]
[summarise key bindings in a table in Config.hs
Don Stewart <dons(a)cse.unsw.edu.au>**20070404011441]
[replace multiple gets with a single get and record bind
Don Stewart <dons(a)cse.unsw.edu.au>**20070404010524]
[Use Tall and Wide for split screen layouts. This should be less confusing.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070403050610]
[Abusing TODO as a bug tracker: note about overlapping
Alec Berryman <alec(a)thened.net>**20070402222956]
[Comment typo: more -> move
Alec Berryman <alec(a)thened.net>**20070402221948]
[Note the Xinerama bugs I've experienced in the TODO
Alec Berryman <alec(a)thened.net>**20070402160802]
[vertical (master area on top) tiling
Jason Creighton <jcreigh(a)gmail.com>**20070403040658]
[Comment typo.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070402214605]
[Comment only.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070402072418]
[Revert to the old layout code.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070402045114]
[Type error: lockMask :: KeyMask, not KeySym
Alec Berryman <alec(a)thened.net>**20070401143416
Error prevents compilation on 64-bit systems.
]
[Suggest an alternative modMask for emacs users
Alec Berryman <alec(a)thened.net>**20070401161027]
[Remove trailing spaces, no content changed
Alec Berryman <alec(a)thened.net>**20070401144539]
[Fix type error in dimensions field of XState record for 64-bit systems
Alec Berryman <alec(a)thened.net>**20070401144229
Fallout from Int->CInt conversion.
]
[Config.hs comment formatting/typo
Jason Creighton <jcreigh(a)gmail.com>**20070401055711]
["dmenu" operation to spawn dmenu only on the current screen (for Xinerama)
Jason Creighton <jcreigh(a)gmail.com>**20070401012712
This requires a dmenu that will accept -x and -w. Currently, This means
applying this patch: http://www.jcreigh.com/dmenu/position-options.patch (I'm
trying to see if I can get this into dmenu upstream; haven't heard anything
back yet.)
]
[sanitize key bindings
Don Stewart <dons(a)cse.unsw.edu.au>**20070401033522
Changes mean:
* gmrun is like the dmenu key, but with shift set.
- , ((modMask .|. shiftMask, xK_F11 ), spawn "gmrun")
+ , ((modMask .|. shiftMask, xK_p ), spawn "gmrun")
If no one actually uses both gmrun and dmenu, we should consider only
using mod-p for this.
* restart is like quit, but with 'ctrl' set:
+ , ((modMask .|. shiftMask, xK_q ), io $ exitWith ExitSuccess)
+ , ((modMask .|. shiftMask .|. controlMask, xK_q ), io restart)
* revert to 'wer' ordering for xinerama screens:
- | (key, sc) <- zip [xK_e, xK_r, xK_t] [1..]
+ | (key, sc) <- zip [xK_w, xK_e, xK_r] [1..]
that's the only binding order that makes sense, since they're meant to
refer to screens 1 2 and 3, hence 'wer' (look at the keyboard to see why)
]
[Cleaned up layout a little bit
hughes(a)rpi.edu**20070401023639]
[restore dwm-style keybindings. mod-shift-{j,k} resize in vert mode
Don Stewart <dons(a)cse.unsw.edu.au>**20070401025433]
[Merged things together with dons changes.
hughes(a)rpi.edu**20070401021846]
[Config.hs avoids conflict with essential M-w Emacs shortcut.
hughes(a)rpi.edu**20070401015135]
[Vertical/horizontal split, and resizability.
hughes(a)rpi.edu**20070401014706]
[Remove evil gmrun shortcut.
hughes(a)rpi.edu**20070330144558]
[formatting only
Don Stewart <dons(a)cse.unsw.edu.au>**20070401004726]
[formatting fixes. the style is getting a bit dodgy in some places...
Don Stewart <dons(a)cse.unsw.edu.au>**20070401002803]
[Move safeFocus from Main to Operations
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070331010024]
[removed refocus; moved functionality to setFocus
Jason Creighton <jcreigh(a)gmail.com>**20070331003442]
[refactored "focus changed" code into "refocus"
Jason Creighton <jcreigh(a)gmail.com>**20070330035454]
[Window borders
Alec Berryman <alec(a)thened.net>**20070329182159
Colors taken from dwm's config.default.h and hard-coded in Operations instead
of Config because of import cycle.
Windows overlap slightly in the current tiling algorithm and sometimes prevent
the active window from being completely surrounded by a red border.
]
[Add AMD64 note to the README
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070329055250]
[Type error: button1 :: Button, not :: ButtonMask
Alec Berryman <alec(a)thened.net>**20070329024330]
[Fix refreshKeyboardMapping issues. Requires the latest X11-extras
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070328215753]
[allow mouse to change current workspace
daniel(a)wagner-home.com**20070328103435]
[first shot at allowing click to focus windows
daniel(a)wagner-home.com**20070328101540]
[added a quickcheck property
daniel(a)wagner-home.com**20070328025337]
[Compatibility with CInt'ified X11
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070328071436]
[one less todo
Don Stewart <dons(a)cse.unsw.edu.au>**20070327231846]
[whitespace
Jason Creighton <jcreigh(a)gmail.com>**20070327013350]
[updated TODO (Config.hs completed)
Jason Creighton <jcreigh(a)gmail.com>**20070327014124]
[Config supports Ctrl+Space for gmrun again.
hughes(a)rpi.edu**20070326151243]
[Workspace-specific layouts
hughes(a)rpi.edu**20070326150213]
[Typo: use dmenu_path instead of emenu_path
Alec Berryman <alec(a)thened.net>**20070326140335]
[Focus follows mouse.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070326124725
This change makes the window under the mouse pointer the focused window. This
isn't quite what we want, but it is a step in the right direction. The next
step is to somehow inhibit the CrossingEvents generated during workspace and
layout switches.
]
[Update todo
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070326102441]
[Extra config: defaultLayout
daniel(a)wagner-home.com**20070326074234]
[updated TODO
daniel(a)wagner-home.com**20070326073415]
[minor aesthetic changes
daniel(a)wagner-home.com**20070326073339]
[fix
Don Stewart <dons(a)cse.unsw.edu.au>**20070326075812]
[Restrain leftWidth
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070326095034]
[Config.lhs -> Config.hs
Jason Creighton <jcreigh(a)gmail.com>**20070326054004]
[added Config.lhs and moved most things in Main.hs into Operations.hs to enable this
Jason Creighton <jcreigh(a)gmail.com>**20070326051341]
[Xinerama focus bug (couldn't focus on current workspace)
Jason Creighton <jcreigh(a)gmail.com>**20070325203702]
[restart (simple exec(), no state saved)
Jason Creighton <jcreigh(a)gmail.com>**20070323023738]
[Add promote. Makes the focused window the master
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070322222333]
[Add promote
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070322221547]
[I like 1%2 split. Maintainer's prerogative :)
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070321070649]
[Add defaultLeftWidth in the configuration section
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070321065807]
[Allow dynamic width in tiling mode
daniel(a)wagner-home.com**20070321054245]
[GHC 6.4 compatibility.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070321045211]
[add keybindings to change screens and tag windows to screens
Jason Creighton <jcreigh(a)gmail.com>**20070321033807]
[Add raiseFocus.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070320160135]
[Make numlockMask configurable
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070320145828]
[Initial tiling support.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070320071812]
[Fix indentation
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070320054647]
[Untabify
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070320054045]
[changed type of getScreenInfo in Graphics.X11.Xinerama
Jason Creighton <jcreigh(a)gmail.com>**20070320044253]
[Decouple the concepts of focus and window order. First step to tiling!
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070320051124]
[trace wsOnScreen when it's changed
Jason Creighton <jcreigh(a)gmail.com>**20070319035629]
[don't try to change the current workspace based on an enterNotify event
Jason Creighton <jcreigh(a)gmail.com>**20070319035450]
[use "windows" in "unmanage"
Jason Creighton <jcreigh(a)gmail.com>**20070318024825]
[replaced "let Just x = ..." in view with "case ... of ..."
Jason Creighton <jcreigh(a)gmail.com>**20070318005525]
[basic xinerama support (depends on Graphics.X11.Xinerama in X11-extras)
Jason Creighton <jcreigh(a)gmail.com>**20070317234904]
[Whitespace only
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070316194950]
[-Wall police
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070316022201]
[abstract out modMask for easy user configuration
shae(a)ScannedInAvian.com**20070315230127]
[tasks before 0.1
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070315061646]
[s/thunk/xmonad
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070315054632]
[Tiling notes
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070314070752]
[Actually fix the zombie issue.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070313235931]
[Sloppy typos in spawn.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070313215009]
[Fix forking issues, add unix dependency.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070313153310]
[catch exceptions in spawn, so failing to fork won't kill the wm
Don Stewart <dons(a)cse.unsw.edu.au>**20070312062612]
[fiddling, comments
Don Stewart <dons(a)cse.unsw.edu.au>**20070312014029]
[comments, move isRoot into XMonad
Don Stewart <dons(a)cse.unsw.edu.au>**20070312012350]
[wibbles
Don Stewart <dons(a)cse.unsw.edu.au>**20070312010756]
[abstract out setfocus code a bit
Don Stewart <dons(a)cse.unsw.edu.au>**20070312005540]
[general refactor, and call xerrorhandler to ignore certain undetectable issues
Don Stewart <dons(a)cse.unsw.edu.au>**20070311102653]
[initial support for Atom-based delete protocol. makes kill client work on firefox. Quitting though still leads to a bogus notify from firefox, for a closed window
Don Stewart <dons(a)cse.unsw.edu.au>**20070311064515]
[thunk is now known as xmonad!
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070310070320]
[XMonad
Don Stewart <dons(a)cse.unsw.edu.au>**20070310070152]
[add tracing for kill window
Don Stewart <dons(a)cse.unsw.edu.au>**20070310062154]
[Use 9 workspaces by default
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070310041114]
[Reduce flicker on workspace change.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070310041021]
[typo
Don Stewart <dons(a)cse.unsw.edu.au>**20070310034012]
[Add support for Enter/Leave notify events. Fixes firefox on my machine
Don Stewart <dons(a)cse.unsw.edu.au>**20070310032759]
[refactor, trying to seperate out IO from W stuff, in order to QC the handler at some point
Don Stewart <dons(a)cse.unsw.edu.au>**20070310012940]
[notes on the firefox bug
Don Stewart <dons(a)cse.unsw.edu.au>**20070309162510
basically we have to set focus ourselves. This means when we start
managing a window, and when an XCrossingEvent occurs (which we don't
handle).
On Manage/Enter, we set focus. on Leave we set focus to root.
See event.c and focus.c in dwm for more details.
]
[grammar nazis
Don Stewart <dons(a)cse.unsw.edu.au>**20070309145649]
[whitespace. and note if we get a config request for an already managed window
Don Stewart <dons(a)cse.unsw.edu.au>**20070309144308]
[improved grabkeys (also handle lockMask down)
Don Stewart <dons(a)cse.unsw.edu.au>**20070309134211]
[alloc the event space only once
Don Stewart <dons(a)cse.unsw.edu.au>**20070309134149]
[also select for enter and leave window events (need for XCrossing?)
Don Stewart <dons(a)cse.unsw.edu.au>**20070309131251]
[we should check for OverrideRedirect on initial scan too
Don Stewart <dons(a)cse.unsw.edu.au>**20070309130608]
[no unix dependency
Don Stewart <dons(a)cse.unsw.edu.au>**20070309091951]
[fmt only
Don Stewart <dons(a)cse.unsw.edu.au>**20070309091455]
[unnec. export list
Don Stewart <dons(a)cse.unsw.edu.au>**20070309091328]
[unnec. `nub'
Don Stewart <dons(a)cse.unsw.edu.au>**20070309091045]
[just use Map, not int map. strict updates don't seem to help btw.
Don Stewart <dons(a)cse.unsw.edu.au>**20070309083706]
[comments on whether we lose space due to lazy updates of the stack set
Don Stewart <dons(a)cse.unsw.edu.au>**20070309081621]
[don't need the unix package
Don Stewart <dons(a)cse.unsw.edu.au>**20070309075148]
[sneaky inline
Don Stewart <dons(a)cse.unsw.edu.au>**20070309063818]
[little bit of strictness, based on -prof output
Don Stewart <dons(a)cse.unsw.edu.au>**20070309063449]
[explicit interface on StackSet. maybe it should be a seperate package ... ?
Don Stewart <dons(a)cse.unsw.edu.au>**20070309061255]
[-12 lines, refactor
Don Stewart <dons(a)cse.unsw.edu.au>**20070309060139]
[refactor, -10 or so loc
Don Stewart <dons(a)cse.unsw.edu.au>**20070309055417]
[more QC properties on StackSets
Don Stewart <dons(a)cse.unsw.edu.au>**20070309054042]
[simpler type (no need to cache size, we *could* grow new stacks on demand now)
Don Stewart <dons(a)cse.unsw.edu.au>**20070309043638]
[replace Seq [a] with IntMap [a], hopefully gets 6.4 support
Don Stewart <dons(a)cse.unsw.edu.au>**20070309043035]
[simplify StackSet api even further (-15 loc)
Don Stewart <dons(a)cse.unsw.edu.au>**20070309041707]
[smaller api, less tests
Don Stewart <dons(a)cse.unsw.edu.au>**20070309035635]
[use new StackSet api
Don Stewart <dons(a)cse.unsw.edu.au>**20070309035615]
[shrink StackSet api
Don Stewart <dons(a)cse.unsw.edu.au>**20070309035603]
[Update location for X11-extras
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070309043422]
[comments
Don Stewart <dons(a)cse.unsw.edu.au>**20070309031847]
[handle MappingNotifyEvent properly, and missing test in MapRequestEvent. firefox still won't take the keyboard though
Don Stewart <dons(a)cse.unsw.edu.au>**20070309030644]
[comments
Don Stewart <dons(a)cse.unsw.edu.au>**20070309030640]
[stub for MappingNotifyEvent, based on dwm. But the X11-extras binding for this event needs doing (sjanssen?)
Don Stewart <dons(a)cse.unsw.edu.au>**20070308130517]
[refactoring. heads up: depends on withServer in X11-extras
Don Stewart <dons(a)cse.unsw.edu.au>**20070308122613]
[comments
Don Stewart <dons(a)cse.unsw.edu.au>**20070308120753]
[move W -> WMonad
Don Stewart <dons(a)cse.unsw.edu.au>**20070308120536]
[forgot to add Properties.hs
Don Stewart <dons(a)cse.unsw.edu.au>**20070308120521]
[move tests into subdir
Don Stewart <dons(a)cse.unsw.edu.au>**20070308120448]
[Switch to using abstract StackSet data type. Most workspace logic moved into StackSet.hs
Don Stewart <dons(a)cse.unsw.edu.au>**20070308114308]
[unpack on our own
Don Stewart <dons(a)cse.unsw.edu.au>**20070308114255]
[cleanup only
Don Stewart <dons(a)cse.unsw.edu.au>**20070308021901]
[Make the number of workspaces configurable.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070308043614]
[Print a message for unhandled events
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070308013249]
[Manage windows that are created before thunk starts
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070307210117]
[Add Alt-Shift-[1..5], to move the current client to a new workspace
Don Stewart <dons(a)cse.unsw.edu.au>**20070308010424]
[cleaner implementation of 'view'. Only hide the current list. And shortcut if we try to move to the same screen. No flicker
Don Stewart <dons(a)cse.unsw.edu.au>**20070308002134]
[Fill in missing workspace code
Don Stewart <dons(a)cse.unsw.edu.au>**20070308000729
How do we manage workspaces? thunk keeps a list of window lists,
corresponding each window stack on each workspace. When you switch views
to a different workspace it moves all windows off the screen (2*w)
(2*h), and then moves back those in the current list. There's some
screen flicker, we could probably be smarter about this.
]
[Add support for multiple workspaces
Don Stewart <dons(a)cse.unsw.edu.au>**20070307111247
Everything is in place for multiple workspaces, bar one thing:
the view function. It updates thunk's idea of the current visible
windows, but I don't know how to tell X to hide the current set, and
instead treat the new window list as the only ones visible.
See notes for 'view' at bottom of Main.hs. If we can, say, switch to a
new workspace, which is empty, 'refresh' should spot this only display
the root window.
]
[no -Werror
Don Stewart <dons(a)cse.unsw.edu.au>**20070307111240]
[-Wall police. and strip the binary
Don Stewart <dons(a)cse.unsw.edu.au>**20070307074910]
[fmt. and use a Map for keycode lookup
Don Stewart <dons(a)cse.unsw.edu.au>**20070307074248]
[xKillClient -> killClient
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070307073010]
[formatting and comments only
Don Stewart <dons(a)cse.unsw.edu.au>**20070307071926]
[Add alt-c, kill client
Don Stewart <dons(a)cse.unsw.edu.au>**20070307071910]
[dead code
Don Stewart <dons(a)cse.unsw.edu.au>**20070307065250]
[need Data.List
Don Stewart <dons(a)cse.unsw.edu.au>**20070307064827]
[focus left and right (mod-j/mod-k)
Don Stewart <dons(a)cse.unsw.edu.au>**20070307064539]
[Plan for statusbar/multithreading
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070307064223]
[Add TODO
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070307064214]
[wibble
Don Stewart <dons(a)cse.unsw.edu.au>**20070307062201]
[derive MonadState, removes most accessors
Don Stewart <dons(a)cse.unsw.edu.au>**20070307061532]
[Handle several more events, should fix several issues.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070307060447]
[refactoring. less code
Don Stewart <dons(a)cse.unsw.edu.au>**20070307055007]
[just use [Window]
Don Stewart <dons(a)cse.unsw.edu.au>**20070307050139]
[url of dmenu. it now works
Don Stewart <dons(a)cse.unsw.edu.au>**20070307042446]
[typo in dmenu code
Don Stewart <dons(a)cse.unsw.edu.au>**20070307041921]
[X11 1.2 works too.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070307041540]
[add dmenu support, seems to work, but the resulting client isn't launched
Don Stewart <dons(a)cse.unsw.edu.au>**20070307034738]
[refactoring
Don Stewart <dons(a)cse.unsw.edu.au>**20070307033855]
[Wm -> W, all good monads have single capital letter names. comment the W.hs file
Don Stewart <dons(a)cse.unsw.edu.au>**20070307033307]
[unbox-strict-fields
Don Stewart <dons(a)cse.unsw.edu.au>**20070307032249]
[comments for Main.hs, add io_, like io but return ()
Don Stewart <dons(a)cse.unsw.edu.au>**20070307032139]
[comments, rename 'l' to 'io', and state explicitly that we use GeneralizedNewtypeDeriving
Don Stewart <dons(a)cse.unsw.edu.au>**20070307030351]
[move thunk.hs -> Main.hs. Be precise about which versions of every package are known to work
Don Stewart <dons(a)cse.unsw.edu.au>**20070307025535]
[add more readme details for finding dependencies
Don Stewart <dons(a)cse.unsw.edu.au>**20070307025310]
[depend on the X11-extras package
Don Stewart <dons(a)cse.unsw.edu.au>**20070307024838]
[Flatten module hierarchy
Don Stewart <dons(a)cse.unsw.edu.au>**20070307022332]
[add readme
Don Stewart <dons(a)cse.unsw.edu.au>**20070307022301]
[add license stuff to .cabal
Don Stewart <dons(a)cse.unsw.edu.au>**20070307022252]
[more stuff for .cabal file. Add example of include path to use on OpenBSD
Don Stewart <dons(a)cse.unsw.edu.au>**20070307021504]
[Initial import.
Spencer Janssen <sjanssen(a)cse.unl.edu>**20070307013527]
Patch bundle hash:
69c0cc11f416609cc0d806391d21f2226770aae0
2
3
Tue Jan 27 19:41:45 CET 2009 quentin.moser(a)unifr.ch
* XMonad.Prompt autocompletion fix
Wed Jan 28 01:17:02 CET 2009 quentin.moser(a)unifr.ch
* Easier Colorizers for X.A.GridSelect
3
3