GtkWidget * canvas = gtk_plug_new((GdkNativeWindow) (hwnd)); gtk_widget_show(canvas); g_signal_connect (G_OBJECT (canvas), "destroy", G_CALLBACK (gtk_main_quit), NULL); GtkWidget * gtk_socket = gtk_socket_new(); gtk_container_add (GTK_CONTAINER(canvas), gtk_socket); gtk_widget_show(gtk_socket); XReparentWindow(GDK_WINDOW_XDISPLAY(canvas->window), GDK_WINDOW_XID(canvas->window), (Window)hwnd, 0, 0); XMapWindow(GDK_WINDOW_XDISPLAY(canvas->window), GDK_WINDOW_XID(canvas->window));