Re: Saving and restoring application state


On Monday, April 6, 2015, Casey Jao <casey jao gmail com> wrote:
Some time ago Gnome had some option to automatically save and restore the state of the user's desktop session, but that option seems to have been removed. Are there any plans to bring back that feature?

No, GNOME never really had any feature dealing with saving and restoring session state - it was always up to the individual apps to ensure that happened.

That ability is arguably even more important now than before since Gnome software has started asking the user to reboot for all software updates. 

Again, this is something that is done by Software on Fedora - though yes, it's arguably the only sane solution on an OS that mixes apps and core libraries, as well as apps and plugins.
If users are asked to interrupt their workflow and quit everything they have open in order to update their browser, they may simply choose to postpone software updates. This is obviously not optimal from a security point of view. But the average user isn't likely to appreciate this; putting off updates in order to avoid rebooting became so ingrained in the Windows culture that that Windows started forcing reboots (even at the cost of data loss) to make users apply security patches. A robust session restore capability that lets users easily resume where they left off would help reduce the cost of keeping up with security updates. 

It seems that several other desktop environments have some ability to restore all windows at the next login. KDE and Xfce for example can both do this, at least for applications written in the native graphical frameworks. 

No. Both KDE and Xfce use the old X11 XSMP protocol which is provably impossible to implement completely and correctly. It only gives you an illusion of working in a limited set of use cases, and that's why nobody actually implements it. Every person that actually tried implementing session state management using it hates it and has given up.
Similarly OS X added some time ago a systemwide API for applications to save and restore their state. Are there any similar plans in the works for Gnome/GTK?

The MacOS CoreData API is fairly complex, and has both a toolkit side and an application side. It's meant to be used to save state for every document change, not just for application state. It also include change tracking and branching, and MacOS developers do t find it very attractive because of the added complexity.

We do need some application API to serialise and deserialise state; shoving everything into a GSettings schema is not going to cut it. We can use the GApplication API as an entry point, and on GNOME we already get notification when the session is about to terminate.


[ ] ebassi []

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