GNOME Bugzilla – Bug 654550
Message tray visible when screensaver active
Last modified: 2011-07-14 16:51:40 UTC
Recently the message tray can be made visible also when an application is in fullscreen mode; I believe this should be disabled when the screensaver is active. Right now (using shell 3.1.2), it's always visible, notifications can be read and activated, and status icons receive events, even though no window opened this way jumps on top of the screensaver itself.
Created attachment 191891 [details] [review] chrome: don't show visibleInOverview chrome when the screensaver is active visibleInOverview chrome was visible even when the screensaver was active. Although we may eventually need visibleInScreenSaver, that should be a separate flag. Fix this by tracking the screensaver active state, and hiding the chrome when the screensaver is active. ===== I actually already had this patch lying around (the bug is much more noticeable with the on-screen keyboard running...)
Review of attachment 191891 [details] [review]: Makes sense to me, but the new screenSaver prototype conflicts with a patch in bug 653520 which hopefully will land today, so marking needs-work to get it off the list.
Created attachment 191916 [details] [review] statusMenu: fix typo
Created attachment 191917 [details] [review] screenSaver: bugfixes Fix the signal handling; you can't use this.connect('ActiveChanged') to connect to a D-Bus signal after replacing the signal methods with the lang.signals versions. Just leave it using the D-Bus signal names, just like it uses the D-Bus method names. Also, remove the "_" from "_screenSaverActive", to match what AutomountManager checks for, and remove getActive(), since it's not needed.
Created attachment 191918 [details] [review] chrome: don't show visibleInOverview chrome when the screensaver is active visibleInOverview chrome was visible even when the screensaver was active. Although we may eventually need visibleInScreenSaver, that should be a separate flag. Fix this by tracking the screensaver active state, and hiding the chrome when the screensaver is active.
Review of attachment 191918 [details] [review]: Looks good, except for the callback to GetActiveRemote. ::: js/ui/chrome.js @@ +56,3 @@ + function(result, err) { + if (result) + this._onScreenSaverActiveChanged(this._screenSaverProxy, result[0]); I don't think we still stuff the return value into an array; quick test: log(result); // => false log(result.length) // => undefined
Review of attachment 191916 [details] [review]: Gah. Sorry for not catching that ...
Review of attachment 191917 [details] [review]: Oh, didn't know about the signal methods. Looks good!
Comment on attachment 191916 [details] [review] statusMenu: fix typo Fixed by commit fe82897064f0.
Attachment 191917 [details] pushed as 5f86e29 - screenSaver: bugfixes Attachment 191918 [details] pushed as 896d8e8 - chrome: don't show visibleInOverview chrome when the screensaver is active