diff -u gnome-panel-2.30.0/applets/notification_area/main.c hacked/applets/notification_area/main.c
--- gnome-panel-2.30.0/applets/notification_area/main.c	2010-04-04 01:00:15.079819429 -0400
+++ hacked/applets/notification_area/main.c	2010-04-04 00:18:02.153821174 -0400
@@ -274,6 +274,7 @@
   NaTray     *tray;
   AppletData *data;
   AtkObject  *atko;
+  GdkColor fg, bg;
 
   if (!(strcmp (iid, "OAFIID:GNOME_NotificationAreaApplet") == 0 ||
         strcmp (iid, "OAFIID:GNOME_SystemTrayApplet") == 0))
@@ -282,6 +283,11 @@
   tray = na_tray_new_for_screen (gtk_widget_get_screen (GTK_WIDGET (applet)),
 				 get_orientation_from_applet (applet));
 
+  fg.red = 0xffff;
+  fg.green = 0;
+  fg.blue = 0xffff;
+  bg.red = bg.green = bg.blue = 0;
+  na_tray_set_colors (tray, &fg, &bg);
   data = g_slice_new (AppletData);
   data->applet = applet;
   data->tray = tray;
diff -u gnome-panel-2.30.0/applets/notification_area/na-tray.c hacked/applets/notification_area/na-tray.c
--- gnome-panel-2.30.0/applets/notification_area/na-tray.c	2010-04-04 01:00:15.083818940 -0400
+++ hacked/applets/notification_area/na-tray.c	2010-04-04 00:09:43.398571280 -0400
@@ -833,6 +833,17 @@
 }
 
 void
+na_tray_set_colors (NaTray   *tray,
+                    GdkColor *fg,
+                    GdkColor *bg)
+{
+  NaTrayPrivate *priv = tray->priv;
+
+  if (get_tray (priv->trays_screen) == tray)
+    na_tray_manager_set_colors (priv->trays_screen->tray_manager, fg, bg);
+}
+
+void
 na_tray_force_redraw (NaTray *tray)
 {
   NaTrayPrivate *priv = tray->priv;
diff -u gnome-panel-2.30.0/applets/notification_area/na-tray.h hacked/applets/notification_area/na-tray.h
--- gnome-panel-2.30.0/applets/notification_area/na-tray.h	2010-04-04 01:00:15.084830534 -0400
+++ hacked/applets/notification_area/na-tray.h	2010-04-04 00:08:45.137837169 -0400
@@ -62,6 +62,9 @@
 GtkOrientation  na_tray_get_orientation (NaTray        *tray);
 void            na_tray_set_padding     (NaTray        *tray,
                                          gint           padding);
+void            na_tray_set_colors      (NaTray        *tray,
+                                         GdkColor      *fg,
+                                         GdkColor      *bg);
 void		na_tray_force_redraw	(NaTray        *tray);
 
 G_END_DECLS
diff -u gnome-panel-2.30.0/applets/notification_area/na-tray-manager.c hacked/applets/notification_area/na-tray-manager.c
--- gnome-panel-2.30.0/applets/notification_area/na-tray-manager.c	2010-04-04 01:00:15.086818312 -0400
+++ hacked/applets/notification_area/na-tray-manager.c	2010-04-04 00:16:33.640821733 -0400
@@ -679,6 +679,37 @@
 #endif
 }
 
+static void
+na_tray_manager_set_colors_property (NaTrayManager *manager)
+{
+#ifdef GDK_WINDOWING_X11
+  GdkDisplay *display;
+  Atom        atom;
+  gulong      data[6];
+
+  if (!manager->invisible || !manager->invisible->window)
+    return;
+
+  display = gtk_widget_get_display (manager->invisible);
+  atom = gdk_x11_get_xatom_by_name_for_display (display,
+                                                "_NET_SYSTEM_TRAY_COLORS");
+
+  data[0] = manager->fg.red;
+  data[1] = manager->fg.green;
+  data[2] = manager->fg.blue;
+  data[3] = manager->bg.red;
+  data[4] = manager->bg.green;
+  data[5] = manager->bg.blue;
+
+  XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
+                   GDK_WINDOW_XWINDOW (manager->invisible->window),
+                   atom,
+                   XA_CARDINAL, 32,
+                   PropModeReplace,
+                   (guchar *) &data, 6);
+#endif
+}
+
 #ifdef GDK_WINDOWING_X11
 
 static gboolean
@@ -724,6 +755,7 @@
   na_tray_manager_set_orientation_property (manager);
   na_tray_manager_set_visual_property (manager);
   na_tray_manager_set_padding_property (manager);
+  na_tray_manager_set_colors_property (manager);
   
   timestamp = gdk_x11_get_server_time (invisible->window);
 
@@ -877,6 +909,23 @@
     }
 }
 
+void
+na_tray_manager_set_colors (NaTrayManager *manager,
+                            GdkColor      *fg,
+                            GdkColor      *bg)
+{
+  g_return_if_fail (NA_IS_TRAY_MANAGER (manager));
+
+  if (!gdk_color_equal (&manager->fg, fg) ||
+      !gdk_color_equal (&manager->bg, bg))
+    {
+      manager->fg = *fg;
+      manager->bg = *bg;
+
+      na_tray_manager_set_colors_property (manager);
+    }
+}
+
 GtkOrientation
 na_tray_manager_get_orientation (NaTrayManager *manager)
 {
diff -u gnome-panel-2.30.0/applets/notification_area/na-tray-manager.h hacked/applets/notification_area/na-tray-manager.h
--- gnome-panel-2.30.0/applets/notification_area/na-tray-manager.h	2010-04-04 01:00:15.087828718 -0400
+++ hacked/applets/notification_area/na-tray-manager.h	2010-04-04 00:12:52.031821315 -0400
@@ -56,6 +56,8 @@
   GdkScreen *screen;
   GtkOrientation orientation;
   gint padding;
+  GdkColor fg;
+  GdkColor bg;
 
   GList *messages;
   GHashTable *socket_table;
@@ -94,6 +96,9 @@
 GtkOrientation  na_tray_manager_get_orientation (NaTrayManager      *manager);
 void            na_tray_manager_set_padding      (NaTrayManager      *manager,
 						  gint                padding);
+void            na_tray_manager_set_colors       (NaTrayManager      *manager,
+                                                  GdkColor           *fg,
+                                                  GdkColor           *bg);
 
 G_END_DECLS
 
