From ddaeb3cffff22899fbf94d9163c7a6f71c58d51c Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sat, 8 Aug 2026 22:19:39 +0100 Subject: [PATCH] Restrict application menu functionality to macOS - Updated `applyApplicationMenu` and `setupApplicationMenuEvents` functions to return early if the platform is not macOS, ensuring that menu features are only available on macOS. - Adjusted the `createMainWindow` function to conditionally call menu setup functions based on the operating system, improving cross-platform compatibility. --- src/desktop/menu.js | 8 ++++++++ src/desktop/window.js | 23 +++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/desktop/menu.js b/src/desktop/menu.js index ef02e6c..277a714 100644 --- a/src/desktop/menu.js +++ b/src/desktop/menu.js @@ -132,6 +132,10 @@ function buildApplicationMenuTemplate() { } export function applyApplicationMenu() { + if (process.platform !== "darwin") { + return; + } + ApplicationMenu.setApplicationMenu(buildApplicationMenuTemplate()); } @@ -150,6 +154,10 @@ export function setupApplicationMenuEvents({ onToggleDevTools, onCheckForUpdates, }) { + if (process.platform !== "darwin") { + return; + } + navigateHandler = onNavigate; ApplicationMenu.on("application-menu-clicked", (event) => { diff --git a/src/desktop/window.js b/src/desktop/window.js index fb46118..5e72150 100644 --- a/src/desktop/window.js +++ b/src/desktop/window.js @@ -261,16 +261,19 @@ export async function createMainWindow(rpc) { } setupMainWindowMessaging(mainWindow) - applyApplicationMenu() - setupApplicationMenuEvents({ - onNavigate: sendNavigateToRenderer, - onToggleDevTools: () => { - mainWindow?.webview?.toggleDevTools?.() - }, - onCheckForUpdates: () => { - sendToRenderer('checkForUpdates') - } - }) + + if (isMacOS) { + applyApplicationMenu() + setupApplicationMenuEvents({ + onNavigate: sendNavigateToRenderer, + onToggleDevTools: () => { + mainWindow?.webview?.toggleDevTools?.() + }, + onCheckForUpdates: () => { + sendToRenderer('checkForUpdates') + } + }) + } setupWindowEvents(mainWindow) applyStartupWindowState(mainWindow)