[xmonad] darcs patch: Add windowRemover for make tabbed return just the focu...

Andrea Rossato mailing_list at istitutocolli.org
Mon Feb 4 07:43:57 EST 2008

On Sun, Feb 03, 2008 at 08:25:55PM -0500, David Roundy wrote:
> Spencer is right that returning all the windows in a tabbed layout
> causes trouble, in particular my WindowNavigation setup with tabbed
> and combineTwo breaks.  But I really like your approach of separating
> the decorator from the actual layout, it's very clean.  I took the
> liberty of making Decoration remove the duplicate windows as it adds
> the decorations.  This seems to me like the "right" approach (or
> perhaps I should say *a* right approach), as it only removes windows
> that have precisely the same rectangle, and it's not clear to me that
> you ever really want to actually make visible two windows that
> entirely overlap.  This is also nice, in that at this stage there's no
> trouble telling which are decorations and which are "real" windows.

I don't have ready access to the source, now (I just had a glance from
the web and, I must confess, I didn't get it at first sight, and I'm
not in condition to have a closer look), and moreover I cannot even
test it rapidly.

But from your wording and this comment: 

-- We drop any windows that are *precisely* stacked underneath
-- another window: these must be intended to be tabbed!
I may have the feeling you did not get precisely Decoration's task and
the TabbedDecoration style. I may just be wrong (in which case this is
just the obvious for you), but a tabbed decoration is *not* a tabbed
layout, and a tabbed decoration may be (and can be) applied to a
Circle layout or to any tiled layout, just to have a place where you
can see the names of all windows. That was a feature requested, that
Decoration makes possible.

Moreover Decoration is also used to decorate with the DwmStyle or the
SimpleDecoration style (I'm using this with my sipmeFloat layout,
which is actually my default layout, now).

Decoration is just an abstraction layer over xlib calls to create,
hide, and remove windows. The creation, hiding and distraction is, how
can I say, type controlled.

Sorry if this is just noise.


More information about the xmonad mailing list