[xmonad] darcs patch: Decoratione: generate rectangles first, and create win...

Andrea Rossato andrea.rossato at unibz.it
Wed Feb 20 15:53:20 EST 2008


On Wed, Feb 20, 2008 at 06:24:08PM +0200, Roman Cheplyaka wrote:
> However, with your modification single window also has tab, and in
> Tabbed it doesn't. Maybe this toggles the bug (first window's tab
> doesn't appear when the second window opens).

Decoration derives from Tabbed. When I made it a layout modifier it
was creating a decoration window for every (Window,Rectangle) returned
by the underlying layout. Then the DecorationStyle class method
'decorate' was going to be called, and if it returned a Just Rectangle
that window was going to be shown, otherwise it was going to be hidden.

Yesterday patches changed all that: now 'decorate' is called and if it
returns a Just Rectangle we create a window, while if it returns
Nothing we do not.

The problem is that I forgot to write the code for what reasonably
follows from that. That is to say: if in a successive call 'decorate'
is going to change its mind and return a Just Rectangle, we must
create a window. And this was not going to happen. And this was
visible only with David's TabbedDecoration style, and only if you were
starting to use it without any windows (that is to say, if you started
that layout in an empty workspace, and I must confess I've never tried
that).

(btw: I had some notes in my source to write that part too, but I
didn't realize it was necessary till this afternoon, and thanks to
Roman!)

Andrea

ps: obviously I wrote this message to inform you that I pushed the
fix.


More information about the xmonad mailing list