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

Spencer Janssen sjanssen at cse.unl.edu
Fri Feb 1 21:15:25 EST 2008

On Fri, Feb 01, 2008 at 10:21:19PM +0100, Andrea Rossato wrote:
> On Fri, Feb 01, 2008 at 03:00:47PM -0600, Spencer Janssen wrote:
> > I think this solution is *really* ugly.  Also, I don't think we can necessarily
> > rely on the property that decorations windows are the only override-redirect
> > windows in the windowset.
> Sorry Spencer, 
> but I deduce, from your words, that all my job has been base on
> completely false assumptions, and probably we must have some serious
> code review.
> I'm not kidding, and I'm not ironic. I do really take into
> consideration of just being plainly wrong on everything. You know I
> have high respect for your knowledge.
> 1) 
> handle (MapRequestEvent    {ev_window = w}) = withDisplay $ \dpy -> do
>     wa <- io $ getWindowAttributes dpy w -- ignore override windows
>     -- need to ignore mapping requests by managed windows not on the current workspace
>     managed <- isClient w
>     when (not (wa_override_redirect wa) && not managed) $ do manage w
> 2) a window with override_redirect *must* always pass true.
> 3) no modifier is allowed to change the stack set! they can *only*
> manipulate the (window,rectangle) list to be returned in
> Operations.windows. Modifier *DO NOT* manipulate the stack. Once
> "restackWindows d vs" has being called, track of layouts/modifiers'
> activity can be found only in the layout field of the workspace type.
> If any of these three assumptions is false, we should probably
> consider to revert immediately.
> I'm serious, and I understand that we must provide a certain level of
> code correctness.
> Cheers,
> Andrea

Well, my objections to using override-redirect to identify decorations are more
philosophical than practical -- it is probably "good enough" for now.  The
suggestion to use an window property instead is a good one, I think.

But that's neither here nor there.  My real objection is that we're removing
windows that shouldn't have been in the output in the first place.  Doesn't
that seem more like we're working around Decorations than working with it?

Point 3 is about the other thread we're having with clickable tabs/decorations,
right?  I'll respond in that thread.

Spencer Janssen

PS -- Calm down!  Your work is good, I just think we need to evolve it a bit.

More information about the xmonad mailing list