GNOME Bugzilla – Bug 160712
"Unsaved settings" warning dialog on logout confusing; should shoot XSMP
Last modified: 2020-11-06 20:07:28 UTC
On logging out of GNOME with a non-GNOME compliant application open, a modal dialog is displayed saying "The following applications' states will not be saved". As this dialog is semi-modal[1] and only has an OK button, it serves no purpose except to slow down the user's logout and confuse them. The user can't click "cancel" and go make sure the application in question has saved my document. He can't just press return to clear the dialog, as the OK button doesn't have keyboard focus by default. Sometimes the dialog appears below other applications, so the user has no idea why their system has hung on log out until they go searching through the taskbar. One solution would be to put a "cancel logout" button on the dialog and have the keyboard focus on the ok button. [1] I say semi-modal as it seems to disable some window manangement functions, making navigating the desktop with the dialog open harder.
Yeah. Totally poor- a basically useless dialog, as you say. Marking it 'major' and adding the usability keyword.
bug #308817 suggests to autoclose the dialog
Yeah... a long time ago I also suggested that rather than popping up a dialog at all, maybe gnome-session should just save a list of those apps somewhere in your homedir, and just fire them up again the next time you logged in. Of course they wouldn't re-open with the files you had open last time, but more than likely they'd be top of that app's recently-used file list/menu anyway. Admittedly that still doesn't give you the chance to save any open files in those apps before you log out, though, which should at least be an option. (FWIW, we just disabled this dialog in JDS, because it's pointless and somewhat of a security risk if somebody just hits 'log out' and goes home for the evening without expecting to have to click through another dialog.)
*** Bug 313141 has been marked as a duplicate of this bug. ***
If a non-SM managed app is closed incorrectly it may loose data - BAD. The list is a good idea, BUT, it should let the user cancel the logout and close the apps manually, it should also logout automatically after some reasonable timeout, to safeguard against the sitation Calum described.
Ubuntu bug about that: https://launchpad.net/distros/ubuntu/+source/gnome-session/+bug/35316 ""these windows do not support save current setup" message questionable To reproduce: 1. Log in to a gnome session. 2. Run e.g. rxvt 3. Choose System/Log out 4. Observe that gnome shows a window saying 'Warning: These windows do not support "save current setup" and will have to be restarted manually next time you log in' The message is factually correct and will (I presume) happen if you run any X applications old or primitive enough not to understand session manager messages. The value of displaying this message to typical users to me seems very questionable: - Most users will not be able to take any meaningful action on the dialog other than click OK. They're generally not in a position to fix the application. Telling them about it every single time they logout just just seems like an attempt to bully them into not using those apps. - Lack of automatic restart is the expected behaviour for old non-gnome applications. - If closing other applications takes some time the user may have stopped paying attention to the display by the time the window comes up. e.g. they may have closed a laptop's lid. This dialog prevents the machine from shutting down, which is highly unlikely to be desired by the user. If it is not removed entirely, it should at least have a 30 or 60 second timeout before closing automatically. - The message refers to X11 implementation details that will not be meaningful to most users. - If the user realizes that they actually don't want to quit let they can't cancel the logout at this point, so the dialog is really just mocking them. In fact it's non modal so they can click in other windows to close them, but this is not obvious. There is an argument that some users may have unsaved data in old applications and may forget to save it before quitting their session. Many users will not be in that category - if they use such applications they will be accustomed to automatically saving before quitting. In any case there is already a logout confirmation dialog. if the goal of the dialog is to protect against this case then the emphasis of the message should be on unsaved data, not on the fact that they won't be restarted. I'd like instead a dialog something like this: Some running applications do not support GNOME session management and cannot be automatically saved. Do you want to logout anyhow? You will be automatically logged out in 60...59... seconds. [ ] Don't show this mesage again. [Cancel] [Logout] The text is still a bit jargonish. Ideally "logout" would be replaced with "reboot", "shutdown" as appropriate."
*** Bug 339668 has been marked as a duplicate of this bug. ***
*** Bug 308817 has been marked as a duplicate of this bug. ***
I don't see code for this dialog in gnome-session. Am I missing it? Or was it removed at some point? I'm marking this bug needinfo since I suspect it is close-able. In re comment #3: I think if we overhaul the UI to setting up a saved session, that may go a long way to fixing this problem. As far as non-SM-aware clients go, I think there are two cases. First, if the user runs a non-SM-aware client by hand (from the command line), then IMO that is their lookout. There's just not much sensible we can do with that. The second case is where Gnome (or someone) ships a .desktop file that launches a non-SM-aware client. In this case I think we can write a little wrapper program that launches the program, registers it with the session manager, and sends the subprocess a SIGHUP on logout. This is far from perfect of course.
the small example still behaves the same way with GNOME 2.16.0
(In reply to comment #9) > I don't see code for this dialog in gnome-session. > Am I missing it? Or was it removed at some point? It's actually metacity that shows the dialog, not gnome-session. Moving the bug.
There's another bug with some comments from me on this and a suggestion from mpt The simplest fix is imo also correct, which is turn off the "save current setup" crap entirely (as I believe gnome upstream does or used to by default) - if it worked reliably, the dialog would not come up. But it doesn't and won't work reliably, dialog or no dialog. XSMP is fatally broken for anything except notifying apps that logout is impending and apps should simply save their own state. more on the other bug and in list archives
mpt's comments (referred to by Havoc) can be found at bug 388265 comment 9. I'll post that and another comment from Havoc stating that the dialog *does* have a purpose here and mark that bug as a duplicate of this one. *** bug 388265 comment 8, from Havoc *** We don't "save current setup" automatically on logout anymore, right? I think this dialog only shows up if you explicitly ask to save the session, in which case telling you your explicit request won't work seems plausible. Of course, my general view on XSMP is that it should be taken out and shot precisely because there are and will always be so many apps that it won't work right with, clearly the right usability answer is that instead of having a "this won't work" dialog we should avoid offering features that won't work. While we do have features that won't work, telling people seems possibly nicer than just silently not working, I suppose... I think the original idea here was largely to help get bug reports about "xyz didn't come back after I saved session" sent to the bug tracker for xyz instead of to gnome-session or metacity, which is where most users would assume they should go. *** bug 388265 comment 8, from mpt *** IIRC, Ubuntu has "Save current setup" on by default instead of having a "Save current setup" checkbox in the logout dialog. To make this dialog useful, I suggest: * Make it an actual dialog, replacing the "Close" button with "Cancel" and "$ACTION Anyway" (where $ACTION = "Log Out", "Shut Down", or "Restart"). * Make the list of windows live, each disappearing from the list as it is closed. (The dialog itself should close automatically once the list has been empty for a couple of seconds.) * Change the message so that it doesn't leave the user helpless. For example: "Some programs will not resume automatically when you next log in. You may want to close them yourself now, to ensure you don't lose any work." * Reduce the height of the dialog, so that it's more obvious you can access other windows while it's open. All these would be improvements alone, but they'd be best working together.
*** Bug 388265 has been marked as a duplicate of this bug. ***
I think it's actually a bug that this dialog is shown at all in most cases - it's called from meta_session_shutdown, which seems wrong, as it is displayed unconditionally at the end of every session even for users who aren't saving their session state (most users?). The patch in bug #588119 addresses this so that the dialog is only displayed during a SaveLocal or SaveBoth SaveYourself request, when the user actually wants to save their session state.
bugzilla.gnome.org is being replaced by gitlab.gnome.org. We are closing all old bug reports in Bugzilla which have not seen updates for many years. If you can still reproduce this issue in a currently supported version of GNOME (currently that would be 3.38), then please feel free to report it at https://gitlab.gnome.org/GNOME/metacity/-/issues/ Thank you for reporting this issue and we are sorry it could not be fixed.