Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
gnome-shell.705
898359-fix-clutter-modal-dialog-integration-wit...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 898359-fix-clutter-modal-dialog-integration-with-screenshield.patch of Package gnome-shell.705
Index: gnome-shell-3.10.4/js/ui/endSessionDialog.js =================================================================== --- gnome-shell-3.10.4.orig/js/ui/endSessionDialog.js +++ gnome-shell-3.10.4/js/ui/endSessionDialog.js @@ -206,7 +206,8 @@ const EndSessionDialog = new Lang.Class( _init: function() { this.parent({ styleClass: 'end-session-dialog', - destroyOnClose: false }); + destroyOnClose: false, + keybindingMode: Shell.KeyBindingMode.NONE }); this._loginManager = LoginManager.getLoginManager(); this._userManager = AccountsService.UserManager.get_default(); Index: gnome-shell-3.10.4/js/ui/modalDialog.js =================================================================== --- gnome-shell-3.10.4.orig/js/ui/modalDialog.js +++ gnome-shell-3.10.4/js/ui/modalDialog.js @@ -118,9 +118,30 @@ const ModalDialog = new Lang.Class({ this._savedKeyFocus = null; this._workSpinner = null; + + // Update dialog visibility according to session mode change + this._sessionUpdatedID = Main.sessionMode.connect('updated', Lang.bind(this, function(){ + // This visibility setting leaves a solid black block at the top-left corner + // TODO DONOT know why + // this._group.visible = Main.sessionMode.hasWindows; + + // The following code change actor positions manually to get desired visibility + // + // TODO Intermediate session changes are also observed, improve efficiency? + if (Main.sessionMode.hasWindows) + Main.uiGroup.raise_top(this._group); + else + Main.uiGroup.set_child_below_sibling(this._group, + Main.layoutManager.screenShieldGroup); + })); }, destroy: function() { + if( this._sessionUpdatedID ){ + Main.sessionMode.disconnect(this._sessionUpdatedID); + this._sessionUpdatedID = null; + } + this._group.destroy(); },
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor