[Xquartz-dev] XQuartz 2.6.0_rc1 (for Leopard and Snow Leopard)

Jeremy Huddleston jeremyhu at apple.com
Fri Dec 10 09:45:53 PST 2010


FYI: The next thing I was going to try was just cramming everything into the one available window level.  Since we are fullscreen and letting X11 manage window stacking, this *should* work.

On Dec 10, 2010, at 09:22, Jeremy Huddleston wrote:

> 
> On Dec 10, 2010, at 07:13, doh123 wrote:
> 
>> I know the display capturing issues are complicated...  I'm going to spend some time on my Christmas vacation trying to dig into Xquartz to learn how it works some more, and see if I can get it working... but no promises, I'm far from an expert, or experienced programmer.  If I find a way to get it working that isn't a hack that just lets it work right for my usage (which would probably be a miracle) I'll definitely share it.  This is just like the number 1 thing holding me back from a Wineskin 2.0 release, which I know isn't your issue... I don't envy you really, as xquartz seemed very complicated in general to me :-)  Had no idea it needed 5 window levels, I assumed it was all done on one, and the guard could be put up, then dropped back a single level and the rest done on the highest.
>> 
>> Thanks though, you do a great job
> 
> Thanks.  Hopefully I can provide some help if you get stuck.  I probably won't be on IRC much, but you can email.  Below you'll find a patch which was my starting point when looking at this last.  It just determines if we should be captured or released and does the capture/release.
> 
> hw/xquartz/xpr/xpr.h has our window levels:
> 
> #define AppleWMWindowLevelNormal        0
> #define AppleWMWindowLevelFloating      1
> #define AppleWMWindowLevelTornOff       2
> #define AppleWMWindowLevelDock          3
> #define AppleWMWindowLevelDesktop       4
> #define AppleWMNumWindowLevels          5
> 
> static const int normal_window_levels[AppleWMNumWindowLevels+1] = {
> 0, 3, 4, 5, INT_MIN + 30, INT_MIN + 29,
> };
> static const int rooted_window_levels[AppleWMNumWindowLevels+1] = {
> 20, 21, 22, 23, 19, 18,
> };
> 
> Our levels are different depending on rootless vs fullscreen mode and are chosen based on the menu bar's level (24), and the levels for normal (0) and floating (3) windows.
> 
> Note that we actually use *6* levels rather than 5.  The 6th one is for the root window.  see the comment in xpr/xprAppleWM.c:
>    // AppleWMNumWindowLevels is allowed, but is only set by the server
>    // for the root window.
> 
> <capture.patch>
> 
>> On Dec 10, 2010, at 2:30 AM, Jeremy Huddleston wrote:
>> 
>>> 
>>> On Dec 9, 2010, at 23:22, doh123 wrote:
>>> 
>>>> Multi Monitor fix is nice...
>>> 
>>> It just fixes the mode-change regression... it doesn't add support for the extended resolution changes.
>>> 
>>>> does it actually use display capturing?  
>>> 
>>> No.  Display capturing doesn't quite work right for us.  The guard window is at the highest level - 1, but we need 5 window levels ... I tried updating the window level, hiding the guard window, and other tricks with no success.  I haven't given up, but it is not as simple as "just capture the display"
>>> 
>>> 
>>>> I'll try it out in the next couple of days hopefully
>>>> 
>>>> On Dec 10, 2010, at 12:28 AM, Jeremy Huddleston wrote:
>>>> 
>>>>> I just released the first release candidate of XQuartz 2.6.0.  This is the first pre-release built for Leopard as well as SL, so please give it a whirl on Leopard to see if there are any Leopard specific issues we may have missed.
>>>>> 
>>>>> There are still a couple bugs left that I'd like to address before 2.6.0 is released, but they're not worth holding up release if I don't get to them, so consider this mostly complete.
>>>>> 
>>>>> The changes worth noting from 2.6.0_beta2 are:
>>>>> 
>>>>> Updated freetype which should address font rendering issues introduced in 2.5.2.
>>>>> The mac OSX screensaver is now disabled while in fullscreen mode.
>>>>> Mode changing works again for multi-monitor configurations.
>>>>> XBell() is now exclusively NSBeep() (ie: the "use system alert" preference option is now gone)
>>>>> Misc stability fixes in the server
>>>>> libX11-1.4.0 and misc other modules
>>>>> 
>>>>> For the full list of changes, see the draft release notes:
>>>>> http://xquartz.macosforge.org/trac/wiki/X112.6.0
>>>>> 
>>>>> You can install it using automatic updates from a previous beta (or full version if you enable the beta feed) or directly:
>>>>> Leopard: http://static.macosforge.org/xquartz/downloads/Leopard/X11-2.6.0_rc1.dmg
>>>>> Snow Leopard: http://static.macosforge.org/xquartz/downloads/SL/XQuartz-2.6.0_rc1.dmg
>>>>> 
>>>>> At this point, I'm just waiting on the final X11R7.6 release at which point I'll pull in the rest of the updated modules and call it 2.6.0.
>>>>> 
>>>>> Please test and let me know if there are any regressions.
>>>>> 
>>>>> Thanks,
>>>>> Jeremy
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Xquartz-dev mailing list
>>>>> Xquartz-dev at lists.macosforge.org
>>>>> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev
>>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Xquartz-dev mailing list
>>>> Xquartz-dev at lists.macosforge.org
>>>> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev
>>> 
>>> 
>>> _______________________________________________
>>> Xquartz-dev mailing list
>>> Xquartz-dev at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev
>>> 
>> 
>> 
>> _______________________________________________
>> Xquartz-dev mailing list
>> Xquartz-dev at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev
> 
> 
> _______________________________________________
> Xquartz-dev mailing list
> Xquartz-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev



More information about the Xquartz-dev mailing list