nativeTheme¶
读取并响应 Chromium 原生颜色主题的变化。
进程:主进程
事件¶
nativeTheme 模块会发出以下事件:
事件:'updated'¶
当底层 NativeTheme 中的某些内容发生变化时发出。这通常意味着 shouldUseDarkColors、shouldUseHighContrastColors 或 shouldUseInvertedColorScheme 的值发生了变化。你需要检查它们以确定哪一个发生了变化。
属性¶
nativeTheme 模块具有以下属性:
nativeTheme.shouldUseDarkColors 只读¶
一个 boolean,表示操作系统 / Chromium 当前是否启用了深色模式,或者是否被指示显示深色风格的 UI。如果你想要修改此值,应使用下面的 themeSource。
nativeTheme.themeSource¶
一个 string 属性,可以是 system、light 或 dark。它用于覆盖并取代 Chromium 内部选择使用的值。
将此属性设置为 system 会移除覆盖,并且所有内容都会重置为操作系统默认值。默认情况下,themeSource 为 system。
将此属性设置为 dark 会产生以下效果:
- 访问
nativeTheme.shouldUseDarkColors时,其值为true - Electron 在 Linux 和 Windows 上渲染的任何 UI(包括上下文菜单、DevTools 等)都会使用深色 UI。
- 操作系统在 macOS 上渲染的任何 UI(包括菜单、窗口框架等)都会使用深色 UI。
prefers-color-schemeCSS 查询将匹配dark模式。- 将发出
updated事件
将此属性设置为 light 会产生以下效果:
- 访问
nativeTheme.shouldUseDarkColors时,其值为false - Electron 在 Linux 和 Windows 上渲染的任何 UI(包括上下文菜单、DevTools 等)都会使用浅色 UI。
- 操作系统在 macOS 上渲染的任何 UI(包括菜单、窗口框架等)都会使用浅色 UI。
prefers-color-schemeCSS 查询将匹配light模式。- 将发出
updated事件
此属性的使用应与应用程序中经典的“深色模式”状态机保持一致,其中用户有三个选项。
Follow OS-->themeSource = 'system'Dark Mode-->themeSource = 'dark'Light Mode-->themeSource = 'light'
然后,你的应用程序应始终使用 shouldUseDarkColors 来确定要应用哪些 CSS。
nativeTheme.shouldUseHighContrastColors macOS Windows 只读¶
一个 boolean,表示操作系统 / Chromium 当前是否启用了高对比度模式,或者是否被指示显示高对比度 UI。
nativeTheme.shouldUseDarkColorsForSystemIntegratedUI macOS Windows 只读¶
一个 boolean 属性,指示系统主题是否已设置为深色或浅色。
在 Windows 上,此属性区分系统和应用程序的浅色/深色主题,如果系统主题设置为深色主题则返回 true,否则返回 false。在 macOS 上,返回值与 nativeTheme.shouldUseDarkColors 相同。
nativeTheme.shouldUseInvertedColorScheme macOS Windows 只读¶
一个 boolean,表示操作系统 / Chromium 当前是否使用了反转颜色方案,或者是否被指示使用反转颜色方案。
nativeTheme.inForcedColorsMode Windows 只读¶
一个 boolean,指示 Chromium 是否处于强制颜色模式,该模式由系统辅助功能设置控制。目前,Windows 高对比度是唯一触发强制颜色模式的系统设置。
nativeTheme.prefersReducedTransparency 只读¶
一个 boolean,指示用户是否已通过系统辅助功能设置在操作系统级别减少透明度。
nativeTheme.shouldDifferentiateWithoutColor macOS 只读¶
一个 boolean,指示用户是否偏好使用除颜色以外的其他元素(例如形状或标签)来区分项目的 UI。这对应于 NSWorkspace.accessibilityDisplayShouldDifferentiateWithoutColor。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron