
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.