To anybody interested in bug report 922, "when logging out with unsaved file, trinity does not ask to save it":
There is a temporary work-around:
In $TDEHOME/share/config/ksmserver, add the following:
[Logout] showFancyLogout=false
That key controls the gray fade effect feature when the user has "Confirm logout" enabled in the Session Manager module. The gray fade effect was part of KDE3. The underlying ksmserver configuration options were added in Trinity. Not yet implemented are the KControl user controls.
Calvin is working on that, which will resolve bug report 258. Those new KControl options will provide a user-direct method to change the showFancyLogout feature.
Setting showFancyLogout=false disables the fade effect but serves as a temporary work-around to apps not saving files when the user decides to logout of the session.
The problem occurs in tdebase/ksmserver/shutdown.cpp, starting at line 164.
The code there reads the value of showFancyLogout and defaults to true when the value is not found. Because the KControl options do not yet exist, almost nobody has those keys in their user's ksmserver configuration file. Therefore the code always defaults to true.
Setting the internal code variable to true starts the non modal feedback dialog "Saving your settings..." and ignores any apps trying to save. Setting showFancyLogout=false forces the code not to show the feedback dialog. That non-event allows the normal logout to occur, regardless of how the user responds to any app's request to save files.
In addition to bug report being connected to bug report 258, this ties into bug report 681, which requests a KControl option to enable or disable the feedback dialog.
Yet after resolving bug reports 258 and 681, some C++ hacking is required to resolve bug report 922 and permanently fix the logic in tdebase/ksmserver/shutdown.cpp. The work-around offered here succeeds only when showFancyLogout=false and does not help when showFancyLogout=true or is missing.
Darrell
To anybody interested in bug report 922, "when logging out with unsaved file, trinity does not ask to save it":
There is a temporary work-around:
In $TDEHOME/share/config/ksmserver, add the following:
[Logout] showFancyLogout=false
That key controls the gray fade effect feature when the user has "Confirm logout" enabled in the Session Manager module. The gray fade effect was part of KDE3. The underlying ksmserver configuration options were added in Trinity. Not yet implemented are the KControl user controls.
Calvin is working on that, which will resolve bug report 258. Those new KControl options will provide a user-direct method to change the showFancyLogout feature.
Setting showFancyLogout=false disables the fade effect but serves as a temporary work-around to apps not saving files when the user decides to logout of the session.
The problem occurs in tdebase/ksmserver/shutdown.cpp, starting at line 164.
The code there reads the value of showFancyLogout and defaults to true when the value is not found. Because the KControl options do not yet exist, almost nobody has those keys in their user's ksmserver configuration file. Therefore the code always defaults to true.
Setting the internal code variable to true starts the non modal feedback dialog "Saving your settings..." and ignores any apps trying to save. Setting showFancyLogout=false forces the code not to show the feedback dialog. That non-event allows the normal logout to occur, regardless of how the user responds to any app's request to save files.
In addition to bug report being connected to bug report 258, this ties into bug report 681, which requests a KControl option to enable or disable the feedback dialog.
Yet after resolving bug reports 258 and 681, some C++ hacking is required to resolve bug report 922 and permanently fix the logic in tdebase/ksmserver/shutdown.cpp. The work-around offered here succeeds only when showFancyLogout=false and does not help when showFancyLogout=true or is missing.
Darrell
This info should be posted on the bug report, as it provided me with a potentially important clue.
What happens if you rename the krootbacking executable to something else so that it cannot be executed by ksmserver, and set showFancyLogout=true? Does the logout progress at the faster speed?
Tim
This info should be posted on the bug report, as it provided me with a potentially important clue.
Yeah, I figured this discovery might lead somewhere. :)
I posted the same text to the bug report when I sent the email. :) At that time I also updated bug reports 258 and 681 with references to 922.
What happens if you rename the krootbacking executable to something else so that it cannot be executed by ksmserver, and set showFancyLogout=true? Does the logout progress at the faster speed?
I don't know what krootbacking is. Typing krootbacking --help provided some hint. As soon as I saw the word xscreensaver my hair bristled and ears twitched.
I have the package installed but never, ever use xscreensaver.
I tested what you asked: krootbacking-> krootbacking.old and edited showFancyLogout=true. I opened kate, changed the file and selected the logout applet button. The non modal feedback "Saving your settings" dialog appeared and no dialog from kate to save the file. However, this time when I pressed Ctrl-Alt-Backspace to escape the hang, as the screen repainted I saw the outline of the kate dialog asking me whether I wanted to save or abort. I don't recall ever seeing that before when pressing Ctrl-Alt-Backspace during these tests.
So I tried again, this time blindly pressing Alt-D (&Do not save) and Alt-A (&Abort closing). Neither attempt succeeded and I pressed Ctrl-Alt-Backspace to escape. Other than the expected "client killed" messages I saw nothing helpful in the xsession log.
I do not use any wallpaper. I don't know whether that makes a difference but I saw that in the krootbacking sources.
With krootbacking still renamed, restoring showFancyLogout=false restored the save mechanism when logging out.
With that said, does any of this have to do with bug report 760, "TDE exits too slow"?
Darrell
<snip>
With that said, does any of this have to do with bug report 760, "TDE exits too slow"?
Darrell
Noting. I'm sorry, I really don't know what I was thinking. Too much time on the kioslave and not enough reading your subject line I guess. :-P
Tim