Hi. I was dealing with a similar problem not so long ago and came up withthis piece of code that does what you want (plus some more, so pleaseignore the commented sections - the main point of the example is theusage of expose-event event). ----------------#include <gtk/gtk.h> static gbooleancb_expose( GtkWidget *widget, GdkEventExpose *event, GdkPixbuf *buf ){ gdk_draw_pixbuf( widget->window, NULL, buf, 0, 0, 0, 0, -1, -1,GDK_RGB_DITHER_NONE, 0, 0 ); return FALSE;} intmain (int argc, char *argv[]){ GtkWidget *window; GtkWidget *button; GdkPixbuf *buf; GdkPixmap *map; GdkBitmap *mask; gtk_init (&argc, &argv); window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_container_set_border_width( GTK_CONTAINER( window ), 20 ); g_signal_connect( G_OBJECT( window ), "destroy", G_CALLBACK( gtk_main_quit ), NULL ); /*gtk_window_set_default_size( GTK_WINDOW( window ), 300, 300 ); gtk_window_set_decorated( GTK_WINDOW( window ), FALSE ); gtk_widget_realize( window );*/ buf = gdk_pixbuf_new_from_file( "test.png", NULL ); /*gdk_pixbuf_render_pixmap_and_mask( buf, &map, &mask, 10 ); gdk_window_shape_combine_mask( window->window, mask, 0, 0 );*/ gtk_widget_set_app_paintable( window, TRUE ); g_signal_connect( G_OBJECT( window ), "expose-event", G_CALLBACK( cb_expose ), buf ); button = gtk_button_new_with_label( "WOW" ); gtk_container_add( GTK_CONTAINER( window ), button ); gtk_widget_show_all( window ); gtk_main(); return 0;}-------------------- 2008/12/6 zentara <zentara1@xxxxxxxxxxxxx>:> On Sat, 6 Dec 2008 09:55:55 +0530> "Harinandan S" <harinandans@xxxxxxxxx> wrote:>>>Hi All,>>>>How to set background image to a window? In my window there are few buttons.>>I want to set background image to the entire window? I googled but couldnt>>find much help.>>>>Regards,>>Harinandan S> Hi,> I use Perl and it was tough to figure that one out, because of the theme> engine, and the need to override it. If you use a pixmap based theme, it> is tenacious.>> However, if you want a Perl clue on how to do it, see renegadex's reply> at the bottom of> http://perlmonks.org?node_id=530061>> the basics is to get the current style of the window, and reset the bg_pixmap>> my $back_pixbuf = Gtk2::Gdk::Pixbuf->new_from_file($image);> my ($pixmap,$mask) = $back_pixbuf->render_pixmap_and_mask(255);> my $style = $window->get_style(); $style=$style->copy();> $style->bg_pixmap("normal",$pixmap); $window->set_style($style);>> it should be easy to convert to c.>>> Goodluck,> zentara>> --> I'm not really a human, but I play one on earth.> http://zentara.net/Remember_How_Lucky_You_Are.html> _______________________________________________> gtk-list mailing list> gtk-list@xxxxxxxxx> http://mail.gnome.org/mailman/listinfo/gtk-list> -- Tadej Borovšak00386 (0)40 613 131tadeboro@xxxxxxxxxxxxxxxxxxxxxxx@gmail.com_______________________________________________gtk-list mailing listgtk-list@xxxxxxxxxxxxx://mail.gnome.org/mailman/listinfo/gtk-list