diff options
Diffstat (limited to 'net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff')
-rw-r--r-- | net-voip/ekiga/files/ekiga-eggtrayicon-transparency.diff | 95 |
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 * |