[Xquartz-changes] xserver: Branch 'master'

Jeremy Huddleston jeremyhu at freedesktop.org
Mon Aug 11 13:19:11 PDT 2014


 hw/xquartz/xpr/xprScreen.c |   23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

New commits:
commit ab32ee35890be51137b56525826ffe219b63eb88
Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
Date:   Mon Aug 11 13:15:24 2014 -0700

    XQuartz: Better support turning off "Displays have separate Spaces" on OS X Mavericks
    
    http://xquartz.macosforge.org/trac/ticket/1876
    
    Follow-up to: 1c10b37380d228b35db8a8616a6312ac54f5e59b
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>

diff --git a/hw/xquartz/xpr/xprScreen.c b/hw/xquartz/xpr/xprScreen.c
index 7aa1ae1..d0a525f 100644
--- a/hw/xquartz/xpr/xprScreen.c
+++ b/hw/xquartz/xpr/xprScreen.c
@@ -169,14 +169,25 @@ displayScreenBounds(CGDirectDisplayID id)
               (int)frame.size.width, (int)frame.size.height,
               (int)frame.origin.x, (int)frame.origin.y);
 
-    /* Remove menubar to help standard X11 window managers.
-     * On Mavericks and later, the menu bar is on all displays.
-     */
-    if (XQuartzIsRootless
+    Boolean spacePerDisplay = false;
 #if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
-        && (NSAppKitVersionNumber >= 1265 || (frame.origin.x == 0 && frame.origin.y == 0))
+    if (NSAppKitVersionNumber >= 1265)
 #endif
-        ) {
+    {
+        Boolean ok;
+        (void)CFPreferencesAppSynchronize(CFSTR("com.apple.spaces"));
+        spacePerDisplay = ! CFPreferencesGetAppBooleanValue(CFSTR("spans-displays"),
+                                                            CFSTR("com.apple.spaces"),
+                                                            &ok);
+        if (!ok)
+            spacePerDisplay = true;
+    }
+
+    /* Remove menubar to help standard X11 window managers.
+     * On Mavericks and later, the menu bar is on all displays when spans-displays is false or unset.
+     */
+    if (XQuartzIsRootless &&
+        (spacePerDisplay || (frame.origin.x == 0 && frame.origin.y == 0))) {
         frame.origin.y += aquaMenuBarHeight;
         frame.size.height -= aquaMenuBarHeight;
     }


More information about the Xquartz-changes mailing list