Electron:在运行时更改 titleBarOverlay.color 和 titleBarOverlay.symbolColor

问题描述 投票:0回答:1

我有一个 Electron 应用程序,可以打开这样的窗口:

function createWindow() {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    titleBarStyle: 'hidden',
    titleBarOverlay: {
      color: '#6a7b8d',
      symbolColor: '#eee'
    },
    //...etc
  })

通过将

titleBarOverlay.color
titleBarOverlay.symbolColor
传递给构造函数,我可以在 Windows 中打开应用程序时更改最小化/最大化/关闭按钮的样式。

现在问题来了,因为我计划有主题。当用户更改主题时,如何更改

color
symbolColor
而无需完全重新启动应用程序?

我想我可以保存状态,关闭窗口并重新打开一个新窗口。有没有更简单的方法?

windows electron
1个回答
0
投票

我想通了。

setTitleBarOverlay
方法已添加到here,您可以使用它来更新符号颜色。

mainWindow.setTitleBarOverlay({
  color: "rgba(0, 0, 0, 0)",
  symbolColor: "#000000", // symbol color here
  height: 30,
})
© www.soinside.com 2019 - 2024. All rights reserved.