nativeTheme (Родная тема)
Читайте и реагируйте на изменения в родной цветовой теме Chromium.
Process: Main
События
Объект nativeTheme имеет следующие события:
Событие: 'updated'
Возникает, когда в основной NativeTheme что-то изменилось. Это обычно означает, что значение shouldUseDarkColors (использовать темные цвета), shouldUseHighContrastColors (использовать высококонтрастные цвета) или shouldUseInvertedColorScheme (использовать инвертированную цветовую гамму) - изменилось. Вам придется проверить их для того, чтобы определить, какие из них были изменены.
Свойства
Объект nativeTheme имеет следующие свойства:
nativeTheme.shouldUseDarkColors Только чтение
boolean - в данный момент для текущей OS / Chromium включен темный режим или дается указание отображать пользовательский интерфейс в темном режиме. Если вы хотите изменить это значение, вы должны использовать themeSource ниже.
nativeTheme.themeSource
Свойство string может быть system, light или dark. It is used to override and supersede the value that Chromium has chosen to use internally.
Установка этого свойства на system удалит переопределение и все будет сброшено на установленное ОС по умолчанию. По умолчанию themeSource является system.
Параметры свойства dark имеют следующие эффекты:
nativeTheme.shouldUseDarkColorsпри обращении будетtrue- Any UI Electron renders on Linux and Windows including context menus, devtools, etc. will use the dark UI.
- Any UI the OS renders on macOS including menus, window frames, etc. will use the dark UI.
- Запрос
prefers-color-schemeCSS будет соответствовать режимуdark. - Возникнет событие
updated
Параметры свойства light имеют следующие эффекты:
nativeTheme.shouldUseDarkColorsпри обращении будетfalse- Any UI Electron renders on Linux and Windows including context menus, devtools, etc. will use the light UI.
- Any UI the OS renders on macOS including menus, window frames, etc. will use the light UI.
- Запрос
prefers-color-schemeCSS будет соответствовать режимуlight. - Возникнет событие
updated
Использование этого свойства должно совпадать с классическим "темным режимом" машины в вашем приложении, где у пользователя есть три варианта.
Follow OS-->themeSource = 'system'Dark Mode-->themeSource = 'dark'Light Mode-->themeSource = 'light'
В этом случае ваше приложение должно всегда использовать shouldUseDarkColors, чтобы определить, какой CSS будет применяться.
nativeTheme.shouldUseHighContrastColors macOS Windows Только чтение
A boolean for if the OS / Chromium currently has high-contrast mode enabled or is being instructed to show a high-contrast UI.
nativeTheme.shouldUseDarkColorsForSystemIntegratedUI macOS Windows Readonly
A boolean property indicating whether or not the system theme has been set to dark or light.
On Windows this property distinguishes between system and app light/dark theme, returning true if the system theme is set to dark theme and false otherwise. On macOS the return value will be the same as nativeTheme.shouldUseDarkColors.
nativeTheme.shouldUseInvertedColorScheme macOS Windows Только чтение
boolean - в данный момент для текущей OS / Chromium включен режим инвертирования цветовой схемы или дается указание отображать пользовательский интерфейс с инвертированной цветовой схемой.
nativeTheme.inForcedColorsMode Windows Readonly
A boolean indicating whether Chromium is in forced colors mode, controlled by system accessibility settings. Currently, Windows high contrast is the only system setting that triggers forced colors mode.
nativeTheme.prefersReducedTransparency Только чтение
A boolean that indicates the whether the user has chosen via system accessibility settings to reduce transparency at the OS level.