Hi, On Fri, 25 Mar 2005 01:34:44 -0500, Havoc Pennington <hp@xxxxxxxxxx> wrote: > On Fri, 2005-03-25 at 13:50 +0800, KC wrote: > > This I don't quite agree. Look at the function prototype, it's > > > > void gtk_socket_add_id (GtkSocket *socket_, GdkNativeWidnow XID); > > > > It implies all GdkNativeWindow should work ... > > I prefer looking at the docs ;-) > > * gtk_socket_add_id: > * @socket_: a #GtkSocket > * @window_id: the window ID of a client participating in the XEMBED protocol. > * > * Adds an XEMBED client, such as a #GtkPlug, to the #GtkSocket. MMMmmm ... I think I forgot to look at that ... I trace the source code and found gtk_socket_add_id() is in fact identical to gtk_socket_steal() ... so I confuse myself ... what I'm talking SHOULD BE gtk_socket_steal() instead of gtk_socket_add_id() ... that's my fault. So my question should be replaced by: gtk_socket_steal() can't reparent xeyes properly ... Call XReparentWindown() couple times with XSync() might fix the problem ... as the patch I posted said. But gtk_socket_steal() was deprecated .... so bad. Regards KC > > > It works perfectly for gnuplot (and xeyes ^.^). Since communication between > > embedder (socket) and gnuplot is goes through pipe or pseudo tty, not XEMBED. > > So, again it's the decision application should make, not toolkit. > > The app is welcome to make the decision, but it's just like an app > deciding to use a pie chart. GTK+ doesn't have a pie chart widget. GTK+ > doesn't have an "embed random window" widget either. So you have to go > somewhere other than GTK+ to find this code. GTK+ isn't going to stop > you from doing so. > > Havoc _______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list