[xmonad] darcs patch: Add a LayoutCombinator class and a CombinedLayout and ...

Brent Yorgey byorgey at gmail.com
Tue Jan 29 17:33:04 EST 2008

On Jan 29, 2008 2:57 PM, Andrea Rossato <mailing_list at istitutocolli.org>

> On Tue, Jan 29, 2008 at 08:41:28PM +0100, Andrea Rossato wrote:
> > Tue Jan 29 20:29:03 CET 2008  Andrea Rossato <andrea.rossato at unibz.it>
> >   * Add a LayoutCombinator class and a CombinedLayout and port
> PerWorkspace to the new system
> just to let you know that this will be amended. I'm going to remove
> the necessity of implementing doFirst (it was needed just to decide
> which layout description to use)!

Yes, this is a problem with PerWorkspace in particular -- the description
method is pure, but the chooser method must be in the X monad to have access
to the current stackset, in order to figure out which workspace is current.
So in order to get the description method right, the decision of chooser
must be cached as part of the data type so that description can show the
description for the correct layout.  This is what PerWorkspace used to do.

This only means that PerWorkspace is not a particularly good example of the
power of CombinedLayout, but in general I think CombinedLayout is great.

There is another problem with PerWorkspace which I will detail in a later
e-mail.  To make a long story short, PerWorkspace is an awful, ugly hack,
and I'm sorry now that I wrote it. =)  I'd like to propose moving this
functionality into the core, but in a later e-mail I will detail my
arguments for this along with a patch and various proofs of safety.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/xmonad/attachments/20080129/a4ce95fb/attachment.htm

More information about the xmonad mailing list