diff options
Diffstat (limited to 'src/session-service.c')
-rw-r--r-- | src/session-service.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/session-service.c b/src/session-service.c index 9eb6d88..3832e89 100644 --- a/src/session-service.c +++ b/src/session-service.c @@ -340,6 +340,9 @@ static void activate_guest_session (DbusmenuMenuitem * mi, guint timestamp, gpointer user_data) { GError * error = NULL; + + lock_screen(mi, timestamp, user_data); + if (!g_spawn_command_line_async(GUEST_SESSION_LAUNCHER, &error)) { g_warning("Unable to start guest session: %s", error->message); g_error_free(error); @@ -380,6 +383,9 @@ static void activate_new_session (DbusmenuMenuitem * mi, guint timestamp, gpointer user_data) { GError * error = NULL; + + lock_screen(mi, timestamp, user_data); + if (!g_spawn_command_line_async("gdmflexiserver --startnew", &error)) { g_warning("Unable to start new session: %s", error->message); g_error_free(error); @@ -395,6 +401,8 @@ activate_user_session (DbusmenuMenuitem *mi, guint timestamp, gpointer user_data UserData *user = (UserData *)user_data; UsersServiceDbus *service = user->service; + lock_screen(mi, timestamp, user_data); + users_service_dbus_activate_user_session (service, user); } @@ -661,7 +669,7 @@ restart_dir_changed (void) } else { dbusmenu_menuitem_property_set(restart_mi, RESTART_ITEM_LABEL, _("Restart Required...")); } - dbusmenu_menuitem_property_set(restart_mi, RESTART_ITEM_ICON, "emblem-important"); + dbusmenu_menuitem_property_set(restart_mi, RESTART_ITEM_ICON, "system-restart-panel"); if (session_dbus != NULL) { session_dbus_set_name(session_dbus, ICON_RESTART); } |