From d69dd2a83f030d6757805243ad85d7240bd7735f Mon Sep 17 00:00:00 2001 From: contributor Date: Fri, 14 Nov 2025 11:15:28 +0200 Subject: [PATCH 1/2] handle toggleTray global shortcut differently from other global shortcuts #7730 --- apps/server/src/services/window.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/server/src/services/window.ts b/apps/server/src/services/window.ts index 3f0813219..986170cb6 100644 --- a/apps/server/src/services/window.ts +++ b/apps/server/src/services/window.ts @@ -6,6 +6,7 @@ import optionService from "./options.js"; import log from "./log.js"; import sqlInit from "./sql_init.js"; import cls from "./cls.js"; +import { KeyboardActionNames } from "@triliumnext/commons"; import keyboardActionsService from "./keyboard_actions.js"; import electron from "electron"; import type { App, BrowserWindowConstructorOptions, BrowserWindow, WebContents, IpcMainEvent } from "electron"; @@ -319,6 +320,7 @@ function closeSetupWindow() { } async function registerGlobalShortcuts() { + const toggleTrayAction: KeyboardActionNames = "toggleTray"; const { globalShortcut } = await import("electron"); await sqlInit.dbReady; @@ -342,8 +344,11 @@ async function registerGlobalShortcuts() { return; } - // window may be hidden / not in focus - showAndFocusWindow(targetWindow); + if (action.actionName === toggleTrayAction) { + targetWindow.focus(); + } else { + showAndFocusWindow(targetWindow); + } targetWindow.webContents.send("globalShortcut", action.actionName); }) From ef86e195c6bdffce7e2048ee1e80dde216f90681 Mon Sep 17 00:00:00 2001 From: contributor Date: Fri, 14 Nov 2025 11:33:50 +0200 Subject: [PATCH 2/2] remove constant and import, it is type safe as is #7730 --- apps/server/src/services/window.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/server/src/services/window.ts b/apps/server/src/services/window.ts index 986170cb6..c2fab2ac3 100644 --- a/apps/server/src/services/window.ts +++ b/apps/server/src/services/window.ts @@ -6,7 +6,6 @@ import optionService from "./options.js"; import log from "./log.js"; import sqlInit from "./sql_init.js"; import cls from "./cls.js"; -import { KeyboardActionNames } from "@triliumnext/commons"; import keyboardActionsService from "./keyboard_actions.js"; import electron from "electron"; import type { App, BrowserWindowConstructorOptions, BrowserWindow, WebContents, IpcMainEvent } from "electron"; @@ -320,7 +319,6 @@ function closeSetupWindow() { } async function registerGlobalShortcuts() { - const toggleTrayAction: KeyboardActionNames = "toggleTray"; const { globalShortcut } = await import("electron"); await sqlInit.dbReady; @@ -344,7 +342,7 @@ async function registerGlobalShortcuts() { return; } - if (action.actionName === toggleTrayAction) { + if (action.actionName === "toggleTray") { targetWindow.focus(); } else { showAndFocusWindow(targetWindow);