diff -up gnome-control-center-2.23.2/capplets/appearance/theme-save.c.notification-theme gnome-control-center-2.23.2/capplets/appearance/theme-save.c
--- gnome-control-center-2.23.2/capplets/appearance/theme-save.c.notification-theme 2008-05-17 12:46:56.000000000 -0400
+++ gnome-control-center-2.23.2/capplets/appearance/theme-save.c 2008-05-27 23:46:17.000000000 -0400
@@ -234,6 +234,12 @@ write_theme_to_disk (GnomeThemeMetaInfo
g_free (str);
}
+ if (theme_info->notification_theme_name) {
+ str = g_strdup_printf ("NotificationTheme=%s\n", theme_info->notification_theme_name);
+ g_output_stream_write (output, str, strlen (str), NULL, NULL);
+ g_free (str);
+ }
+
if (save_background) {
client = gconf_client_get_default ();
current_background = gconf_client_get_string (client, BACKGROUND_KEY, NULL);
diff -up gnome-control-center-2.23.2/capplets/common/gnome-theme-apply.c.notification-theme gnome-control-center-2.23.2/capplets/common/gnome-theme-apply.c
--- gnome-control-center-2.23.2/capplets/common/gnome-theme-apply.c.notification-theme 2008-05-17 12:46:59.000000000 -0400
+++ gnome-control-center-2.23.2/capplets/common/gnome-theme-apply.c 2008-05-27 23:45:00.000000000 -0400
@@ -34,6 +34,7 @@
#define CURSOR_FONT_KEY "/desktop/gnome/peripherals/mouse/cursor_font"
#define CURSOR_THEME_KEY "/desktop/gnome/peripherals/mouse/cursor_theme"
#define CURSOR_SIZE_KEY "/desktop/gnome/peripherals/mouse/cursor_size"
+#define NOTIFICATION_THEME_KEY "/apps/notification-daemon/theme"
#define compare(x,y) (!x && y) || (x && !y) || (x && y && strcmp (x, y))
@@ -42,6 +43,7 @@ gnome_meta_theme_set (GnomeThemeMetaInfo
{
GConfClient *client;
gchar *old_key;
+ gchar *new_key;
gint old_key_int;
GnomeWindowManager *window_manager;
GnomeWMSettings wm_settings;
@@ -98,6 +100,17 @@ gnome_meta_theme_set (GnomeThemeMetaInfo
}
g_free (old_key);
+ /* set the notification theme */
+ old_key = gconf_client_get_string (client, NOTIFICATION_THEME_KEY, NULL);
+ new_key = meta_theme_info->notification_theme_name;
+ if (new_key == NULL)
+ new_key = "standard";
+ if (compare (old_key, new_key))
+ {
+ gconf_client_set_string (client, NOTIFICATION_THEME_KEY, new_key, NULL);
+ }
+ g_free (old_key);
+
/* Set the cursor theme key */
#ifdef HAVE_XCURSOR
old_key = gconf_client_get_string (client, CURSOR_THEME_KEY, NULL);
diff -up gnome-control-center-2.23.2/capplets/common/gnome-theme-info.c.notification-theme gnome-control-center-2.23.2/capplets/common/gnome-theme-info.c
--- gnome-control-center-2.23.2/capplets/common/gnome-theme-info.c.notification-theme 2008-05-17 12:46:59.000000000 -0400
+++ gnome-control-center-2.23.2/capplets/common/gnome-theme-info.c 2008-05-27 23:45:00.000000000 -0400
@@ -25,6 +25,7 @@
#define METACITY_THEME_KEY "X-GNOME-Metatheme/MetacityTheme"
#define ICON_THEME_KEY "X-GNOME-Metatheme/IconTheme"
#define CURSOR_THEME_KEY "X-GNOME-Metatheme/CursorTheme"
+#define NOTIFICATION_THEME_KEY "X-GNOME-Metatheme/NotificationTheme"
#define CURSOR_SIZE_KEY "X-GNOME-Metatheme/CursorSize"
#define SOUND_THEME_KEY "X-GNOME-Metatheme/SoundTheme"
#define APPLICATION_FONT_KEY "X-GNOME-Metatheme/ApplicationFont"
@@ -335,6 +336,10 @@ gnome_theme_read_meta_theme (GFile *meta
}
meta_theme_info->icon_theme_name = g_strdup (str);
+ str = gnome_desktop_item_get_string (meta_theme_ditem, NOTIFICATION_THEME_KEY);
+ if (str != NULL)
+ meta_theme_info->notification_theme_name = g_strdup (str);
+
str = gnome_desktop_item_get_string (meta_theme_ditem, CURSOR_THEME_KEY);
if (str != NULL) {
meta_theme_info->cursor_theme_name = g_strdup (str);
@@ -1596,6 +1601,7 @@ gnome_theme_meta_info_free (GnomeThemeMe
g_free (meta_theme_info->gtk_color_scheme);
g_free (meta_theme_info->icon_theme_name);
g_free (meta_theme_info->metacity_theme_name);
+ g_free (meta_theme_info->notification_theme_name);
g_free (meta_theme_info);
}
@@ -1697,6 +1703,9 @@ gnome_theme_meta_info_compare (GnomeThem
cmp = safe_strcmp (a->icon_theme_name, b->icon_theme_name);
if (cmp != 0) return cmp;
+ cmp = safe_strcmp (a->notification_theme_name, b->notification_theme_name);
+ if (cmp != 0) return cmp;
+
cmp = safe_strcmp (a->sound_theme_name, b->sound_theme_name);
if (cmp != 0) return cmp;
diff -up gnome-control-center-2.23.2/capplets/common/gnome-theme-info.h.notification-theme gnome-control-center-2.23.2/capplets/common/gnome-theme-info.h
--- gnome-control-center-2.23.2/capplets/common/gnome-theme-info.h.notification-theme 2008-05-17 12:46:59.000000000 -0400
+++ gnome-control-center-2.23.2/capplets/common/gnome-theme-info.h 2008-05-27 23:45:00.000000000 -0400
@@ -100,6 +100,7 @@ struct _GnomeThemeMetaInfo
gchar *gtk_color_scheme;
gchar *metacity_theme_name;
gchar *icon_theme_name;
+ gchar *notification_theme_name;
gchar *sound_theme_name;
gchar *cursor_theme_name;
guint cursor_size;