diff --git a/extensions/deviceicon/xomenu.py b/extensions/deviceicon/xomenu.py
index 359832f..f202f2d 100644
a
|
b
|
|
14 | 14 | # along with this program; if not, write to the Free Software |
15 | 15 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
16 | 16 | |
| 17 | import os |
17 | 18 | from gettext import gettext as _ |
18 | 19 | import gconf |
19 | 20 | |
… |
… |
class SystemPalette(Palette): |
54 | 55 | self.menu.append(item) |
55 | 56 | item.show() |
56 | 57 | |
| 58 | if 'GDMSESSION' in os.environ or 'XDM_MANAGED' in os.environ: |
| 59 | # We need to ensure that we are logging in to |
| 60 | # Sugar via GDM. GDMSESSION is also present in, |
| 61 | # for example, sugar-jhbuild running from GNOME |
| 62 | # We don't need Logout for that |
| 63 | if os.environ['GDMSESSION'] == 'sugar' or 'XDM_MANAGED' in \ |
| 64 | os.environ: |
| 65 | item = MenuItem(_('Logout'), 'go-right') |
| 66 | item.connect('activate', self.__logout_activate_cb) |
| 67 | self.menu.append(item) |
| 68 | item.show() |
| 69 | |
57 | 70 | item = MenuItem(_('Restart'), 'system-restart') |
58 | 71 | item.connect('activate', self.__reboot_activate_cb) |
59 | 72 | self.menu.append(item) |
… |
… |
class SystemPalette(Palette): |
64 | 77 | self.menu.append(item) |
65 | 78 | item.show() |
66 | 79 | |
| 80 | def __logout_activate_cb(self, menu_item): |
| 81 | session_manager = get_session_manager() |
| 82 | session_manager.logout() |
| 83 | |
67 | 84 | def __reboot_activate_cb(self, menu_item): |
68 | 85 | session_manager = get_session_manager() |
69 | 86 | session_manager.reboot() |