diff --git a/js/ui/userMenu.js b/js/ui/userMenu.js index d72cbc749..07c0a1960 100644 --- a/js/ui/userMenu.js +++ b/js/ui/userMenu.js @@ -1,6 +1,7 @@ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- const AccountsService = imports.gi.AccountsService; +const GdmGreeter = imports.gi.GdmGreeter; const Gio = imports.gi.Gio; const GLib = imports.gi.GLib; const Lang = imports.lang; @@ -549,14 +550,20 @@ const UserMenuButton = new Lang.Class({ _updateSwitchUser: function() { let allowSwitch = !this._lockdownSettings.get_boolean(DISABLE_USER_SWITCH_KEY); - this._loginScreenItem.actor.visible = allowSwitch && - this._userManager.can_switch() && - this._userManager.has_multiple_users; + let multiUser = this._userManager.can_switch() && this._userManager.has_multiple_users; + let multiSession = GdmGreeter.get_session_ids().length > 1; + + this._loginScreenItem.label.set_text(multiUser ? _("Switch User") + : _("Switch Session")); + this._loginScreenItem.actor.visible = allowSwitch && (multiUser || multiSession); }, _updateLogout: function() { let allowLogout = !this._lockdownSettings.get_boolean(DISABLE_LOG_OUT_KEY); - this._logoutItem.actor.visible = allowLogout && this._userManager.has_multiple_users; + let multiUser = this._userManager.has_multiple_users; + let multiSession = GdmGreeter.get_session_ids().length > 1; + + this._logoutItem.actor.visible = allowLogout && (multiUser || multiSession); }, _updateLockScreen: function() {