[xmonad] Tabbed.addTabs broken?
andrea.rossato at unibz.it
Mon Feb 11 11:01:40 EST 2008
I'm writing here instead of asking over IRC because it's a bit long
and I don't want to generate confusion (I'm quite too good at
There are 2 patches I don't understand.
This one breaks Tabbed.addTabs:
Tue Feb 5 21:23:43 CET 2008 David Roundy <droundy at darcs.net>
* make tabbed work nicely with LayoutCombinators and WindowNavigation.
The problem is that WindowNavigation assumes all windows are navigable, and
it was getting confused by decorations. With a bit of work, we can
decorate windows *after* combining layouts just fine.
since Tabbed now assumes that the windows to be decorated are only
those with the same rectangle:
wrs' = filter ((==r) . snd) wrs
Which is fine only with Simplest. If you use it with some other layout
(which does not give the same rectangle to all windows) then this will
if length wrs' <= 1 then Nothing
It also assumes the decoration to have the same y coordinate of the
window to be decorated - the window must be shrunk. That is to say, if
we were to remove the first constraint, we would end up with a
SimpleDecoration layout modifier. :)
But, as far as I understand, this is needed for WindowNavigation (I do
not understand well its code, and I didn't have time to study it).
Which brings me to this patch:
Tue Feb 5 21:35:56 CET 2008 David Roundy <droundy at darcs.net>
* make WindowNavigation ignore decorations.
where you check the stack to see if a window is a decoration.
There is also another way to check if a window is a decoration, by
checking its attributes (isDecoration :: Window -> X Bool does this).
I'm writing because I wonder if we can remove that constrain from
Tabbed and solve the WindowNavigation problem in another way.
If yes, I can do it (I'll study WindowNavigation). Please David, can
you give me some directions?
ps: this is the reason why I rewrote the instance in
DecorationMadness, with a note that those layouts could be
incompatible with WindowNavigation: now that the mouse UI is almost
finished, I'd like to get this (hopefully last big) issue solved too.
More information about the xmonad