So far I have found that Laz uses a Gtk pointer to a structure rather than a window handle directly. Anybody know what type of structure (and where to find it) ?
SteveG wrote: > Thanks Graeme > I will see if I can find how to convert from GTK to LCL handles (your > theory sounds good) > I have been waiting for fpGUI to be stable enough to use anyway (from > the LCL point of view), > so this issue may be a null point soon anyway for me. > > 'xwininfo' does indeed find the 'main' window, but I am calling > 'xquerytree' to get a list of windows > and children (using xwininfo just for testing), and dont seem to be able > to find how to determine which is the 'main' from the returned data > (seem to be a lot of 'no name' windows in the tree - many at the top level) > > Graeme Geldenhuys wrote: > >> On Sun, Aug 3, 2008 at 6:37 AM, SteveG <[EMAIL PROTECTED]> wrote: >> >> >>> Having a problem understanding the usage of window handles in Linux >>> >>> Linux (Ubuntu 8.04): >>> I can find no correlation between the Laz supplied window handle >>> (Form1.Handle), and the X11 required handle - found using 'xwininfo -int >>> -tree' (and clicking on Form1 of testapp) >>> As an example, Laz returned 138531872, xwininfo returned 62915166. >>> >>> >> I think the following is true, but I might be wrong. Due to the fact >> that LCL doesn't talk directly to XLib (unlike fpGUI), it returns some >> GTK object handle. I guess you need to find a way to convert or query >> the actual X11 handle from that GTK object handle. This is just a >> guess. >> >> >> >>> As an aside to this, how do I determine the 'main/important' window >>> handle from the list returned by >>> >>> >> I simply use "xwininfo -tree" and gives me the following results, >> after I clicked on the window I am interested in. >> >> ----------------------[ start ]------------------------------ >> [EMAIL PROTECTED]:~$ xwininfo -tree >> >> xwininfo: Please select the window about which you >> would like information by clicking the >> mouse in that window. >> >> xwininfo: Window id: 0x2e000a4 "Vodafone Mobile Connect Card driver for >> Linux" >> >> Root window id: 0x5b (the root window) (has no name) >> Parent window id: 0x100013d (has no name) >> 25 children: >> 0x2e000fd (has no name): () 578x15+2+468 +1305+1150 >> 0x2e000fc (has no name): () 15x3+583+462 +1886+1144 >> 0x2e000f5 (has no name): () 576x1+3+463 +1306+1145 >> 1 child: >> 0x2e000f6 (has no name): () 566x1+5+5 +1311+1150 >> 1 child: >> 0x2e000f7 (has no name): () 566x1+0+0 +1311+1150 >> 0x2e000f4 (has no name): () 600x27+0+433 +1303+1115 >> 0x2e000f3 (has no name): () 168x87+416+307 +1719+989 >> 0x2e000d8 (has no name): () 168x87+242+307 +1545+989 >> <...snip....> >> ------------[ end ]----------------- >> >> Now that clearly shows the root id (desktop or Root window id: 0x5b) >> and the main window I clicked on (Parent window id: 0x100013d) and >> then it's 25 children with their positions. >> >> >> Regards, >> - Graeme - >> >> >> _______________________________________________ >> fpGUI - a cross-platform Free Pascal GUI toolkit >> http://opensoft.homeip.net/fpgui/ >> _______________________________________________ >> Lazarus mailing list >> [email protected] >> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus >> >> >> > > _______________________________________________ > Lazarus mailing list > [email protected] > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus > > _______________________________________________ Lazarus mailing list [email protected] http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
