diff options
author | Ken VanDine <ken.vandine@canonical.com> | 2011-08-10 16:34:26 -0400 |
---|---|---|
committer | Ken VanDine <ken.vandine@canonical.com> | 2011-08-10 16:34:26 -0400 |
commit | ae81953d3491fcadae3b05c9535c6605a50a9467 (patch) | |
tree | cb8a8cbf0ad10b45c3457852acd02790bcd7f2c2 /src/session-service.c | |
parent | f0c187f8dd55d8b831892ce30937aed2b737c5f8 (diff) | |
parent | b5eb255fae2158fde84def56b46fa6c5424f5b84 (diff) | |
download | ayatana-indicator-session-ae81953d3491fcadae3b05c9535c6605a50a9467.tar.gz ayatana-indicator-session-ae81953d3491fcadae3b05c9535c6605a50a9467.tar.bz2 ayatana-indicator-session-ae81953d3491fcadae3b05c9535c6605a50a9467.zip |
* New upstream release.
- restart is missing from SessionMenu (LP: #815077)
- Don't allow starting programs via the greeter indicators (LP: #811853)
- Printer menu item should launch system-config-printer (LP: #818602)
- gudev integration
- apt restart required awareness
* debian/control
- Added build depends on libgudev-1.0-dev
Diffstat (limited to 'src/session-service.c')
-rw-r--r-- | src/session-service.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/session-service.c b/src/session-service.c index bb473e9..fa212fd 100644 --- a/src/session-service.c +++ b/src/session-service.c @@ -78,11 +78,21 @@ service_shutdown (IndicatorService * service, gpointer user_data) return; } +static gboolean +get_greeter_mode (void) +{ + const gchar *var; + var = g_getenv("INDICATOR_GREETER_MODE"); + return (g_strcmp0(var, "1") == 0); +} + /* Main, is well, main. It brings everything up and throws us into the mainloop of no return. */ int main (int argc, char ** argv) { + gboolean greeter_mode; + g_type_init(); /* Setting up i18n and gettext. Apparently, we need @@ -99,15 +109,19 @@ main (int argc, char ** argv) session_dbus = session_dbus_new(); + greeter_mode = get_greeter_mode(); + // Devices - DeviceMenuMgr* device_mgr = device_menu_mgr_new (session_dbus); + DeviceMenuMgr* device_mgr = device_menu_mgr_new (session_dbus, greeter_mode); DbusmenuServer * server = dbusmenu_server_new(INDICATOR_SESSION_DBUS_OBJECT); dbusmenu_server_set_root(server, device_mgr_get_root_item (device_mgr)); - // Users - UserMenuMgr* user_mgr = user_menu_mgr_new (session_dbus); - DbusmenuServer* users_server = dbusmenu_server_new (INDICATOR_USERS_DBUS_OBJECT); - dbusmenu_server_set_root (users_server, user_mgr_get_root_item (user_mgr)); + if (!greeter_mode) { + // Users + UserMenuMgr* user_mgr = user_menu_mgr_new (session_dbus); + DbusmenuServer* users_server = dbusmenu_server_new (INDICATOR_USERS_DBUS_OBJECT); + dbusmenu_server_set_root (users_server, user_mgr_get_root_item (user_mgr)); + } mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); |