diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-03-07 19:35:02 -0500 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-03-07 19:36:31 -0500 |
commit | 28f4030aa21a0a442ae1c520e5d18903c0f4755d (patch) | |
tree | 0c4a19e109f4336dce372cdcc843d2a3282a0624 | |
parent | 67fe376564b91bfefdc693915b8760f1f36f5e05 (diff) | |
download | gnome-shell-wip/wayland-gdm-cleanup.tar.gz |
retrigger greeterwip/wayland-gdm-cleanup
-rw-r--r-- | js/gdm/loginDialog.js | 28 | ||||
-rw-r--r-- | js/misc/loginManager.js | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js index b4953b950..811b27f40 100644 --- a/js/gdm/loginDialog.js +++ b/js/gdm/loginDialog.js @@ -473,6 +473,8 @@ const LoginDialog = new Lang.Class({ this._updateDisableUserList(); this._userListLoaded = false; + LoginManager.getLoginManager().getCurrentSessionProxy(Lang.bind(this, this._gotGreeterSessionProxy)); + // If the user list is enabled, it should take key focus; make sure the // screen shield is initialized first to prevent it from stealing the // focus later @@ -639,6 +641,32 @@ const LoginDialog = new Lang.Class({ this._showPrompt(); }, + _sessionActivated: function() { + // We fade out the shell after logging in, and then re-set + // the greeter wen we're VT switched to again. + + // XXX: re-trigger startup animation + if (this._authPrompt.verificationStatus == GdmUtil.VerificationStatus.VERIFICATION_SUCCEEDED) { + this._reset(); + + // XXX: do something better here + this.actor.opacity = 255; + + let children = Main.layoutManager.uiGroup.get_children(); + for (let i = 0; i < children.length; i++) { + if (children[i] != Main.layoutManager.screenShieldGroup) + children[i].opacity = 255; + } + } + }, + + _gotGreeterSessionProxy: function(proxy) { + proxy.connect('g-properties-changed', Lang.bind(this, function() { + if (proxy.Active) + this._sessionActivated(); + })); + }, + _startSession: function(serviceName) { Tweener.addTween(this.actor, { opacity: 0, diff --git a/js/misc/loginManager.js b/js/misc/loginManager.js index ae87a5509..c6cea884d 100644 --- a/js/misc/loginManager.js +++ b/js/misc/loginManager.js @@ -39,6 +39,7 @@ const SystemdLoginSessionIface = '<node> \ <interface name="org.freedesktop.login1.Session"> \ <signal name="Lock" /> \ <signal name="Unlock" /> \ +<property name="Active" access="readonly" /> \ </interface> \ </node>'; |