diff options
Diffstat (limited to 'src/display.c')
-rw-r--r-- | src/display.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/display.c b/src/display.c index 2cf75a2c..a9b17396 100644 --- a/src/display.c +++ b/src/display.c @@ -55,6 +55,9 @@ struct DisplayPrivate /* TRUE if the user list should be shown */ gboolean greeter_hide_users; + /* TRUE if the greeter is a lock screen */ + gboolean greeter_is_lock; + /* Session requested to log into */ gchar *user_session; @@ -194,6 +197,13 @@ display_set_hide_users_hint (Display *display, gboolean hide_users) } void +display_set_lock_hint (Display *display, gboolean is_lock) +{ + g_return_if_fail (display != NULL); + display->priv->greeter_is_lock = is_lock; +} + +void display_set_user_session (Display *display, const gchar *session_name) { g_return_if_fail (display != NULL); @@ -661,6 +671,8 @@ start_greeter_session (Display *display) greeter_set_allow_guest (display->priv->greeter, display->priv->allow_guest); greeter_set_hint (display->priv->greeter, "has-guest-account", display->priv->allow_guest ? "true" : "false"); greeter_set_hint (display->priv->greeter, "hide-users", display->priv->greeter_hide_users ? "true" : "false"); + if (display->priv->greeter_is_lock) + greeter_set_hint (display->priv->greeter, "lock-screen", "true"); start_result = FALSE; g_signal_emit (display, signals[START_GREETER], 0, &start_result); |