summaryrefslogtreecommitdiffstats
path: root/net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff
diff options
context:
space:
mode:
Diffstat (limited to 'net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff')
-rw-r--r--net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff95
1 files changed, 0 insertions, 95 deletions
diff --git a/net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff b/net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff
deleted file mode 100644
index f165c63..0000000
--- a/net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff
+++ /dev/null
@@ -1,95 +0,0 @@
-Index: eggtrayicon.c
-===================================================================
-RCS file: /cvs/gnome/libegg/libegg/tray/eggtrayicon.c,v
-retrieving revision 1.8
-diff -u -r1.8 eggtrayicon.c
---- lib/gui/gmtray/eggtrayicon.c 16 Jun 2005 13:27:40 -0000 1.8
-+++ lib/gui/gmtray/eggtrayicon.c 22 Feb 2006 21:35:25 -0000
-@@ -67,6 +67,9 @@
- static void egg_tray_icon_realize (GtkWidget *widget);
- static void egg_tray_icon_unrealize (GtkWidget *widget);
-
-+static void egg_tray_icon_add (GtkContainer *container,
-+ GtkWidget *widget);
-+
- #ifdef GDK_WINDOWING_X11
- static void egg_tray_icon_update_manager_window (EggTrayIcon *icon,
- gboolean dock_if_realized);
-@@ -113,6 +116,7 @@
- {
- GObjectClass *gobject_class = (GObjectClass *)klass;
- GtkWidgetClass *widget_class = (GtkWidgetClass *)klass;
-+ GtkContainerClass *container_class = (GtkContainerClass *)klass;
-
- parent_class = g_type_class_peek_parent (klass);
-
-@@ -121,6 +125,8 @@
- widget_class->realize = egg_tray_icon_realize;
- widget_class->unrealize = egg_tray_icon_unrealize;
-
-+ container_class->add = egg_tray_icon_add;
-+
- g_object_class_install_property (gobject_class,
- PROP_ORIENTATION,
- g_param_spec_enum ("orientation",
-@@ -367,6 +373,36 @@
-
- #endif
-
-+static gboolean
-+transparent_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data)
-+{
-+ gdk_window_clear_area (widget->window, event->area.x, event->area.y,
-+ event->area.width, event->area.height);
-+ return FALSE;
-+}
-+
-+static void
-+make_transparent_again (GtkWidget *widget, GtkStyle *previous_style,
-+ gpointer user_data)
-+{
-+ gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
-+}
-+
-+static void
-+make_transparent (GtkWidget *widget, gpointer user_data)
-+{
-+ if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget))
-+ return;
-+
-+ gtk_widget_set_app_paintable (widget, TRUE);
-+ gtk_widget_set_double_buffered (widget, FALSE);
-+ gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
-+ g_signal_connect (widget, "expose_event",
-+ G_CALLBACK (transparent_expose_event), NULL);
-+ g_signal_connect_after (widget, "style_set",
-+ G_CALLBACK (make_transparent_again), NULL);
-+}
-+
- static void
- egg_tray_icon_realize (GtkWidget *widget)
- {
-@@ -381,6 +417,8 @@
- if (GTK_WIDGET_CLASS (parent_class)->realize)
- GTK_WIDGET_CLASS (parent_class)->realize (widget);
-
-+ make_transparent (widget, NULL);
-+
- screen = gtk_widget_get_screen (widget);
- display = gdk_screen_get_display (screen);
- xdisplay = gdk_x11_display_get_xdisplay (display);
-@@ -411,6 +449,14 @@
- gdk_window_add_filter (root_window,
- egg_tray_icon_manager_filter, icon);
- #endif
-+}
-+
-+static void
-+egg_tray_icon_add (GtkContainer *container, GtkWidget *widget)
-+{
-+ g_signal_connect (widget, "realize",
-+ G_CALLBACK (make_transparent), NULL);
-+ GTK_CONTAINER_CLASS (parent_class)->add (container, widget);
- }
-
- EggTrayIcon *