<div dir="ltr">Iterating backwards through the list of children seems to be enough to get through the road block I'd hit; I'm kind of surprised it was that simple. I do no think I need to be concerned with partially exposed windows in my particular display application, but I will keep the shape extension in mind and investigate it when I have time or requirements to do so. Thanks for the assist. </div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 10, 2015 at 10:35 AM, Thomas Lübking <span dir="ltr"><<a href="mailto:thomas.luebking@gmail.com" target="_blank">thomas.luebking@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mittwoch, 8. April 2015 23:50:59 CEST, Mike Stewart wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So fair warning, I've recently been asked to do some display work and I'm<br>
not extremely familiar with it.<br>
<br>
I am currently in the midst of trying to write something that can identify<br>
the lowest level visible widget at the location and return the window ID,<br>
but find I'm having a wee bit of trouble. Using the known display and the<br>
default root window of that display, I was attempting to find the window ID<br>
of a button widget by recursively calling XQueryTree.<br>
</blockquote>
<br>
<br>
<br></span>
Good idea.<br>
Do XQueryTree on the root window and iterate the returned list backwards.<br>
The first currently mapped window that covers the desired spot is your "Window" (nb. that you'll likely also have to cover the shape extension, ie. check whether the window has a mask and whether the desired spot is masked away in this window)<br>
<br>
Then repeat that process recursively until a window has no more mapped children under the target position. That's your desired widget.<br>
<br>
NOTICE: "modern" toolkits (Gtk+ & Qt) do usually no longer use one X drawable per UI element. The window is a plain & empty surface from the X11 pov.<br>
<br>
Cheers,<br>
Thomas<div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
<a href="mailto:xorg@lists.x.org" target="_blank">xorg@lists.x.org</a>: X.Org support<br>
Archives: <a href="http://lists.freedesktop.org/archives/xorg" target="_blank">http://lists.freedesktop.org/<u></u>archives/xorg</a><br>
Info: <a href="http://lists.x.org/mailman/listinfo/xorg" target="_blank">http://lists.x.org/mailman/<u></u>listinfo/xorg</a><br>
Your subscription address: %(user_address)s</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div>Mike Stewart</div><div><a href="mailto:mstewart@altroninc.com" target="_blank">mstewart@altroninc.com</a></div><div>703-263-7306</div><div><br></div><div><font size="1"><span style="background-color:rgb(255,255,255);font-family:Consolas">This electronic mail transmission,</span><span style="font-family:arial,sans-serif;background-color:rgb(255,255,255)"> </span><span style="background-color:rgb(255,255,255);font-family:Consolas">including any attachments, may contain certain information (technical data, proprietary information,</span><span style="font-family:arial,sans-serif;background-color:rgb(255,255,255)"> </span><span style="background-color:rgb(255,255,255);font-family:Consolas">etc.) whose dissemination is controlled by US export laws and regulations, DOD Distribution <span style="background-color:rgb(255,255,204)">D</span> <span style="background-color:rgb(255,255,204)">statements</span>, or non-disclosure agreements.  Unauthorized review, use, disclosure, or distribution is prohibited.</span></font></div></div>
</div>