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