summaryrefslogtreecommitdiff
path: root/gnome-session/TODO
blob: 55400fde01e37dc93968e67b381d5f469bb1b192 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Note to readers:

	This TODO is likely to be *way* out of date. It hasn't
seen an update since 1999/07/16.

Mark McLoughlin - 2002/07/16. 

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

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!

* save/restore DISPLAY and some other env variables
* Save and restore more of the standard properties.
  CurrentDirectory at least is useful

* 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


* 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.

* support krsh and ssh as well in rstart

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:

- gsm doesn't keep track of user information
  if program is run by a different user, should try *something*
  (what to do with rstart at least is obvious)

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

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