Session Management Proposal

Lubos Lunak l.lunak at suse.cz
Wed Jan 7 14:07:16 EET 2004


On Saturday 03 of January 2004 04:50, Ray Strode wrote:
> Hi,
>
> Attached is the latest version of the DSME. As always,
> improvements appreciated.
>
> It is also available as HTML here:
>
> http://www.grokthecruft.org/dsme/
>
> If there are no major concerns with this after 2 weeks,
> then I'd like to put it up on freedesktop.org.  That
> should give those on vacation for the holidays time to
> look it over and make comments or suggestions if
> required.

 I have a couple of comments:

 Window managers:
- Client Role - _DSME_RoleWindowManager : I don't like the part suggesting the 
session manager should ensure there's only one WM running. First of all, 
there's already a way how to make sure WMs don't clash, the proper way being 
the manager selection described in ICCCM section 4.3, the less proper but 
still working way being the fact that only one client can select for the 
essential root window events. Moreover, suppose you run non-Xinerama dualhead 
with one WM per screen - the session manager would actually break things here 
if it tried (incorrectly) to ensure there's only one WM running.
- Also, I have a special hack in ksmserver+kwin for session saving, making 
kwin perform saving in phases 0 and 2. There's no phase 0 of course, but the 
WM actually needs to perform saving both before and after other apps save - 
before if you want to save active window, active virtual desktop or stacking 
order (because the 'save?' dialogs may change that), and after ... well, 
that's obvious. Could such ordering be guaranteed?

 Another thing is the startup sequence (this may be partially the same like in 
the 'Third-party sessioning requests' thread):
- If I understand the proposal, all things that should be started by the 
session manager have to register with it and save in the session. And, in 
order to do that, they need to be running I guess. And in order to run, they 
need to be started by the session manager ... - so, how will they be run for 
the first time?
- So, it's either a) how will the session manager know what to run for the 
first time? or b) if it will have some predefined defaults specific to its 
desktop, what's the point of standardizing this?
- Could you perhaps describe how it works in GNOME now? In KDE, the startkde 
script launches the splash, the daemons (kdeinit,dcop, etc.), kcminit 
(control center modules initialization code), lauches ksmserver. Ksmserver 
reads $KDEDIR/share/autostart, where further applications to be started are 
listed as .desktop files; ksmserver first starts the WM, then apps from the 
autostart dir listed in phase1 (default), possibly ordered by their 
autostart-after= field, then it restores all session saved apps, and then it 
starts apps from the autostart dir listed in phase2. There's also the 
Autostart folder for users, which is handled by kdesktop I believe.

 BTW, the ordering in the proposal seems a bit strange to me as well. Why 
should the WM be started even before setup apps? And wouldn't it be actually 
better to use something like our start-after? You don't actually care when 
exactly the app will be started, you just know it has to be possibly started 
after something.

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l.lunak at suse.cz , l.lunak at kde.org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/



More information about the xdg mailing list