--- gnome-shell-3.1.92old/js/ui/userMenu.js 2011-09-20 17:14:12.000000000 +0200 +++ gnome-shell-3.1.92/js/ui/userMenu.js 2011-09-30 12:45:57.000000000 +0200 @@ -582,12 +582,24 @@ item = new PopupMenu.PopupSeparatorMenuItem(); this.menu.addMenuItem(item); + + item = new PopupMenu.PopupMenuItem(_("Suspend")); + item.connect('activate', Lang.bind(this, this._onSuspendActivate)); + this.menu.addMenuItem(item); + this._suspendItem = item; + + item = new PopupMenu.PopupMenuItem(_("Power Off...")); + item.connect('activate', Lang.bind(this, this._onPowerOffActivate)); + this.menu.addMenuItem(item); + this._shutdownItem = item; +/* item = new PopupMenu.PopupAlternatingMenuItem(_("Suspend"), _("Power Off...")); this.menu.addMenuItem(item); this._suspendOrPowerOffItem = item; item.connect('activate', Lang.bind(this, this._onSuspendOrPowerOffActivate)); this._updateSuspendOrPowerOff(); +*/ }, _updatePresenceStatus: function(item, event) { @@ -645,7 +657,17 @@ Main.overview.hide(); this._session.LogoutRemote(0); }, - + _onPowerOffActivate: function() { + Main.overview.hide(); + this._session.ShutdownRemote(); + }, + _onSuspendActivate: function() { + Main.overview.hide(); + this._screenSaverProxy.LockRemote(Lang.bind(this, function() { + this._upClient.suspend_sync(null); + })); + }, + _onSuspendOrPowerOffActivate: function() { Main.overview.hide();