--- gtk/gtkstatusicon.c	2007/02/18 22:40:53	1.1
+++ gtk/gtkstatusicon.c	2007/02/18 23:08:53
@@ -61,7 +61,8 @@ enum
   PROP_STORAGE_TYPE,
   PROP_SIZE,
   PROP_VISIBLE,
-  PROP_BLINKING
+  PROP_BLINKING,
+  PROP_WIDGET
 };
 
 enum 
@@ -208,6 +209,14 @@ gtk_status_icon_class_init (GtkStatusIco
 							 TRUE,
 							 GTK_PARAM_READWRITE));
 
+  g_object_class_install_property (gobject_class,
+				   PROP_WIDGET,
+				   g_param_spec_object ("widget",
+							P_("Widget"),
+							P_("The embedded GtkWidget, or NULL"),
+							GTK_TYPE_WIDGET,
+							GTK_PARAM_READABLE));
+
 
   /**
    * GtkStatusIcon::activate:
@@ -574,6 +583,9 @@ gtk_status_icon_get_property (GObject   
     case PROP_VISIBLE:
       g_value_set_boolean (value, gtk_status_icon_get_visible (status_icon));
       break;
+    case PROP_WIDGET:
+      g_value_set_object (value, gtk_status_icon_get_widget (status_icon));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -1735,6 +1747,29 @@ gtk_status_icon_get_geometry (GtkStatusI
 #endif /* GDK_WINDOWING_X11 */
 }
 
+/**
+ * gtk_status_icon_get_widget:
+ * @status_icon: a #GtkStatusIcon
+ * 
+ * If the platform supports embedding widgets in the "system tray", returns
+ * the embedded widget; otherwise returns %NULL.
+ * 
+ * Return value: The embedded widget, or %NULL
+ *
+ * Since: 2.12
+ **/
+GtkWidget *
+gtk_status_icon_get_widget (GtkStatusIcon *status_icon)
+{
+  g_return_val_if_fail (GTK_IS_STATUS_ICON (status_icon), NULL);
+
+#ifdef GDK_WINDOWING_X11
+  return status_icon->priv->tray_icon;
+#else
+  return NULL;
+#endif /* GDK_WINDOWING_X11 */
+}
+
 
 #define __GTK_STATUS_ICON_C__
 #include "gtkaliasdef.c"
--- gtk/gtkstatusicon.h	2007/02/18 22:40:58	1.1
+++ gtk/gtkstatusicon.h	2007/02/18 22:45:53
@@ -113,6 +113,7 @@ gboolean              gtk_status_icon_ge
 							  GdkScreen         **screen,
 							  GdkRectangle       *area,
 							  GtkOrientation     *orientation);
+GtkWidget            *gtk_status_icon_get_widget         (GtkStatusIcon      *status_icon);
 
 G_END_DECLS
 
--- gtk/gtk.symbols	2007/02/18 22:44:05	1.1
+++ gtk/gtk.symbols	2007/02/18 22:46:42
@@ -1070,6 +1070,7 @@ gtk_status_icon_get_blinking
 gtk_status_icon_is_embedded
 gtk_status_icon_position_menu
 gtk_status_icon_get_geometry
+gtk_status_icon_get_widget
 #endif
 #endif
 
