Hello gtk people, I'm proud I've finished my patch that allows for transparent icons (see next mail ->drag and drop) and other funky things like toasters that jump over your X11 screen. I hope you enjoy this. Here's the README: ---- Hello, I want this want to go into gtk+. This patch to gtk+971025 makes the X11 shape extension available. With this patch, every gtk widget that has a gdkwindow can have a nonrectangular shape, which allows for transparent pixmaps which is important for drag and drop. The shape of a gdk_window can be set by gdk_window_shape_combine_mask. The mask that defines the new shape can be taken directly from the call gdk_pixmap_create_from_xpm{_d}. This makes use of .xpm files with transparent background very easy. For GtkWidgets there is call gtk_widget_shape_combine_mask. It can be called before a widget is shown. The call also takes a shape mask. Both calls take x and y offsets that can be used to make the shape apply at a different point than (0,0) of the widget. One of the GtkWidget status bits (GTK_HAS_SHAPE_MASK) is used to denote if a widget has a nonrectangular shape. If a widget gets hidden and shown again, the mask of the widget is still active. The patch also extends testgtk.c with a test case called 'shapes'. It shows three shaped xpm's that can be dragged around like in a drag and drop action. All in all, I would say this is a cool feature :) I hope this will go into the drag and drag efforts that seem to be made soon with gtk+. For DnD, there probably should be a new widget 'GtkDragIcon' or so that bundles the necessary steps of the creation of draggable shaped pixmaps. bye Stefan Stefan_Wille@public.uni-hamburg.de ----
gtk-wille-971027-0.patch.tar.gz