Session save files



Hi All,

The gnome-libs currently provide config prefixes for saving
session data that are based on the SM client id. This has a
drawback because gnome-session can end up saving more than
one set of session data under a single client id (when using
"named" sessions). This means that you can have two instances 
of the same app using the SAME session save file and they then 
corrupt each other's data.

I have a patch for gnome-client.c that solves this problem
without changing the API. It generates a unique config prefix
for every session save. This is the same approach used
by gnome-smproxy to save its data.

However, this patch does change the user's interface to the
session manager on the command line. At present, the user
can clone a copy of a saved instance of "app" using the command:

$ app --sm-cloned-id YYYYYYYYYY &

The session manager restarts this client using the command:

$ app --sm-client-id YYYYYYYYYY &


Under the new regime the user would clone a client using

$ app --sm-config-prefix /app-XXXXXX/ &

and the session manager would restart it using the command:

$ app --sm-config-prefix /app-XXXXXX/ --sm-client-id YYYYYYYYYY &


NOTE BENE:

This change will mean that gnome-session fails to RELOAD OR DELETE
any session save data saved by clients under the old regime (this
excludes the panel which does not use the gnome-libs config prefixes).

The old format files appear in ~/.gnome and have names like:

   app-id#YYYYYYYYYY

You can recover the information in these old files by creating
clones of those clients under the new regime:

$ app --sm-config-prefix /app-id#YYYYYYYYY/ &

These clones will save their session data into files compatible 
with the new regime when the session ends. You can then delete
the old files manually.

Does anyone have any problem with these changes ?

Felix



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]