Your main GtkWindow widget has a GdkWindow, which can be accessed with GTK_WIDGET(window)->window. In fact, every widget has an associated GdkWindow. In any case, you should check out the gdk_window_set_back_pixmap(), found at http://developer.gnome.org/doc/API/2.0/ ... ack-pixmap
Also, you should check out gdk_window_shape_combine_mask(). Use this function to set the GdkWindows of all of the other widgets in the window wath an alpha mask (transparency).
I've never done this, but I'm pretty sure this is how you would do it. I would recommend you check out Google Code Search or Krugle for examples of how to use these functions.