From 3f4e642bc311b17730aac2ec97f79e06b1dd84c3 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Mon, 12 Dec 2022 23:21:14 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20Windows=20=E7=AB=AF=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E7=BD=AE=E9=A1=B6=20Fix=20https://github.com?= =?UTF-8?q?/siyuan-note/siyuan/issues/6860?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/electron/main.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/app/electron/main.js b/app/electron/main.js index 1c7ab3851..ba6b3c302 100644 --- a/app/electron/main.js +++ b/app/electron/main.js @@ -472,7 +472,34 @@ const boot = () => { click: () => { mainWindow.webContents.send('siyuan-save-close', true) }, - }] + } + ] + + let changeWndTop = {} + if ('win32' === process.platform) { + // Windows 平台提供窗口置顶功能 + changeWndTop = { + label: 'Set Window Top', + click: () => { + if (!mainWindow.isAlwaysOnTop()) { + mainWindow.setAlwaysOnTop(true) + changeWndTop.label = 'Cancel Window Top' + trayMenuTemplate.splice(trayMenuTemplate.length - 2, 1, changeWndTop) + const contextMenu = Menu.buildFromTemplate(trayMenuTemplate) + tray.setContextMenu(contextMenu) + } else { + mainWindow.setAlwaysOnTop(false) + changeWndTop.label = 'Set Window Top' + trayMenuTemplate.splice(trayMenuTemplate.length - 2, 1, changeWndTop) + const contextMenu = Menu.buildFromTemplate(trayMenuTemplate) + tray.setContextMenu(contextMenu) + } + }, + }; + + trayMenuTemplate.splice(trayMenuTemplate.length - 1, 0, changeWndTop) + } + const contextMenu = Menu.buildFromTemplate(trayMenuTemplate) tray.setContextMenu(contextMenu) tray.on('click', () => {