Updating branch refs/heads/nick/gtk3 to a3b73cb278a0ff2d2f939edd5aa9b53860b2812c (commit) from 83b7df032eceb5ad4266611effd98663f8eda55d (commit)
commit a3b73cb278a0ff2d2f939edd5aa9b53860b2812c Author: Peter de Ridder <pe...@xfce.org> Date: Tue Apr 16 20:28:22 2013 +0200 Changed systray to use visuals. plugins/systray/systray-socket.c | 50 +++++++++++-------------------------- 1 files changed, 15 insertions(+), 35 deletions(-) diff --git a/plugins/systray/systray-socket.c b/plugins/systray/systray-socket.c index 18dcc0d..6188774 100644 --- a/plugins/systray/systray-socket.c +++ b/plugins/systray/systray-socket.c @@ -136,14 +136,13 @@ systray_socket_realize (GtkWidget *widget) socket->parent_relative_bg = FALSE; } - // FIXME - //else if (gtk_widget_get_visual (widget) == - // gdk_drawable_get_visual (GDK_DRAWABLE (gdk_window_get_parent (window)))) - // { - // gdk_window_set_back_pixmap (window, NULL, TRUE); - // - // socket->parent_relative_bg = TRUE; - // } + else if (gtk_widget_get_visual (widget) == + gdk_window_get_visual (gdk_window_get_parent (window))) + { + gdk_window_set_background_pattern (window, NULL); + + socket->parent_relative_bg = TRUE; + } else { socket->parent_relative_bg = FALSE; @@ -246,8 +245,7 @@ systray_socket_new (GdkScreen *screen, XWindowAttributes attr; gint result; GdkVisual *visual; - //GdkColormap *colormap; //FIXME - //gboolean release_colormap = FALSE; + gint red_prec, green_prec, blue_prec; panel_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); @@ -267,37 +265,19 @@ systray_socket_new (GdkScreen *screen, if (G_UNLIKELY (visual == NULL)) return NULL; - /* get the correct colormap */ - // FIXME - //if (visual == gdk_screen_get_rgb_visual (screen)) - // colormap = gdk_screen_get_rgb_colormap (screen); - //else if (visual == gdk_screen_get_rgba_visual (screen)) - // colormap = gdk_screen_get_rgba_colormap (screen); - //else if (visual == gdk_screen_get_system_visual (screen)) - // colormap = gdk_screen_get_system_colormap (screen); - //else - // { - // /* create custom colormap */ - // colormap = gdk_colormap_new (visual, FALSE); - // release_colormap = TRUE; - // } - /* create a new socket */ socket = g_object_new (XFCE_TYPE_SYSTRAY_SOCKET, NULL); socket->window = window; socket->is_composited = FALSE; - //gtk_widget_set_colormap (GTK_WIDGET (socket), colormap); //FIXME - - /* release the custom colormap */ - // FIXME - //if (release_colormap) - // g_object_unref (G_OBJECT (colormap)); + gtk_widget_set_visual (GTK_WIDGET (socket), visual); /* check if there is an alpha channel in the visual */ - // FIXME - //if (visual->red_prec + visual->blue_prec + visual->green_prec < visual->depth - // && gdk_display_supports_composite (gdk_screen_get_display (screen))) - // socket->is_composited = TRUE; + gdk_visual_get_red_pixel_details (visual, NULL, NULL, &red_prec); + gdk_visual_get_green_pixel_details (visual, NULL, NULL, &green_prec); + gdk_visual_get_blue_pixel_details (visual, NULL, NULL, &blue_prec); + if (red_prec + blue_prec + green_prec < gdk_visual_get_depth (visual) + && gdk_display_supports_composite (gdk_screen_get_display (screen))) + socket->is_composited = TRUE; return GTK_WIDGET (socket); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits