• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

  • Follow-Ups:
    • Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
      • From: Greg Parker <email@hidden>
    • Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
      • From: Jeremy Huddleston <email@hidden>
References: 
 >X11 and Expose (From: email@hidden)
 >Re: X11 and Expose (From: "Nathaniel Gray" <email@hidden>)
 >X11/Spaces thinks X11 windows are overlapping on different Spaces (From: Jamie Kennea <email@hidden>)
 >Re: X11/Spaces thinks X11 windows are overlapping on different Spaces (From: Greg Parker <email@hidden>)
 >Re: X11/Spaces thinks X11 windows are overlapping on different Spaces (From: Jeremy Huddleston <email@hidden>)

  • Prev by Date: Re: Announcing 1.2a7 (many bug fixes!)
  • Next by Date: Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
  • Previous by thread: Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
  • Next by thread: Re: X11/Spaces thinks X11 windows are overlapping on different Spaces
  • Index(es):
    • Date
    • Thread