[Gambas-user] how to use embedder?

Benoit Minisini gambas at ...1...
Thu Oct 6 13:22:42 CEST 2005

On Thursday 06 October 2005 10:04, tetsuo wrote:
> Benoit Minisini wrote:
> > On Wednesday 05 October 2005 10:20, tetsuo wrote:
> >>Hi all, someone knows how to use "embedder" component in gambas 1.9.20?
> >>I didn't find anything about it...
> >
> > Quickly:
> >
> > - MyEmbedder.Embed(X11WindowId) to embed an existing window.
> > - MyEmbedded.Discard to cancel the embedding.
> >
> > Or you can execute a child process by giving it the MyEmbedder.Id as
> > argument, and, in the child process, call 'Application.Embedder =
> > MyEmbedderIdArgument' to automatically embed the next opened window
> > inside the parent process Embedder control.
> >
> > Regards,
> ok, thanks benoit ... but i have another problem now:
> I've tried to embed a "xterm" window manually opened from WM , and it
> works perfectly. In this case i have got the WindowID from "xwininfo";
> how can i get the X11WindowId of external window launched from a gambas
> application (for example an xterm started with EXEC or with SHELL)?
> ...and then, is it possible to obtain the X11WindowsId of an external
> application launched from extern of gambas application (pheraps i can
> get the list of opened windows in the WM)?

The application you want to embed must have an option to pass the Embedder 
window id (like mplayer), or have a way to give back its own main window id 
(like all KDE applications with dcop).

As for xterm, you must look in the man page to see if there is a way to get 
the window id.

Otherwise, you can search the opened main windows with Desktop.Find(Title, 
Application, Role) that returns an array of windows id that match the 
specified criteria.


Benoit Minisini

More information about the User mailing list