Session Management Proposal
halfline at hawaii.rr.com
Sun Dec 28 15:49:48 EET 2003
I'm currently working on improving the session management situation in
GNOME. I've adopted Havoc's msm module from GNOME CVS and am working
on making it a viable replacement for the current gnome session manager.
The XSMP spec is lacking some features that would be useful for desktop
1) Session managers have no way of knowing localized names for
their clients. This means that there is currently no nice way
for session managers to present clients to the user (in error
messages, splash screens etc). Current session managers work
around this by employing internal SmProgram mapping hacks, but
that is clearly suboptimal.
2) It would also be nice if each client told the session manager a
preferred icon name (again for splash screens, etc).
3) Some desktop environments have certain programs which provide
integral functionality for the environment's proper operation.
These programs need to be treated specially. For instance, for
most desktop environments the window manager should probably be
the first program started on login. Also, other fundamental
programs like panels, desktop icons, etc., should probably be
loaded before normal applications. Furthermore, if for some
reason a restored session is lacking one or more of these
fundamental programs then it would be a good thing if the
session manager could optionally start them up.
The easiest way to solve these problems is to have each client
tell the session manager, e.g. "I'm a window manager" or "I'm
just a normal application" (or whatever).
4) Also, users may want to control what order certain programs in
their desktop are loaded on login. Some session managers
implement a Priority property where programs of lower priority
get loaded first, which seems like a reasonable solution.
Furthermore, in the past it was agreed that parts of the XSMP should be
simplified/reinterpreted. I think there is enough to be done that
this stuff should be formally standardized. Attached is an initial
draft. I've also posted it online at http://www.grokthecruft.org/dsme/
If everyone agree that this document is useful, I would like to get it on
* The document uses a _NET_ namespace for the properties. Is that
okay, or should something else be used?
* Are there enough role types? Are there too many? If it seems
like more will be needed, then the property may have to change to
ARRAY8 instead of CARD8.
* The proposal currently says that the discard command should be
run on /all/ clients following a SaveYourself message with Global
save type. Would it be better to only run the discard command of
non-spec-compliant clients? This would mean adding some property
to the documents for clients to set that says, "I'm dsme
* The proposal currently says that users should get involved
whenever there is a SaveYourself message with Global save type
(e.g. "Do you want to save 'Foo.bar'?"). Would it be better to
skip those messages if fast is set? I'm thinking of the case
mentioned in the XSMP where the power is about to go out and the
UPS is trying to shutdown quickly before the power gets cut. I'm
not sure if automatically saving all open documents without
asking the user is less evil than not shutting down at all
because the shutdown is waiting on a confirmation dialog to
close, but if it's decided that automatically saving all
documents is the desirable thing to do, then we should add
something to the spec about it. Note there is some potential for
abuse because a broken/malicious program could have every open
document on the desktop saved right under the user's nose whether
the user wants all the documents saved or not.
Comments, suggestions, and additions appreciated.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 17939 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/xdg/attachments/20031228/8aea64cf/attachment.bin
More information about the xdg