From 28b27f04cd83463e8b0cfe65478b5df78c35759f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 1 Dec 2024 18:18:53 +0200 Subject: [PATCH] fix(electron): fix regression when native title bar is on --- src/public/app/desktop.js | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/public/app/desktop.js b/src/public/app/desktop.js index 0919c4476..e72471c86 100644 --- a/src/public/app/desktop.js +++ b/src/public/app/desktop.js @@ -8,6 +8,7 @@ import macInit from './services/mac_init.js'; import electronContextMenu from "./menus/electron_context_menu.js"; import glob from "./services/glob.js"; import { t } from "./services/i18n.js"; +import options from "./services/options.js"; await appContext.earlyInit(); @@ -47,19 +48,25 @@ function initOnElectron() { const electron = utils.dynamicRequire('electron'); electron.ipcRenderer.on('globalShortcut', async (event, actionName) => appContext.triggerCommand(actionName)); + if (options.get("nativeTitleBarVisible") !== "true") { + initTitleBarButtons(); + } +} + +function initTitleBarButtons() { + function applyTitleBarOverlaySettings() { + const electronRemote = utils.dynamicRequire("@electron/remote"); + const currentWindow = electronRemote.getCurrentWindow(); + const documentStyle = window.getComputedStyle(document.documentElement); + const color = documentStyle.getPropertyValue("--native-titlebar-background"); + const symbolColor = documentStyle.getPropertyValue("--native-titlebar-foreground"); + currentWindow.setTitleBarOverlay({ color, symbolColor }); + } + // Update the native title bar buttons. applyTitleBarOverlaySettings(); - + // Register for changes to the native title bar colors. window.matchMedia("(prefers-color-scheme: dark)") .addEventListener("change", applyTitleBarOverlaySettings); } - -function applyTitleBarOverlaySettings() { - const electronRemote = utils.dynamicRequire("@electron/remote"); - const currentWindow = electronRemote.getCurrentWindow(); - const documentStyle = window.getComputedStyle(document.documentElement); - const color = documentStyle.getPropertyValue("--native-titlebar-background"); - const symbolColor = documentStyle.getPropertyValue("--native-titlebar-foreground"); - currentWindow.setTitleBarOverlay({ color, symbolColor }); -} \ No newline at end of file