perf: 优化主题变化逻辑

This commit is contained in:
kuaifan 2024-11-30 23:51:13 +08:00
parent 964611eba4
commit d9aadb4f30

10
electron/electron.js vendored
View File

@ -810,6 +810,16 @@ if (!getTheLock) {
createMainWindow()
// 预创建子窗口
preCreateChildWindow()
// 监听主题变化(重建预窗口)
let currentTheme = nativeTheme.shouldUseDarkColors ? 'dark' : 'light';
nativeTheme.on('updated', () => {
const newTheme = nativeTheme.shouldUseDarkColors ? 'dark' : 'light';
if (currentTheme !== newTheme) {
currentTheme = newTheme;
preloadWindow?.close()
preCreateChildWindow()
}
})
// 创建托盘
if (['darwin', 'win32'].includes(process.platform) && utils.isJson(config.trayIcon)) {
mainTray = new Tray(path.join(__dirname, config.trayIcon[devloadUrl ? 'dev' : 'prod'][process.platform === 'darwin' ? 'mac' : 'win']));