Re: REQ: X11 programming help
Re: REQ: X11 programming help
- Subject: Re: REQ: X11 programming help
- From: Matthew Klahn <email@hidden>
- Date: Tue, 20 Jan 2004 14:11:20 -0600
On Jan 19, 2004, at 23:09 , John Harper wrote:
Hi,
The main thing you're missing is that any window managed by a window
manager will be reparented away from the root window, and into a
window created by the wm that is a child of the root. Presumably
you're iterating over all children of the root window, in which case
you'll only see the windows created by the window manager (and any
windows that it decided not to manage)
All of the attributes or properties you mention below will be set on
the original window. The way to find that window for a given child of
the root is to recurse down the subtree until you find a window with
the WM_STATE property set on it -- that's the original window, and
where you can check for WM_TRANSIENT_FOR etc
Once you find the actual client window, checking for either
WM_TRANSIENT_FOR or override_redirect should get you most popup
windows. It may also be worth checking the _NET_WM_WINDOW_TYPE
property (see
http://freedesktop.org/Standards/wm-spec/1.3/ar01s05.html#id2767898)
John
Hi, John.
Thank you very, very much. I was able to find the actual client window
for most windows, and the ones with override-redirect are still
parented by root (which is now ok, since I can find the ones without
override-redirect set to True). This has definitely solved my problems!
Thanks for the help.
--
Matthew S. Klahn
Software Architect, CodeTek Studios, Inc.
http://www.codetek.com
_______________________________________________
x11-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/x11-users
X11 for Mac OS X FAQ: http://developer.apple.com/qa/qa2001/qa1232.html
Report issues, request features, feedback: http://developer.apple.com/bugreporter
Do not post admin requests to the list. They will be ignored.