lightdm-gtk-greeter-team team mailing list archive
-
lightdm-gtk-greeter-team team
-
Mailing list archive
-
Message #00167
[Merge] lp:~kalgasnik/lightdm-gtk-greeter/default_avatar_option into lp:lightdm-gtk-greeter
Andrew P. has proposed merging lp:~kalgasnik/lightdm-gtk-greeter/default_avatar_option into lp:lightdm-gtk-greeter.
Requested reviews:
LightDM Gtk+ Greeter Development Team (lightdm-gtk-greeter-team)
For more details, see:
https://code.launchpad.net/~kalgasnik/lightdm-gtk-greeter/default_avatar_option/+merge/200067
New option:
default-user-image = Image used as default user icon, path or #icon-name
--
https://code.launchpad.net/~kalgasnik/lightdm-gtk-greeter/default_avatar_option/+merge/200067
Your team LightDM Gtk+ Greeter Development Team is requested to review the proposed merge of lp:~kalgasnik/lightdm-gtk-greeter/default_avatar_option into lp:lightdm-gtk-greeter.
=== modified file 'data/lightdm-gtk-greeter.conf'
--- data/lightdm-gtk-greeter.conf 2013-11-24 20:54:22 +0000
+++ data/lightdm-gtk-greeter.conf 2013-12-26 12:37:42 +0000
@@ -13,6 +13,7 @@
# clock-format = strftime-format string, e.g. %H:%M
# keyboard = command to launch on-screen keyboard
# position = main window position: x y
+# default-user-image = Image used as default user icon, path or #icon-name
#
[greeter]
#background=
=== modified file 'src/lightdm-gtk-greeter.c'
--- src/lightdm-gtk-greeter.c 2013-12-13 02:56:06 +0000
+++ src/lightdm-gtk-greeter.c 2013-12-26 12:37:42 +0000
@@ -105,6 +105,9 @@
const WindowPosition CENTERED_WINDOW_POS = { .x = {50, +1, TRUE, 0}, .y = {50, +1, TRUE, 0} };
WindowPosition main_window_pos;
+GdkPixbuf* default_user_pixbuf = NULL;
+gchar* default_user_icon = "avatar-default";
+
#ifdef HAVE_LIBINDICATOR
static gboolean
@@ -500,8 +503,11 @@
}
}
}
-
- gtk_image_set_from_icon_name (GTK_IMAGE (user_image), "avatar-default", GTK_ICON_SIZE_DIALOG);
+
+ if (default_user_pixbuf)
+ gtk_image_set_from_pixbuf (GTK_IMAGE (user_image), default_user_pixbuf);
+ else
+ gtk_image_set_from_icon_name (GTK_IMAGE (user_image), default_user_icon, GTK_ICON_SIZE_DIALOG);
}
#if GTK_CHECK_VERSION (3, 0, 0)
@@ -2016,6 +2022,23 @@
}
#endif
+ value = g_key_file_get_value (config, "greeter", "default-user-image", NULL);
+ if (value)
+ {
+ if (value[0] == '#')
+ default_user_icon = g_strdup (value + 1);
+ else
+ {
+ default_user_pixbuf = gdk_pixbuf_new_from_file (value, &error);
+ if (!default_user_pixbuf)
+ {
+ g_warning ("Failed to load default user image: %s", error->message);
+ g_clear_error (&error);
+ }
+ }
+ g_free (value);
+ }
+
/* Clock */
gtk_widget_set_visible(GTK_WIDGET(clock_label),
g_key_file_get_boolean (config, "greeter", "show-clock", NULL));
Follow ups