Re: [xmonad] my proposal for a Xinerama safe PerWorkspace

oops, forgot to cc: the list!
On Fri, Feb 22, 2008 at 1:27 PM, Andrea Rossato
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 herehttp://article.gmane.org/gmane.comp.lang.haskell.xmonad/4392/and here http://article.gmane.org/gmane.comp.lang.haskell.xmonad/4389/) 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

On Fri, Feb 22, 2008 at 03:41:45PM -0500, Brent Yorgey wrote:
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.
can you please send me a sample xmonad.hs to reproduce your problem please? I can tell you that it is working for me with my config and any other configuration I've tried, but this is not going to help anyhow. Thanks, Andrea

On Fri, Feb 22, 2008 at 3:52 PM, Andrea Rossato
On Fri, Feb 22, 2008 at 03:41:45PM -0500, Brent Yorgey wrote:
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.
can you please send me a sample xmonad.hs to reproduce your problem please?
I can tell you that it is working for me with my config and any other configuration I've tried, but this is not going to help anyhow.
Oh! My mistake, it was because I was using 'withUrgencyHook' applied to my config, which sneakily applies a LayoutModifier to the layoutHook. I hadn't noticed it because it was in a different part of my config from the layoutHook, so I thought I had made onWorkspace the top thing in my layout modifier stack, but it wasn't. It works beautifully now. And you're right about runLayout, I take back what I said previously about Maybe Bool and so on. Although I still think 'False' would be a more sensible default than 'True', just on principle. =) -Brent

On Fri, Feb 22, 2008 at 05:10:26PM -0500, Brent Yorgey wrote:
Although I still think 'False' would be a more sensible default than 'True', just on principle. =)
I agree! (also because I do not really remember the reasons of my decision...;). Thanks for your kind words. Cheers, Andrea

On Fri, Feb 22, 2008 at 03:41:45PM -0500, Brent Yorgey wrote: 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.
I'm wondering whether you read the right code: description (PerWorkspace _ True l1 _) = description l1 description (PerWorkspace _ _ _ l2) = description l2 there's not such a thing like a generic "PerWorkspavce" description in my code. Moreover, as I said, I did not port ModifiedLayout and David's combinators. Maybe this is the reason why it is not working for you. But I'm waiting a sample config for that. Cheers, Andrea

On Fri, Feb 22, 2008 at 03:41:45PM -0500, Brent Yorgey wrote:
The major difference between this and my proposed startupHook solution (see herehttp://article.gmane.org/gmane.comp.lang.haskell.xmonad/4392/and here http://article.gmane.org/gmane.comp.lang.haskell.xmonad/4389/) 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).
(sorry for this delayed replays...;) before runLayout there's... nothing! even the first logHook call is done ... *after* the first runLayout call (in windows). cheers, andrea
participants (2)
-
Andrea Rossato
-
Brent Yorgey