[xmonad] darcs patch: new contrib module, Layout.PerWorkspace
Brent Yorgey
byorgey at gmail.com
Tue Nov 20 11:11:57 EST 2007
On Nov 20, 2007 10:01 AM, David Roundy <droundy at darcs.net> wrote:
> On Mon, Nov 19, 2007 at 09:54:06PM -0500, Brent Yorgey wrote:
> > As seen on xmonad@! A module which allows you to configure layouts
> > per-workspace. Testing, comments, criticisms, edits, etc. welcome.
>
> This is buggy when multiple screens are in use, because of the following
> code:
>
> -- figure out which layout to use based on the current workspace.
> doLayout (PerWorkspace wsId Nothing l1 l2) r s = do
> t <- getCurrentTag
> doLayout (PerWorkspace wsId (Just $ wsId == t) l1 l2) r s
>
> There's no guarantee that the *current* screen is the one that's having
> doLayout called. :(
> We also have trouble with:
>
> handleMessage (PerWorkspace wsId Nothing l1 l2) m = do
> t <- getCurrentTag
> handleMessage (PerWorkspace wsId (Just $ wsId == t) l1 l2) m
>
> because the message might have been sent using broadcastMessage rather
> than
> sendMessage, so we again might not be the main workspace.
>
David, thanks for the bug reports. I don't have multiple screens so I
didn't even think about that problem... oops! Unfortunately, I don't have a
lot of time right now, so for the moment I think I will just change the code
to ignore messages received before doLayout gets called, and add a note to
say that it doesn't (yet) work in conjunction with multiple screens. If
someone wants to try fixing it in a more general way, be my guest.
-Brent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/xmonad/attachments/20071120/6210ee9c/attachment.htm
More information about the xmonad
mailing list