[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.
Regards,
--
Benoit Minisini
More information about the User
mailing list