gtk_widget_shape_combine_mask and gdk_window_set_child_shapes



Anyone have experience using gdk_window_set_child_shapes?  or
(merge_child_shapes)

I don't really understand how it works.

The effect I want is to have a top level window without decorations that
appears to have a few sections (normal gtk widgets) that appear to float
around together.

I apply gtk_widget_shape_combine_mask to the different and they look
good in the layout.  

I was hoping I could then call gdk_window_set_child_shapes is the gdk
window of the top level and everything would be great, but instead this
makes everything disappear.  

The application is running and if I run xwininfo, all the children
windows exist and have the proper dimension, but nothing appears on
screen.  Further, if I iconify/deiconify (under Gnome) I see an outline
collapse into the taskbar. 

If I call gdk_window_set_child_shapes the behavior is also strange, now
the main window draws with a truncated rectangular version that cuts off
across the other sections.  (xwininfo says the children still have their
original dimension)

If I compose a bitmap mask of the exact dimension and placement of all
the widgets, then I can call gtk_widget_shape_combine_mask on the
toplevel and get the desired behavior.  I want to avoid doing this
because it would be a royal pain to update the mask for any little
change.

Any suggestions, ideas, or experience will be welcomed  :)

Regards,

Andrew Shafer      
    






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]