[Xmonad] darcs patch: move Spiral to LayoutHelpers. (and 3 more)
droundy at darcs.net
Sat Jun 23 17:34:03 EDT 2007
On Sat, Jun 23, 2007 at 02:21:15PM -0700, David Roundy wrote:
> Here's a massive patch to move code over to the new doLayout. I don't
> recall what tabbed+Xinerama did before, but right now the tabs are only
> properly printed on the screen that has focus (at least using LayoutScreens
> to fake Xinerama). I haven't figured out why this is, and am tired, so
> this is where this is going to be left for the day. It doesn't seem to me
> like a big deal, since you can't click on those tabs until you put the
> focus on that screen. Not that I don't want to fix it, but I would like to
> see these patches applied in spite of the problem, since this particular
> breakage is mild enough that it shouldn't hurt anyone's productivity.
Regarding this breakage, it occurs to me that it's probably becaused only
the focussed layout gets redraw messages. This (presumably) worked because
LayoutHooks attached the hooks to the focussed layout, rather than the
layout that is adding the hooks, which put them on a different layout, but
that worked all right, but seems ugly to me. OTOH, ugly but working has
much to be said for it. Still, if we want general purpos hooks unrelated
to any particular layout, I'd say that sticking them on a random layout is
the wrong thing to do.
Now that I know what the trouble is, I also have a good idea what the right
fix is: we should examine events and send messages to the layout associated
with the screen on which the event is located. At least, if this is
possible, that's what we should do. I think most events have a location
associated with them, or a window...
Another easy fix might be to simply send unidentified events to all visible
layouts. We don't want to do this with key strokes, but mouse events, etc
should be harmless.
More information about the Xmonad