summaryrefslogtreecommitdiff
path: root/src/shell-tray-manager.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>2008-12-05 23:20:10 +0000
committerOwen Taylor <otaylor@src.gnome.org>2008-12-05 23:20:10 +0000
commitd42bce21c5c748ea834f93882b15967ba4caff30 (patch)
tree336e1ee798570ade3c41df12ffe59690e3a6f9ac /src/shell-tray-manager.c
parentbd53366247f05924f4369cb34738a3363efb2bcf (diff)
Use CompositeRedirectManual for tray icons
We don't want the X server to draw the icons onto the screen, so use pass automatic=FALSE to clutter_x11_texture_pixmap_set_window(); causing CompositeRedirectManual to be used. svn path=/trunk/; revision=122
Diffstat (limited to 'src/shell-tray-manager.c')
-rw-r--r--src/shell-tray-manager.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/shell-tray-manager.c b/src/shell-tray-manager.c
index 6a757bbb..9f15dc6a 100644
--- a/src/shell-tray-manager.c
+++ b/src/shell-tray-manager.c
@@ -291,7 +291,14 @@ na_tray_icon_added (NaTrayManager *na_manager, GtkWidget *socket,
gdk_window_reparent (win->window, manager->priv->stage_window, 0, 0);
gtk_widget_show_all (win);
- icon = clutter_glx_texture_pixmap_new_with_window (GDK_WINDOW_XWINDOW (win->window));
+ icon = clutter_glx_texture_pixmap_new ();
+ /* Here automatic=FALSE means to use CompositeRedirectManual - that is,
+ * the X server shouldn't draw the window onto the screen */
+ clutter_x11_texture_pixmap_set_window (CLUTTER_X11_TEXTURE_PIXMAP (icon),
+ GDK_WINDOW_XWINDOW (win->window),
+ FALSE);
+ /* Here automatic has a different meaning - whether ClutterX11TexturePixmap
+ * should process damage update and refresh the pixmap itself */
clutter_x11_texture_pixmap_set_automatic (CLUTTER_X11_TEXTURE_PIXMAP (icon), TRUE);
clutter_actor_set_size (icon, 24, 24);