GNOME Bugzilla – Bug 151775
guidelines for saving application state
Last modified: 2021-07-05 10:53:57 UTC
Hi, Currently, Rhythmbox saves its state in GConf. This includes not only its window position, but also the position of panes, whether the song browser is shown, etc. This is in contrast to how applications like gnome-terminal and epiphany work - they save their session state in a .xml file. I think the major difference here is actually "single-instance" versus "multi-instance" applications. It doesn't make any sense to have multiple copies of Rhythmbox open. Therefore, from the user's perspective, it's nicer to save the session state "immediately" when they close the application. It would be nice to have some guidelines about this in the HIG - what are your thoughts on this issue?
We certainly need some consistency here, although I'm not sure how much of this should (ideally) be handled by the session manager, and how much the application should have to do itself. There's no reason why the HIG shouldn't specify the desired behaviour though, at least until the day that it's so automated that an app developer doesn't have to worry about it any more. I'm not sure it's really the HIG's job to dictate how that behaviour should be achieved, though (be it GConf, XML file or whatever).
I agree - I'd just like some guidelines about when things should be saved and what should be saved, not necessarily how.
This is one of the issues that came up in our discussions about the GNOME 3.x HIG at the London Usability Hackfest: http://live.gnome.org/UsabilityProject/HIG/ThreeZero Setting target to 3.x accordingly.
We have a page on application basics. It could be nice to add something about this here. Nowadays, we don't go in for configurable UIs as much as in the past (although it still happens). There are other aspects of restoring state though.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-devel-docs/-/issues/ Thank you for your understanding and your help.