xserver: Branch 'master' - 2 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 24 19:16:15 UTC 2022


 hw/xquartz/NSUserDefaults+XQuartzDefaults.m |    9 ++++-----
 hw/xquartz/defaults.plist                   |   17 +++++++++++++++++
 hw/xquartz/meson.build                      |    8 ++++++--
 hw/xquartz/pbproxy/meson.build              |    5 ++++-
 4 files changed, 31 insertions(+), 8 deletions(-)

New commits:
commit e654de80ed560c480efc072d876808b1d78da052
Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
Date:   Thu Nov 24 10:58:26 2022 -0800

    xquartz: Move default applications list outside of the main executable
    
    This will allow side-wide customization.
    
    Fixes: https://github.com/XQuartz/XQuartz/issues/274
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>

diff --git a/hw/xquartz/NSUserDefaults+XQuartzDefaults.m b/hw/xquartz/NSUserDefaults+XQuartzDefaults.m
index bd5dd2305..ecc192197 100644
--- a/hw/xquartz/NSUserDefaults+XQuartzDefaults.m
+++ b/hw/xquartz/NSUserDefaults+XQuartzDefaults.m
@@ -96,10 +96,6 @@ NSString * const XQuartzPrefKeySyncPrimaryOnSelect = @"sync_primary_on_select";
             defaults = [[[NSUserDefaults alloc] initWithSuiteName:defaultsDomain] retain];
         }
 
-        NSArray * const defaultAppsMenu = @[
-            @[NSLocalizedString(@"Terminal", @"Terminal"), @"xterm", @"n"],
-        ];
-
         NSString *defaultWindowItemModifiers = @"command";
         NSString * const defaultWindowItemModifiersLocalized = NSLocalizedString(@"window item modifiers", @"window item modifiers");
         if (![defaultWindowItemModifiersLocalized isEqualToString:@"window item modifiers"]) {
@@ -107,7 +103,6 @@ NSString * const XQuartzPrefKeySyncPrimaryOnSelect = @"sync_primary_on_select";
         }
 
         NSDictionary<NSString *, id> * const defaultDefaultsDict = @{
-            XQuartzPrefKeyAppsMenu : defaultAppsMenu,
             XQuartzPrefKeyFakeButtons : @(NO),
             // XQuartzPrefKeyFakeButton2 nil default
             // XQuartzPrefKeyFakeButton3 nil default
@@ -141,6 +136,10 @@ NSString * const XQuartzPrefKeySyncPrimaryOnSelect = @"sync_primary_on_select";
         };
 
         [defaults registerDefaults:defaultDefaultsDict];
+
+        NSString * const systemDefaultsPlistPath = [@(XQUARTZ_DATA_DIR) stringByAppendingPathComponent:@"defaults.plist"];
+        NSDictionary <NSString *, id> * const systemDefaultsDict = [NSDictionary dictionaryWithContentsOfFile:systemDefaultsPlistPath];
+        [defaults registerDefaults:systemDefaultsDict];
     });
 
     return defaults;
diff --git a/hw/xquartz/defaults.plist b/hw/xquartz/defaults.plist
new file mode 100644
index 000000000..957b1e0c7
--- /dev/null
+++ b/hw/xquartz/defaults.plist
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<!-- This file contains system-wide defaults for XQuartz -->
+
+<plist version="1.0">
+<dict>
+	<key>apps_menu</key>
+	<array>
+		<array>
+			<string>Terminal</string>
+			<string>xterm</string>
+			<string>n</string>
+		</array>
+	</array>
+</dict>
+</plist>
diff --git a/hw/xquartz/meson.build b/hw/xquartz/meson.build
index 14f48e06e..83e79eae8 100644
--- a/hw/xquartz/meson.build
+++ b/hw/xquartz/meson.build
@@ -23,6 +23,7 @@ endif
 bundle_id_def = '-DBUNDLE_ID_PREFIX="@0@"'.format(bundle_id_prefix)
 
 bundle_root = join_paths(apple_applications_dir, apple_application_name + '.app')
+xquartz_data_dir = join_paths(get_option('prefix'), get_option('datadir'),'X11', 'XQuartz')
 
 # using sparkle update framework?
 build_sparkle = xquartz_sparkle_feed_url != '' and xquartz_sparkle_public_edkey != ''
@@ -60,6 +61,7 @@ libxquartz_defs = [
     '-DUSE_NEW_CLUT',
     '-DXFree86Server',
     '-DXQUARTZ',
+    '-DXQUARTZ_DATA_DIR="@0@"'.format(xquartz_data_dir),
     '-DXSERVER_VERSION="@0@"'.format(meson.project_version()),
     bundle_id_def,
     sparkle_defs,
@@ -93,3 +95,7 @@ xquartz_man = configure_file(
     configuration: manpage_config,
 )
 install_man(xquartz_man)
+
+install_data('defaults.plist',
+    install_dir: xquartz_data_dir,
+    install_mode: 'rw-r--r--')
diff --git a/hw/xquartz/pbproxy/meson.build b/hw/xquartz/pbproxy/meson.build
index eebb9fd70..206cbdca3 100644
--- a/hw/xquartz/pbproxy/meson.build
+++ b/hw/xquartz/pbproxy/meson.build
@@ -1,6 +1,9 @@
 build_standalone_pbproxy = get_option('xpbproxy')
 
-pbproxy_defs = [bundle_id_def]
+pbproxy_defs = [
+    '-DXQUARTZ_DATA_DIR="@0@"'.format(xquartz_data_dir),
+    bundle_id_def
+]
 if build_standalone_pbproxy
     pbproxy_defs += ['-DSTANDALONE_XPBPROXY']
 endif
commit 3dbd809c0e2d8da4191dd4a3fd4abdd14be0d838
Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
Date:   Thu Nov 24 11:04:08 2022 -0800

    xquartz: Remove unused macro (X11LIBDIR)
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>

diff --git a/hw/xquartz/meson.build b/hw/xquartz/meson.build
index 05600fdd9..14f48e06e 100644
--- a/hw/xquartz/meson.build
+++ b/hw/xquartz/meson.build
@@ -58,8 +58,6 @@ srcs_libxquartz = [
 
 libxquartz_defs = [
     '-DUSE_NEW_CLUT',
-    '-DX11LIBDIR="@0@"'.format(join_paths(get_option('prefix'),
-                               get_option('libdir'))),
     '-DXFree86Server',
     '-DXQUARTZ',
     '-DXSERVER_VERSION="@0@"'.format(meson.project_version()),


More information about the xorg-commit mailing list