[xmonad] The future of PerWorkspace

Andrea Rossato mailing_list at istitutocolli.org
Fri Feb 1 08:24:29 EST 2008

On Fri, Feb 01, 2008 at 07:59:54AM -0500, Brent Yorgey wrote:
> On Fri, Feb 1, 2008 at 1:48 AM, Andrea Rossato <
> mailing_list at istitutocolli.org> wrote:
> > Yes you did. You actually did miss quite a lot of the stuff I've been
> > sending recently. You are not the only one, though.
> >
> Hey, there's no need for that.  You have been sending rather a lot of stuff
> lately, you know, you can't blame people for not quite being able to keep
> up. =)

I did not intend to blame anyone for that, and if I gave that
impression I really beg your pardon. I'm really tired and maybe I'm
loosing the ability to calibrate my words, but I just wanted to say
that, yes, I had sent a proposal for a xinerama safe implementation of
PerWorkspace (not the details but the general ideas... the code is

> Andrea, I would like to point out that having methods like
> doLayoutInWorkspace and so on have nothing to do with the viability of your
> LayoutCombinator class.  These methods have only to do with implementing
> PerWorkspace in particular. In fact, I rather liked your LayoutCombinator
> class and would like a chance to try implementing PerWorkspace using it
> together with sjanssen's approach of special messages sent by a startup
> hook.  I would like to ask if you can just re-push your LayoutCombinator
> class and CombinedLayout combinator, without making any changes to
> PerWorkspace?  That way it will not break anything and we can play around
> with implementing things in terms of it.

I didn't revert as a retaliation measure...;) It's a couple of days
that I keep repeating that a LayoutCombinator class is broken due to
the type signature of description, and I do not think is right to push
in a public repository of an important collaborative project like ours
code that I know is broken.

Since I see this problem very clearly, I thought it should be evident
to others too. It is not. So I decided to revert, and discuss we you,
guys, about the issue:

When we reach an agreement on how to write that class correctly, we
will push back.

I was a bit harsh, I must confess that, because when I said that type
signature was wrong I got answers as if I were a newbie who doesn't
get the beauty of pureness. I was just talking about the beauty of
pureness at a higher level of abstraction, in xmonad class system...;)
> Again, you seem to be confusing the issue of the type of 'description' with
> the problem of getting PerWorkspace to work with xinerama.  The above code
> still would not work with xinerama, which is my main goal.  It also still
> does not work with messages that may be sent to a non-focused workspace.

No I do not.

1. xinerama issue -> doLayoutInWorkspace, emptyLayoutInWorkspace, handleMessageInWorkspace
2. LayoutCombinator class -> description type

If I solve 2 and I get 1 the PerWorkspace implementation is 3 lines

If I get 1 but I don't get 2 the implementation of PerWorkspace is
longer but can be done. But in this case the LayoutCombinator class is
bugged: either you confine it to pure combinators only (Choose,
NewSelect and ToggleLayouts could be implemented, if I remember
right), but PerWorkspace cannot be implememented.

> No, it wasn't; there is still the issue of messages sent to non-focused
> workspaces, which probably wouldn't cause any problems most of the time (so
> it appeared to work) but could cause subtle bugs.  I sent an explanation of
> this to the list earlier.

I hope what I said above clarifies my point. but you are right, in
some of my messages I did some confusion on the two points (but
believe me, the problem is quite clear to me).

Hope this helps.


More information about the xmonad mailing list