Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
- Subject: Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
- From: Jeremy Huddleston <email@hidden>
- Date: Thu, 8 Nov 2007 00:38:57 -0800
So I spent a bit more of my time on this and found something odd that
perhaps someone here can explain. My code for this little X11 app is
attached. The application creates two X11 windows for this testing
and every two seconds prints the X11 window stack.
The odd thing is that the window IDs get changed at some point, and
X11 looses the window name information. I tested this out on my linux
box and discovered that this occurs whenever I have a WM running.
When I don't have a wm (just have exec xterm in mw .xinitrc), the
window list appears as I'd expect, but when I do have a WM (even a
minimal one like twm), I notice the same thing (window IDs changed and
names becoming null).
I think it can still be used to debug the problem people are having
confirming the window ordering discrepancy between quartz and X11, but
I'd rather see the name than try to remember the window ID number.
Does anyone know a better way to get the window title that will work
here? If not, I'll just try to make use of this as is to confirm
Greg's theory.
Thanks,
Jeremy
~/Desktop/xwinlist $ make && ./xwinlist
make: Nothing to be done for `all'.
X-Window Stack Order (Bottom-most first):
Window 6291457 : (null)
Window 6291463 : (null)
Window 6291479 : (null)
Window 6291485 : (null)
Window 2097153 : win1
Window 2097154 : win2
X-Window Stack Order (Bottom-most first):
Window 6291457 : (null)
Window 6291463 : (null)
Window 6291479 : (null)
Window 6291485 : (null)
Window 6291596 : (null)
Window 6291599 : (null)
Attachment:
Makefile
Description: Binary data
Attachment:
xwinlist.c
Description: Binary data
On Nov 7, 2007, at 2:17 PM, Jeremy Huddleston wrote:
On Nov 7, 2007, at 1:38 PM, Greg Parker wrote:
This is a good catch. The symptom sounds like the X11 window server
and the Quartz window server disagree about the window layout. In
this case, the X11 server thinks both windows are visible and
overlapping in the same place, while the Quartz window server
thinks the window in the "other space" is hidden or positioned
offscreen or something.
When you click on the "overlap" area, the Quartz window server
routes the click to one of the windows, which belongs to the X11
server. But when the X11 server receives the click, it ignores the
window choice made by the Quartz server and instead re-routes the
click from scratch based on its own idea of where the windows are.
If the X11 server's model is mistaken, it'll send the click to the
wrong window.
This hypothesis predicts that a comparison of position, stacking,
and visibility of X11's top-level windows won't match the view on
screen or Quartz Debug's window list. An exercise for some
developer playing at home: write an X11 program that periodically
uses XQueryTree() to get the list of the root window's children and
prints their states and positions. (Or find some existing X11
program to do it.) Run that and Quartz Debug, then fire up some
xterms and Spaces and see what you can find.
This sounds rather likely to be the culprit as the expose-focus bug
I mentioned earlier could be a symptom of this same problem. I'm
putting my stock into this being the problem and will try looking
into it this weekend if nobody squashes it first (which given the
quick progress this past week, I wouldn't be surprised about). I
just realized I have a deadline in 2 hours and I'm wasting too much
time on this right now, so here's the little X program I started to
do this... someone else should just need to fill in the "Do
Something Useful" part:
--Jeremy
<Makefile><xwinlist.c> _______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden