retrigger greeter
This commit is contained in:
parent
67fe376564
commit
28f4030aa2
@ -473,6 +473,8 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._updateDisableUserList();
|
this._updateDisableUserList();
|
||||||
this._userListLoaded = false;
|
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
|
// 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
|
// screen shield is initialized first to prevent it from stealing the
|
||||||
// focus later
|
// focus later
|
||||||
@ -639,6 +641,32 @@ const LoginDialog = new Lang.Class({
|
|||||||
this._showPrompt();
|
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) {
|
_startSession: function(serviceName) {
|
||||||
Tweener.addTween(this.actor,
|
Tweener.addTween(this.actor,
|
||||||
{ opacity: 0,
|
{ opacity: 0,
|
||||||
|
@ -39,6 +39,7 @@ const SystemdLoginSessionIface = '<node> \
|
|||||||
<interface name="org.freedesktop.login1.Session"> \
|
<interface name="org.freedesktop.login1.Session"> \
|
||||||
<signal name="Lock" /> \
|
<signal name="Lock" /> \
|
||||||
<signal name="Unlock" /> \
|
<signal name="Unlock" /> \
|
||||||
|
<property name="Active" access="readonly" /> \
|
||||||
</interface> \
|
</interface> \
|
||||||
</node>';
|
</node>';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user