Transient windows
Jérôme Guilmette
jerome.guilmette at gmail.com
Thu Oct 2 12:18:44 PDT 2008
Hi X gurus and developers,
I just hope I'm writing to the right mailing list to ask about
development using the X Window System, if not, please redirect me.
Here's my situation:
I'm currently developing a software that is taking images from a
selected X window in order to process the data and put it back in a
different window. I'm doing a XGetImage() on a backing pixmap to avoid
the overlapping and "out of sight" windows effects and I'm now
interested to follow up the windows mapped from my processed window. By
example, when I put the mouse over one of the window's buttons, a small
window is appearing or when I slide through the window's menu, menu
windows are mapped. Those windows are very interesting because they are
part of the same application and my software would be incomplete without
them.
I first thought that those windows were created by the "mother" on which
I'm doing data processing but I discovered that many of them are only
mapped, like if they were previously created. After doing a XQueryTree
on windows mapped from the processed window menu, I saw that their
parent is in fact the root window itself. So there is no way I can tell
that this window is in fact called by my processed window.
After yet another search, I discovered that those windows are what is
called "transient" windows and many windows like pop-ups or dialog boxes
are in fact transients. I still don't clearly understand the ideas
behind the transient principle, the documentation that I've found is
light and examples aren't many on the web or won't go too deep into the
matter. I don't know if you have any link to suggest me, if any, I'd be
glad.
So I would like to know if there is a way to know from any type of
windows created from the processed window, that this window is in fact
called from the application that is mapped on the processed window. By
example, to know that the "File or Tools menu window" is in fact created
by the application running on the processed window. Knowing this, I'd be
able to take this newly mapped window, take the data and process them.
Is this related with the transient property or to another one?
Any help or direction to documentation on the matter would be greatly
appreciated.
Thank you very much,
Jérôme
More information about the xorg
mailing list