RE: X11/Spaces thinks X11 windows are overlapping on differentSpaces
RE: X11/Spaces thinks X11 windows are overlapping on differentSpaces
- Subject: RE: X11/Spaces thinks X11 windows are overlapping on differentSpaces
- From: "Umpleby, Adrian P" <email@hidden>
- Date: Thu, 8 Nov 2007 09:56:46 -0000
- Thread-topic: X11/Spaces thinks X11 windows are overlapping on differentSpaces
Title: RE: X11/Spaces thinks X11 windows are overlapping on differentSpaces
Part 2...
When it comes to OSX, though, the X server is suddenly 'playing second fiddle' -not only in that there are windows around about which it knows nothing (since they are not X11 windows), but there are also all kinds of things that can potentially happen to its own windows 'behind its back', so to speak. For example, bringing a window in front by choosing it via exposé... there has to be a notification of some sort added into the X server that informs it when such an event happens (i.e. "this window has come in front, even though you didn't expect it nor ask for it"). Another example, relevant to Leopard, would be Spaces (and this was true of CodeTek VirtualDesktop several years ago) -if a window is dragged off to another workspace (or even just dragged to a new location within the same workspace), and the X server doesn't know, it is very likely going to get confused at some point during its calculations of which window currently contains the X11 cursor. It must either be given that information explicitly through native enter/leave events (which is the route I went down in the hacked XDarwin bundled inside OroborOSX, bypassing much of the X server's own calculations [XYToWindow in dix/events.c being the relevant code, IIRC -maybe that could be a trick worth looking at for X11.app, Ben?]), or it must be told exactly what has happened (one of your windows has mysteriously 'vanished', so take that into account or else! -in this second scenario, a workspace switch with Spaces, for example, would then mean informing the X server about every one of its windows that was on the previous workspace and has now vanished, and every one of its windows that has appeared on the new workspace -oh, the joyous weeks I spent back in the day trying to work out how to make OroborOSX deal with CodeTek VirtualDesktop...)
It looks to me like the kinds of issues being reported on this list (Jeremy's and Jamie's overlapping xterms manipulated via exposé/Spaces; Mick's exposé focus issues; Scott's jumping windows across Spaces, etc.) are typical symptoms of the X server's confusion as outlined above when the OSX native window management does things that the X server misses, just as Greg has said.
As you can imagine, each new window-management feature added to OSX (such as Exposé or Spaces -minimisation to the Dock was the first one I had to work around) gives the potential requirement of yet another notification or check of some form in the X server (in its current form, at least) to deal with that new situation.
So, Ben (did you mention the word "team" in one post...? if so, Ben & co [yay!]), the X server code may often be something of a murky mess to wade through, but I'm excited at the potential prospects for X11 on OSX for the first time in several years. Keep up the good work, and, once these Leopard bugs are squished and the functionality with the native window-management is solid, let's see some innovation, too! (If you need suggestions, I have plenty...)
Anyway, I'd better stop these ramblings and get on with some work...
Cheers,
Adrian
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden