summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Le Folgoc <mrpouit@ubuntu.com>2012-07-31 00:11:28 +0200
committerLionel Le Folgoc <mrpouit@ubuntu.com>2012-07-31 00:11:28 +0200
commit977f6ed62a455a28128de4bd6ca80e4aa702c072 (patch)
treef8cacaa78e3ebcccd2e336375904621224bd2486
parent8b73588a8c8f109772abbc15e661a902a3410879 (diff)
downloadlightdm-gtk-greeter-977f6ed62a455a28128de4bd6ca80e4aa702c072.tar.gz
add config option to set the icon theme
-rw-r--r--data/lightdm-gtk-greeter.conf2
-rw-r--r--src/lightdm-gtk-greeter.c22
2 files changed, 21 insertions, 3 deletions
diff --git a/data/lightdm-gtk-greeter.conf b/data/lightdm-gtk-greeter.conf
index 1869ea2..4f47b5f 100644
--- a/data/lightdm-gtk-greeter.conf
+++ b/data/lightdm-gtk-greeter.conf
@@ -3,6 +3,7 @@
# background = Background file to use, either an image path or a color (e.g. #772953)
# show-language-selector (true or false)
# theme-name = GTK+ theme to use
+# icon-theme-name = Icon theme to use
# font-name = Font to use
# xft-antialias = Whether to antialias Xft fonts (true or false)
# xft-dpi = Resolution for Xft in dots per inch (e.g. 96)
@@ -15,6 +16,7 @@
#background=
#show-language-selector=false
#theme-name=
+#icon-theme-name=
#font-name=
#xft-antialias=
#xft-dpi=
diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c
index b595888..1dbc887 100644
--- a/src/lightdm-gtk-greeter.c
+++ b/src/lightdm-gtk-greeter.c
@@ -29,7 +29,7 @@ static GtkEntry *prompt_entry;
static GtkComboBox *user_combo;
static GtkComboBox *session_combo;
static GtkComboBox *language_combo;
-static gchar *default_font_name, *default_theme_name;
+static gchar *default_font_name, *default_theme_name, *default_icon_theme_name;
static gboolean cancelling = FALSE, prompted = FALSE;
static gchar *
@@ -522,9 +522,15 @@ void
a11y_contrast_cb (GtkWidget *widget)
{
if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)))
+ {
g_object_set (gtk_settings_get_default (), "gtk-theme-name", "HighContrastInverse", NULL);
+ g_object_set (gtk_settings_get_default (), "gtk-icon-theme-name", "HighContrastInverse", NULL);
+ }
else
+ {
g_object_set (gtk_settings_get_default (), "gtk-theme-name", default_theme_name, NULL);
+ g_object_set (gtk_settings_get_default (), "gtk-icon-theme-name", default_icon_theme_name, NULL);
+ }
}
static void
@@ -770,12 +776,22 @@ main (int argc, char **argv)
value = g_key_file_get_value (config, "greeter", "theme-name", NULL);
if (value)
{
- g_debug ("Using theme %s", value);
+ g_debug ("Using Gtk+ theme %s", value);
g_object_set (gtk_settings_get_default (), "gtk-theme-name", value, NULL);
}
g_free (value);
g_object_get (gtk_settings_get_default (), "gtk-theme-name", &default_theme_name, NULL);
- g_debug ("Default theme is '%s'", default_theme_name);
+ g_debug ("Default Gtk+ theme is '%s'", default_theme_name);
+
+ value = g_key_file_get_value (config, "greeter", "icon-theme-name", NULL);
+ if (value)
+ {
+ g_debug ("Using icon theme %s", value);
+ g_object_set (gtk_settings_get_default (), "gtk-icon-theme-name", value, NULL);
+ }
+ g_free (value);
+ g_object_get (gtk_settings_get_default (), "gtk-icon-theme-name", &default_icon_theme_name, NULL);
+ g_debug ("Default theme is '%s'", default_icon_theme_name);
value = g_key_file_get_value (config, "greeter", "font-name", NULL);
if (value)