SteveG wrote 7 lines
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 ]------------------------------ graemeg at graemeg-laptop:~$ 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/