Css Override更喜欢电子产品中的配色方案

Css Override更喜欢电子产品中的配色方案,css,electron,chromium,Css,Electron,Chromium,我有一个电子应用程序,它使用CSS首选配色方案来实现暗模式。这在Windows和Mac上可以正常工作,但在Linux上不行(可能是因为Chromium没有查询桌面主题的方法) 我想提供一个选项来覆盖Chromium自动为首选配色方案找到的值。有没有办法使用Electron API实现这一点?有一个API!您可以切换到系统,亮或暗 例如,在mybackground.ts中,添加以下代码: import { /* existing stuff */, nativeTheme } from "elec

我有一个电子应用程序,它使用CSS
首选配色方案来实现暗模式。这在Windows和Mac上可以正常工作,但在Linux上不行(可能是因为Chromium没有查询桌面主题的方法)

我想提供一个选项来覆盖Chromium自动为
首选配色方案找到的值。有没有办法使用Electron API实现这一点?

有一个API!您可以切换到
系统

例如,在my
background.ts
中,添加以下代码:

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

nativeTheme.themeSource = 'light';

我从来没有让它工作过,它是不是在Linux之外没有定义或者什么的?问你怎么做会太麻烦吗<代码>if(app)app.on('ready',function(){nativeTheme=electron.nativeTheme;nativeTheme.themeSource='dark';})总是在Windows上为我崩溃到树中。(
nativeTheme
未定义。)我做了几乎相同的事情,但把它放在了顶层。我假设您使用的是Typescript(如果不是的话,您现在应该修复它!)-您是否得到了
electron.nativeTheme
的类型错误?可能值得在新问题中发布更多代码。好建议:如果您想尝试一下。不,我是一只老狗,Typescript是一个新把戏:)坦白地说,在node出现大约10年之前,我一直认为Javascript是一种时尚。PS,感谢您添加代码示例:)