如何确定 macOS 10.14 强调色?
How can I determine the macOS 10.14 accent color?
MacOS 10.14 (Mojave) 具有深色界面风格和用户可选择的颜色重点。如何读取这些值并监听变化?
编辑:现在 macOS 11 推出了具有自己独特配色方案的新 M1 iMac。我可以使用这样的 iMac,但无法确定强调色。它是黄色版本,AppleAccentColor 报告为“1”,即转化为橙色。
这存储在系统默认值中,可通过 NSDistributedNotificationCenter
获得。
当 AppleInterfaceStyle
设置为 Dark
时,深色模式处于活动状态。可以通过监听 InterfaceStyleChanged
通知来观察变化。
强调色可以从AppleAccentColor
读出。可以通过侦听 AppleColorPreferencesChangedNotification
通知来观察更改。 returns 都是一个可选的整数,映射到:
nil: blue
-1: graphite
0: red
1: orange
2: yellow
3: green
5: purple
6: pink
您可以通过 运行 defaults read -g AppleAccentColor
从终端或脚本读取此值。请注意,如果值为 nil
(默认为蓝色),您实际上会收到一条错误消息,内容为 The domain/default pair of (kCFPreferencesAnyApplication, AppleAccentColor) does not exist
.
macOS 11 测试版更新
nil
现在是默认的 multicolor 外观,blue 已移至 4
。
nil: multicolor
-1: graphite
0: red
1: orange
2: yellow
3: green
4: blue
5: purple
6: pink
强调色在 macOS 10.14 或更高版本中作为 NSColor.controlAccentColor
提供。
在 NSView
级别上,您可以实施事件处理程序 viewDidChangeEffectiveAppearance()
来跟踪强调颜色的变化。
MacOS 10.14 (Mojave) 具有深色界面风格和用户可选择的颜色重点。如何读取这些值并监听变化?
编辑:现在 macOS 11 推出了具有自己独特配色方案的新 M1 iMac。我可以使用这样的 iMac,但无法确定强调色。它是黄色版本,AppleAccentColor 报告为“1”,即转化为橙色。
这存储在系统默认值中,可通过 NSDistributedNotificationCenter
获得。
当 AppleInterfaceStyle
设置为 Dark
时,深色模式处于活动状态。可以通过监听 InterfaceStyleChanged
通知来观察变化。
强调色可以从AppleAccentColor
读出。可以通过侦听 AppleColorPreferencesChangedNotification
通知来观察更改。 returns 都是一个可选的整数,映射到:
nil: blue
-1: graphite
0: red
1: orange
2: yellow
3: green
5: purple
6: pink
您可以通过 运行 defaults read -g AppleAccentColor
从终端或脚本读取此值。请注意,如果值为 nil
(默认为蓝色),您实际上会收到一条错误消息,内容为 The domain/default pair of (kCFPreferencesAnyApplication, AppleAccentColor) does not exist
.
macOS 11 测试版更新
nil
现在是默认的 multicolor 外观,blue 已移至 4
。
nil: multicolor
-1: graphite
0: red
1: orange
2: yellow
3: green
4: blue
5: purple
6: pink
强调色在 macOS 10.14 或更高版本中作为 NSColor.controlAccentColor
提供。
在 NSView
级别上,您可以实施事件处理程序 viewDidChangeEffectiveAppearance()
来跟踪强调颜色的变化。