[xmonad] Issue 131 in xmonad: We need a mouse interface to the decoration layer

codesite-noreply at google.com codesite-noreply at google.com
Fri Feb 1 15:34:55 EST 2008


Issue 131: We need a mouse interface to the decoration layer
http://code.google.com/p/xmonad/issues/detail?id=131

Comment #1 by andrea.rossato:
I'm starting to think, and I would like some feed back on that, that 
the separation
between arranger/decoration is a bad design choice, since a messaging 
system is
probably impossible.

I must confess I had/have the (probably unjustified) hope that by 
solving #111 we
would have a safe messaging system where a modifier can send a message 
to another
modifier (or the underlying layout) and have this one return Just (with a
Operations.windows call), without entering a recursive non terminating 
loop: like a
safe "focus w" call.

A second dream was this: have the first modifier send a message, have 
the second
respond with a send message to the first while returning Nothing.

- Decoration to arranger: send me the arranger state.
- Arranger to decoration: here's my state >> return Nothing

and then decoration set rectangles and attributes. But I think this is 
not working too.

The idea of the separation came from the thrill of an arranger 
implemented with pure
code and the arrow interface ;).

But if the arranger cannot modify itself without returning just, mine 
are just
dreams, and the design is broken.

The fact that the design is broken can be proved this way: if you put 
the arranger
over the decoration and you start moving, you'll see that the 
decoration is one step
behind.

Joining them would probably make the code ugly: Decoration *cannot* be pure.

I hope someone can come up with a better strategy and give me some direction.



-- 
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings


More information about the xmonad mailing list