覆盖电子中的首选配色方案

Override prefers-color-scheme in Electron

我有一个使用 CSS prefers-color-scheme 实现暗模式的 Electron 应用程序。这适用于 Windows 和 Mac,但不适用于 Linux(大概是因为 Chromium 没有查询桌面主题的方法)。

我想提供一个选项来覆盖 Chromium 自动为 prefers-color-scheme 找到的值。有没有办法使用 Electron API?

有个API!您可以 nativeTheme.themeSourcesystemlightdark

例如,在我的background.ts中,添加这段代码:

import { /* existing stuff */, nativeTheme } from "electron";

nativeTheme.themeSource = 'light';