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: Greg Parker <email@hidden>
- Date: Wed, 7 Nov 2007 13:38:06 -0800
On Nov 7, 2007, at 12:55 PM, Jamie Kennea wrote:
I believe I have found the main issue I have with Leopard X11 and
Spaces. Specifically it would appear that Spaces does not like X11
windows to be in the same location of the screen on different Spaces.
I can reproduce the following everytime with Xquartz 1.2a7:
1. Create 2 xterm windows.
2. Move the 2nd to another space, but put it in the same location as
the first window.
3. The window in the 2nd Space should be selected at this point, go
back to the first space and without moving the mouse button, click
on the xterm window: Nothing happens.
You cannot click on the xterm at any point where the 2 windows
overlap (if you transpose the 2 spaces). All events including mouse
clicks will go to the currently focused window, regardless of what
Space it is on.
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.
--
Greg Parker email@hidden Runtime Wrangler
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden