[xmonad] some cleanup

Spencer Janssen sjanssen at cse.unl.edu
Fri Feb 1 03:51:33 EST 2008


On Thu, Jan 31, 2008 at 11:35:38AM +0100, Andrea Rossato wrote:
> Hi,
> 
> I'm now trying to clean up a bit after this long and stressful class
> ride (I even started dreaming about type classes, such is the
> addictive power of this stuff).
> 
> Now I'm going to take a break and enter in a maintainer mode: just
> debugging and docs.
> 
> Spencer: I'm still waiting your decisions about tabbed. Should it
> return all windows and thus use the decoration framework, of should it
> be e separated layout (the previous one) returning just the focused
> window? Please, take a decision, because at the present time tabbed is
> plainly broken (my fault since I gave you wrong information... but I
> was a bit confused when you asked).
>
> Anyway you can just: 1. push a simple patch to make it use Simplest,
> or 2. get a version of the old tabbed and copy it over the new one: it
> should be working out of the box (maybe users will have to import it
> qualified).
> 
> The reason why it should not return all windows is still a bit
> mysterious to me... what you said, I don't remember exactly, seemed to
> me more a bug in the X server then a feature. But I came to be a bit
> confused on the distinction between the two, lately...;)
> 
> Bugs may come to me!
> 
> Andrea

The tabbed layout should only return the focused window -- there are
performance implications (much fewer expose events and repaints generated), it
gives better information to layout modifiers that count the number of returned
windows (like smartBorders), and it's just the right thing to do (non-visible
windows should be in the unmapped state is standard WM convention).  However, I
don't think there's any reason we can't use Decorations.  Of course, we'll need
to generalize Decorations a bit.  There are a few options:

 - Run 'decorate' even on windows that aren't returned by doLayout (perhaps use
   Maybe Rectangle as an argument, where Nothing signifies the window isn't
   visible)

 - Allow 'decorate' to return a list of decorations, rather than a single
   decoration.

I haven't been able to divine the logic behind the code to make either
modification myself, but I might be able to with a bit of documentation tossed
in there :)

I'm inclined to leave the base layout as Full, even though that is slightly
broken at the moment.  Thus are the perils of running software-in-development.


Cheers,
Spencer Janssen


More information about the xmonad mailing list