You can get the Window IDs for two applications. These are top level windows and may be a parent of the gdk window you wish to embedd.
The Socket/Plug api may or may not have bugs I don't think people understand that the child GdkWindows are not mapped to a directfb window only the top level frames. However once you do have two toplevel windows you have the issue of window management between the two. So their is a huge mismatch between th socket/plug api and directfb. Now with this said the DirectFB way is form on process to create the window and pass the window ID to the second process and for the second process to draw on a sub region of this window. Its easily done in directfb just the Gdk api makes a lot of assumptions that are not true under directfb. So its trivial to do just you need a DirectFB specific api we cannot use the socket plug. Now given this api we might be able to play games like creating a window in one process passing it to the plug process and back agian via the socket api I don't know. My sugesstion is you get your DirectFB window id for the Socket side or container app and pass it to the other process and do your plugin. If you send me a patch that works well for directfb I'll probably do it as a DFB extension api for gtk as apposed to socket/plug if I can't figure out a way to emulate under socket plug. The key suggestion is forget about socket plug make your DirectFB plugins work which means one process creates a window and passes the ID to the second process. Then you probaby need to do a subsurface and do one of the "fake" child gdk windows on a subsurface. This child needs to be registered back with the Socket or it can be created and passed. I can help but we may need a different api and I'd like to see you accomplish regular DirectFB plugins so we have a working example. You may well want to just work in plain directfb first so you can understand how plugins work in DFB. My understanding is that you can get one DirectFB Window ID this is all you need. Get it working with that an then we will work towards either the standard api a custom api or even a proposal to modify the socket/plug api to make it more general. On 9/25/07, Kumar Siddharth <[EMAIL PROTECTED]> wrote: > > > I am interested in implementing GtkSocket and GtkPlug for DirectFB Backend. > > Regards, > Siddharth > TATA Elxsi, INDIA > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Mike Emmel > Sent: Tuesday, September 25, 2007 8:26 AM > To: directfb > Subject: [directfb-dev] GtkSocket/Plug > > > The bug that haunts me... > > http://bugzilla.gnome.org/show_bug.cgi?id=469278 > > > The problem is Gdk is built on the notion of real subwindows we don't > have those yet in directfb. So we have no notion of embedding a window > into another. > > You can get the window ids of of two windows in two different processes and > use > > http://www.directfb.org/docs/DirectFB_Reference_1_1/IDirectFBDisplayLayer_Ge > tWindow.html > > To get the interfaces. > > Issues. > > Only the toplevel GdkDrawable are mapped to DIrectFB windows the rest > are lightweight. > DirectFB has no notion of embbedding we whould have to move/resize the > two windows in synch this is a wm issue. > > In general I see no way to implement this in a sane manner using the > current api we really need to extend the concepts of windows but > Dennis and I have covered this in depth. > I know exactly what needs to be done its a matter of not having the > time/money to do it. > > In the mean time if some one wants to make custom embedding work in > GTK what you need to do is fix any bugs in getting the window ids in > the current code it probably works just people don't realize they need > to walk the tree to get a DFBWindow id and they may have to map the > window. > Once you get the two window ids its your problem to keep them synced. > > In general to make Gtk/DirectFB work completely we are going to have > create some interfaces that better mimic X11 and other systems to make > porting easier. Real child windows for example. I'd suggest that > problem is that Gtk is not really portable but.. > > I think that the current DirectFB api is fine for someone willing to > write a custom window manager and widget set using directfb if your > rolling your own then no problems. Porting or working with the > existing X11 software code base is more difficult than it should be. > Internally DirectFb is a lot more flexible and capable than the public > api exposes so its not a matter of ability. > > > Just some thoughts and maybe people will quit buggingme about > gtksocket/plug. > > _______________________________________________ > directfb-dev mailing list > [email protected] > http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev > > > The information contained in this electronic message and any attachments to > this message are intended for the exclusive use of the addressee(s) and may > contain proprietary, confidential or privileged information. If you are not > the intended recipient, you should not disseminate, distribute or copy this > e-mail. Please notify the sender immediately and destroy all copies of this > message and any attachments contained in it. > > Contact your Administrator for further information. > _______________________________________________ directfb-dev mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
