
When you start a KDE/xmonad session, KDE's session manager restarts applications whose state was saved when the previous session was closed. But under xmonad, these restarted applications open on the wrong desktops. This sometimes creates quite a mess. This seems to be yet another symptom of xmonad and KDE not cooperating about multiple desktops, as illustrated by the fact that things go awry when the number of desktops is set greater than one in KDE. Is this also a problem on Gnome or Xfce? Is there any way to get xmonad and KDE to agree with each other about multiple desktops? Thanks, Yitz

On Sun, Apr 27, 2008 at 06:44:21PM +0300, Yitzchak Gale wrote:
When you start a KDE/xmonad session, KDE's session manager restarts applications whose state was saved when the previous session was closed. But under xmonad, these restarted applications open on the wrong desktops. This sometimes creates quite a mess.
This seems to be yet another symptom of xmonad and KDE not cooperating about multiple desktops, as illustrated by the fact that things go awry when the number of desktops is set greater than one in KDE.
Is this also a problem on Gnome or Xfce? Is there any way to get xmonad and KDE to agree with each other about multiple desktops?
Thanks, Yitz
xmonad does not support the session management protocol, which is what I assume you're seeing. Are you using EwmhDesktops? Cheers, Spencer Janssen

I wrote:
...under xmonad, these restarted applications open on the wrong desktops.
Spencer Janssen wrote:
xmonad does not support the session management protocol, which is what I assume you're seeing.
I don't think xmonad needs to support that - it doesn't need to save or restore state. KDE does that part.
Are you using EwmhDesktops?
Yes. I guess the first question would be, does that protocol support a notion of multiple desktops? If so, can we use it to synchronize the notion of desktop in xmonad and KDE? I have a suspicion that this is not going to be so simple. Thanks, Yitz

On Apr 27, 2008, at 12:56 , Yitzchak Gale wrote:
I don't think xmonad needs to support that - it doesn't need to save or restore state. KDE does that part.
Actually it does --- KDE can only save and restore state if the client understands the WM_SAVE_YOURSELF protocol and posts a WM_COMMAND in response. It is, however, irrelevant; we should not be remembering that state. We *should* restore it, but don't; see below.
Are you using EwmhDesktops?
Yes. I guess the first question would be, does that protocol support a notion of multiple desktops? If so, can we use it to synchronize the notion of desktop in xmonad and KDE?
I suspect the issue is that, while there seems to be code in EwmhDesktops to support applications requesting workspaces, it doesn't seem to work. Possibly we're not listening for the PropertyNotify that's sent when the current desktop attribute is set on the window. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

I wrote:
I don't think xmonad needs to support that - it doesn't need to save or restore state. KDE does that part.
Brandon S. Allbery KF8NH wrote:
Actually it does --- KDE can only save and restore state if the client understands the WM_SAVE_YOURSELF protocol and posts a WM_COMMAND in response.
I was thinking of apps that do understand session management. But yes, we should also be able to do a simple re-open for apps that don't, with correctly restored geometry. KWin does that. -Yitz

On Apr 27, 2008, at 17:35 , Yitzchak Gale wrote:
I wrote:
I don't think xmonad needs to support that - it doesn't need to save or restore state. KDE does that part.
Brandon S. Allbery KF8NH wrote:
Actually it does --- KDE can only save and restore state if the client understands the WM_SAVE_YOURSELF protocol and posts a WM_COMMAND in response.
I was thinking of apps that do understand session management. But yes, we should also be able to do a simple re-open for apps that don't, with correctly restored geometry. KWin does that.
I think we're talking at cross purposes. We don't save or restore state for other applications; we *should* save and restore our *own* state: the same screen/workspace state preserved across Cmd-Q but without any windows, as it's the session manager's and restarted applications' jobs to recreate those. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

On Sun, Apr 27, 2008 at 04:40:32PM -0400, Brandon S. Allbery KF8NH wrote:
Are you using EwmhDesktops?
Yes. I guess the first question would be, does that protocol support a notion of multiple desktops? If so, can we use it to synchronize the notion of desktop in xmonad and KDE?
I suspect the issue is that, while there seems to be code in EwmhDesktops to support applications requesting workspaces, it doesn't seem to work. Possibly we're not listening for the PropertyNotify that's sent when the current desktop attribute is set on the window.
Actually, the KDE pager is able to select xmonad workspaces for me (using a possibly somewhat out-of-date darcs version of xmc). It does fail after I've deleted a workspace, however. :( Definitely could use some work. Still, it's already a much more friendly way for my wife to change desktops than to try to teach her obscure keyboard commands for a computer she hardly ever uses (since she has her own non-xmonad-running laptop). -- David Roundy Department of Physics Oregon State University
participants (4)
-
Brandon S. Allbery KF8NH
-
David Roundy
-
Spencer Janssen
-
Yitzchak Gale