[Xfce4-commits] <xfce4-panel:master> Use the widget snapshot as tasklist draw icon.

Nick Schermer noreply at xfce.org
Sat Feb 19 21:36:01 CET 2011


Updating branch refs/heads/master
         to 4b2c3cc8411fd0e989e0395ca458f16952f46686 (commit)
       from 7f74a499802c9d54d3ab87d1fd363bb3d00706bc (commit)

commit 4b2c3cc8411fd0e989e0395ca458f16952f46686
Author: Nick Schermer <nick at xfce.org>
Date:   Sat Feb 19 20:25:30 2011 +0100

    Use the widget snapshot as tasklist draw icon.

 plugins/tasklist/tasklist-widget.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/plugins/tasklist/tasklist-widget.c b/plugins/tasklist/tasklist-widget.c
index 61c06d2..5a64b5f 100644
--- a/plugins/tasklist/tasklist-widget.c
+++ b/plugins/tasklist/tasklist-widget.c
@@ -2818,9 +2818,24 @@ xfce_tasklist_button_drag_begin (GtkWidget         *button,
                                  XfceTasklistChild *child)
 {
   GdkPixbuf *pixbuf;
+  GdkPixmap *pixmap;
 
   panel_return_if_fail (WNCK_IS_WINDOW (child->window));
 
+  if (child->tasklist->show_labels)
+    {
+      pixmap = gtk_widget_get_snapshot (button, NULL);
+      if (pixmap != NULL)
+        {
+          gtk_drag_set_icon_pixmap (context,
+              gdk_drawable_get_colormap (GDK_DRAWABLE (pixmap)),
+              pixmap, NULL, 0, 0);
+          g_object_unref (G_OBJECT (pixmap));
+
+          return;
+        }
+    }
+
   pixbuf = wnck_window_get_icon (child->window);
   if (G_LIKELY (pixbuf != NULL))
     gtk_drag_set_icon_pixbuf (context, pixbuf, 0, 0);



More information about the Xfce4-commits mailing list