
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