oops, forgot to cc: the list!

On Fri, Feb 22, 2008 at 1:27 PM, Andrea Rossato <andrea.rossato@unibz.it> wrote:
On Fri, Feb 22, 2008 at 07:12:31PM +0100, Andrea Rossato wrote:
> Hi,
>
> this is my proposal for a Xinerama safe PerWorkspace.

Hm, this does not work for me.  All workspaces have the first layout and never switch to the other one, even after opening new windows, hitting mod-space, mod-shift-space, etc.

In general, however (assuming it could be made to work) I like this idea: moving runLayout into the LayoutClass, with a slightly different signature (so that it receives the whole Workspace rather than just the layout to use) seems like a fairly elegant solution.  The major difference between this and my proposed startupHook solution (see here and here) is that this solution, like the previous incarnation of PerWorkspace, cannot figure out which workspace to use until runLayout actually gets called.  In and of itself this is not necessarily a big problem (although I find it slightly annoying).  However, because of this I must disagree with your decision to change Maybe Bool to Bool in the PerWorkspace data structure.  Before runLayout is called, the only reasonable thing to do is show a generic description (such as "PerWorkspace") and pass all messages on to both underlying layouts, rather than use the wrong layout on some workspaces.  At any rate, even if Bool is retained rather than Maybe Bool, the sensible default would be False rather than True, since this would select the 'default' layout by default, instead of the workspace-specific layout.

cheers,
-Brent