Gnome Session Manager

This is still a work in progress.  Here's my plan of attack:

* Additions to property configurator:
  * Name of session?
  * Mark the name of the default session?
  * Whether session is saved per-display?  (Maybe only for this display)
  * Ability to look at list of sessions and remove some
    (This is how to clean up after per-display sessions)
  * Ability to turn off SM entirely
  * Ability to checkpoint *now* and then use this as session -- no
    saving at log out (except in emergency)

* Documentation!

* Look at .xsm files - clean up?  move into gnome-conf?

* Add remote-start capabilities, like XSM.  However, support krsh and
  ssh as well.

* Implement RestartImmediately hint.

* Write code that understands resign commands
  (This doesn't seem very important in practice)

* Write a user interface of some sort.
  Should talk to sm via CORBA

* Save and restore more of the standard properties.
  CurrentDirectory at least is useful

* Write code to use timeouts in useful places.
  A session save shouldn't hang because of one losing client.
  [ This is complicated if we have clients which are also managers.
    We'd like the sub-manager to time out before the parent manager
    does. ]

* Export a CORBA interface exposing all interesting functionality
  (See Elliot's IDL in components/)
  E.g., save current session and start a different one

* Report exec errors in some useful way

* Change session management code into library that can be used
  by embedder apps.  This probably requires merging with
  gnome-client.[ch], since the resulting program will have to be both
  a client and a server, and the two parts must collude.
  It isn't clear that this will actually be useful.


I don't have a schedule for this work.  Feel free to hack on it if you
feel like it.  Please contact me if you do so.

	Tom Tromey
	tromey@cygnus.com

================================================================

Some known bugs:

- None??

================================================================

The default profile:

We'll provide a default profile so that first time users will see
something sensible.  The current thinking for the default profile:

* Whatever magic Gnome programs are required (i.e., CORBA daemons)
X A window manager (not sure which one yet; it depends on what is
  available, easy-to-use, and Gnome-compliant)
  [ we handle this by letting the package builder choose the default ]
X The panel
X The file manager opened to `~'
X The help browser opened to an "About Gnome" page
X smproxy

================================================================

Some random stuff:

- handle initialization commands

- make rsh stuff configurable somehow
  in particular support ssh and `rsh -x'
  (if we ever have the rsh/rcp VFS, then it would be cool if both shared
  the same config info.  E.g. map host onto the name of the rsh-like
  program used to access it)

- If program crashes during save yourself, gsm doesn't notice
  and will hang
