nativeTheme
Read and respond to changes in Chromium's native color theme.
Processo: Main
Eventos
O módulo nativeTheme
emite os seguintes eventos:
Event: 'updated'
Emitted when something in the underlying NativeTheme has changed. This normally means that either the value of shouldUseDarkColors
, shouldUseHighContrastColors
or shouldUseInvertedColorScheme
has changed. You will have to check them to determine which one has changed.
Propriedades
The nativeTheme
module has the following properties:
nativeTheme.shouldUseDarkColors
Readonly
A boolean
for if the OS / Chromium currently has a dark mode enabled or is being instructed to show a dark-style UI. If you want to modify this value you should use themeSource
below.
nativeTheme.themeSource
A string
property that can be system
, light
or dark
. Ela é usada para sobrepor e substituir o valor que o Chromium escolheu para usar internamente.
Setting this property to system
will remove the override and everything will be reset to the OS default. By default themeSource
is system
.
Settings this property to dark
will have the following effects:
nativeTheme.shouldUseDarkColors
will betrue
when accessed- 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.
- The
prefers-color-scheme
CSS query will matchdark
mode. - The
updated
event will be emitted
Settings this property to light
will have the following effects:
nativeTheme.shouldUseDarkColors
will befalse
when accessed- 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.
- The
prefers-color-scheme
CSS query will matchlight
mode. - The
updated
event will be emitted
The usage of this property should align with a classic "dark mode" state machine in your application where the user has three options.
Padrão do Sistema
-->themeSource = 'system'
Modo Escuro
-->themeSource = 'dark'
Modo Claro
-->themeSource = 'light'
Your application should then always use shouldUseDarkColors
to determine what CSS to apply.
nativeTheme.shouldUseHighContrastColors
macOS Windows Readonly
A boolean
for if the OS / Chromium currently has high-contrast mode enabled or is being instructed to show a high-contrast UI.
nativeTheme.shouldUseInvertedColorScheme
macOS Windows Readonly
A boolean
for if the OS / Chromium currently has an inverted color scheme or is being instructed to use an inverted color scheme.
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
Readonly
.