[Gambas-user] Re: Window positions
    Rob Kudla 
    sourceforge-raindog2 at ...94...
       
    Tue Mar 21 21:38:46 CET 2006
    
    
  
On Tue March 21 2006 15:18, GuruLounge - MailLists wrote:
> So there's no way to do this?
You would either have to use gb.api with Xlib to iterate through 
the list of X clients and retrieve the _NET_WM_PID property for 
each, or shell out to some program that does it for you.  I 
haven't done this myself, just googled for a way to do it.
Don't forget, one process can have a lot of X window ID's (do 
"xwininfo -root -tree -int" to see what I mean.)  It's not 
always safe to assume that the parent window is the main 
application window.
Naturally, all this assumes that your Gambas app and the desired 
window are on the same X display.  Also, not all window managers 
support _NET_WM_PID.... kwin has had it since KDE 3.1, but I 
don't know if the more lightweight ones do.
This is the price of network transparency.... X servers were 
never meant to know what process ID a window belonged to because 
X was designed as a "many hosts, many terminals" protocol.
It's possible you could get the source of xtoolwait and modify it 
to report back the X window ID as well as the process ID of the 
tool it starts, but even that is kind of chancy.
Rob
    
    
More information about the User
mailing list