【发布时间】:2020-01-08 01:14:40
【问题描述】:
我有一个使用 CSS prefers-color-scheme 实现暗模式的 Electron 应用程序。这在 Windows 和 Mac 上运行良好,但在 Linux 上却不行(可能是因为 Chromium 没有查询桌面主题的方法)。
我想提供一个选项来覆盖 Chromium 自动为 prefers-color-scheme 找到的值。有没有办法使用 Electron API 做到这一点?
【问题讨论】:
我有一个使用 CSS prefers-color-scheme 实现暗模式的 Electron 应用程序。这在 Windows 和 Mac 上运行良好,但在 Linux 上却不行(可能是因为 Chromium 没有查询桌面主题的方法)。
我想提供一个选项来覆盖 Chromium 自动为 prefers-color-scheme 找到的值。有没有办法使用 Electron API 做到这一点?
【问题讨论】:
有一个API!您可以nativeTheme.themeSource 到system、light 或dark。
比如在我的background.ts中,添加这段代码:
import { /* existing stuff */, nativeTheme } from "electron";
nativeTheme.themeSource = 'light';
【讨论】:
if (app) app.on('ready', function() { nativeTheme = electron.nativeTheme; nativeTheme.themeSource = 'dark'; }); 在 Windows 上总是为我撞到树上。 (nativeTheme 未定义。)
electron.nativeTheme 的类型错误?可能值得在新问题中发布更多代码。