From 2e451cf6f4201e211ef8c9103e4222aa1c807418 Mon Sep 17 00:00:00 2001 From: Heinz Deinhart Date: Mon, 5 Oct 2020 10:45:21 +0200 Subject: add option for username stripping --- src/greeterconfiguration.h | 1 + src/lightdm-gtk-greeter.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) (limited to 'src') diff --git a/src/greeterconfiguration.h b/src/greeterconfiguration.h index 587226d..1c7474a 100644 --- a/src/greeterconfiguration.h +++ b/src/greeterconfiguration.h @@ -38,6 +38,7 @@ #define CONFIG_KEY_KEYBOARD_POSITION "keyboard-position" #define CONFIG_KEY_A11Y_STATES "a11y-states" #define CONFIG_KEY_AT_SPI_ENABLED "at-spi-enabled" +#define CONFIG_KEY_USERNAME_STRIP_WS "username-strip-whitespace" #define CONFIG_GROUP_MONITOR "monitor:" #define CONFIG_KEY_BACKGROUND "background" diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c index cefa348..17a079c 100644 --- a/src/lightdm-gtk-greeter.c +++ b/src/lightdm-gtk-greeter.c @@ -95,6 +95,7 @@ static GtkEntry *username_entry, *password_entry; static GtkLabel *message_label; static GtkInfoBar *info_bar; static GtkButton *cancel_button, *login_button; +static gboolean username_strip_whitespace = FALSE; /* Panel */ static GtkWidget *panel_window, *menubar; @@ -2295,6 +2296,17 @@ G_MODULE_EXPORT gboolean username_focus_out_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data) { + if (username_strip_whitespace == TRUE) + { + const gchar *username = gtk_entry_get_text (username_entry); + gchar *stripped_username = g_strdup (username); + + g_strstrip (stripped_username); + if (g_strcmp0 (username, stripped_username) != 0) + gtk_entry_set_text (username_entry, stripped_username); + g_free (stripped_username); + } + if (!g_strcmp0(gtk_entry_get_text (username_entry), "") == 0) start_authentication (gtk_entry_get_text (username_entry)); return FALSE; @@ -3074,6 +3086,13 @@ main (int argc, char **argv) cancel_button = GTK_BUTTON (gtk_builder_get_object (builder, "cancel_button")); login_button = GTK_BUTTON (gtk_builder_get_object (builder, "login_button")); + value = config_get_string (NULL, CONFIG_KEY_USERNAME_STRIP_WS, NULL); + if (value) + { + if (g_strcmp0 (value, "true") == 0) + username_strip_whitespace = TRUE; + } + /* Panel window*/ panel_window = GTK_WIDGET (gtk_builder_get_object (builder, "panel_window")); menubar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar")); -- cgit v1.2.1 From 72db404fed790cf605388db93c998a6d2aa59e8b Mon Sep 17 00:00:00 2001 From: Heinz Deinhart Date: Thu, 28 Oct 2021 11:40:54 +0200 Subject: make username trimming unconditionally by default --- src/greeterconfiguration.h | 1 - src/lightdm-gtk-greeter.c | 23 ++++++----------------- 2 files changed, 6 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/greeterconfiguration.h b/src/greeterconfiguration.h index 1c7474a..587226d 100644 --- a/src/greeterconfiguration.h +++ b/src/greeterconfiguration.h @@ -38,7 +38,6 @@ #define CONFIG_KEY_KEYBOARD_POSITION "keyboard-position" #define CONFIG_KEY_A11Y_STATES "a11y-states" #define CONFIG_KEY_AT_SPI_ENABLED "at-spi-enabled" -#define CONFIG_KEY_USERNAME_STRIP_WS "username-strip-whitespace" #define CONFIG_GROUP_MONITOR "monitor:" #define CONFIG_KEY_BACKGROUND "background" diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c index 17a079c..2bf8775 100644 --- a/src/lightdm-gtk-greeter.c +++ b/src/lightdm-gtk-greeter.c @@ -95,7 +95,6 @@ static GtkEntry *username_entry, *password_entry; static GtkLabel *message_label; static GtkInfoBar *info_bar; static GtkButton *cancel_button, *login_button; -static gboolean username_strip_whitespace = FALSE; /* Panel */ static GtkWidget *panel_window, *menubar; @@ -2296,16 +2295,13 @@ G_MODULE_EXPORT gboolean username_focus_out_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data) { - if (username_strip_whitespace == TRUE) - { - const gchar *username = gtk_entry_get_text (username_entry); - gchar *stripped_username = g_strdup (username); + const gchar *username = gtk_entry_get_text (username_entry); + gchar *stripped_username = g_strdup (username); - g_strstrip (stripped_username); - if (g_strcmp0 (username, stripped_username) != 0) - gtk_entry_set_text (username_entry, stripped_username); - g_free (stripped_username); - } + g_strstrip (stripped_username); + if (g_strcmp0 (username, stripped_username) != 0) + gtk_entry_set_text (username_entry, stripped_username); + g_free (stripped_username); if (!g_strcmp0(gtk_entry_get_text (username_entry), "") == 0) start_authentication (gtk_entry_get_text (username_entry)); @@ -3086,13 +3082,6 @@ main (int argc, char **argv) cancel_button = GTK_BUTTON (gtk_builder_get_object (builder, "cancel_button")); login_button = GTK_BUTTON (gtk_builder_get_object (builder, "login_button")); - value = config_get_string (NULL, CONFIG_KEY_USERNAME_STRIP_WS, NULL); - if (value) - { - if (g_strcmp0 (value, "true") == 0) - username_strip_whitespace = TRUE; - } - /* Panel window*/ panel_window = GTK_WIDGET (gtk_builder_get_object (builder, "panel_window")); menubar = GTK_WIDGET (gtk_builder_get_object (builder, "menubar")); -- cgit v1.2.1 From 81b46701efa1fab796027faaa1defe1e5b549f87 Mon Sep 17 00:00:00 2001 From: Heinz Deinhart Date: Thu, 28 Oct 2021 11:46:22 +0200 Subject: code indention fix --- src/lightdm-gtk-greeter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c index 2bf8775..2c78381 100644 --- a/src/lightdm-gtk-greeter.c +++ b/src/lightdm-gtk-greeter.c @@ -2300,7 +2300,7 @@ username_focus_out_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data) g_strstrip (stripped_username); if (g_strcmp0 (username, stripped_username) != 0) - gtk_entry_set_text (username_entry, stripped_username); + gtk_entry_set_text (username_entry, stripped_username); g_free (stripped_username); if (!g_strcmp0(gtk_entry_get_text (username_entry), "") == 0) -- cgit v1.2.1