summaryrefslogtreecommitdiff
path: root/src/display.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/display.c')
-rw-r--r--src/display.c12
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);