Blob Blame History Raw
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;