GtkPlug and GtkSocket mechanism

Mike Hearn mike at
Thu Aug 28 12:00:36 CDT 2003

On Thu, 2003-08-28 at 17:30, Evalet Olivier wrote:
> if I make DBUS bridge with my attach will be not efficient? 

DBUS would only be needed if you wanted to embed an ActiveX control into
a native non-WineLib Linux app. If you stay within Wine-land then you
can forget about it.

> > I already put some basic support for processing XEMBED messages into
> > Wine with my system tray patch, that isn't merged yet. You might want to
> > take a look at that first.
> I have patched your work in my wine src, it works very well :). 
> But for the moment, it's too abstract.   
> I don't understand how to simulate a GtkSocket creation, 

A GtkSocket implements the embedder side of the XEMBED protocol, I
suggest you read it. There is no implementation of this in Wine.

A GtkPlug implements the embeddee side. This is what the tray icon patch
does. The only XEMBED "support" it adds really, is handling XEMBED
client messages and printing them out. It also has code for initiating a
dock. To fully support XEMBED client, you'd need to introduce a new
window message, handled by the default wndproc, that starts a dock with
the given XID. To allow other things to embed within Wine, you'd need to
do more work.

> how to send the windows handle to another process window??? 

Well, if the other process is a win32 process, there are several
options. You can just send it a window message, for instance.

> For my tests I try all in wine application (embed activex and to use methods).

That should work without XEMBED then. 

> After this, I will work for the magical xembed mechanism and at the end 
> I will implement DBUS bridge.    

Cool, let me know how it goes :)

thanks -mike

More information about the wine-devel mailing list