diff --git a/app/src/constants.ts b/app/src/constants.ts index f8aa9cf00..a18f11d79 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -109,6 +109,7 @@ export abstract class Constants { toggleWin: {default: "⌥M", custom: "⌥M"}, lockScreen: {default: "⌥N", custom: "⌥N"}, move: {default: "", custom: ""}, + selectOpen1: {default: "", custom: ""}, }, editor: { general: { diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index 4e7164161..bf3cf1dc6 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -67,7 +67,7 @@ export class Files extends Model { ${window.siyuan.languages.fileTree} - + diff --git a/app/src/util/globalShortcut.ts b/app/src/util/globalShortcut.ts index 7279bd54e..56bbf36fd 100644 --- a/app/src/util/globalShortcut.ts +++ b/app/src/util/globalShortcut.ts @@ -646,6 +646,18 @@ const fileTreeKeydown = (event: KeyboardEvent) => { return false; } const files = dockFile.data.file as Files; + if (matchHotKey(window.siyuan.config.keymap.general.selectOpen1.custom, event)) { + event.preventDefault(); + const element = document.querySelector(".layout__wnd--active > .layout-tab-bar > .item--focus") || + document.querySelector(".layout-tab-bar > .item--focus"); + if (element) { + const tab = getInstanceById(element.getAttribute("data-id")) as Tab; + if (tab && tab.model instanceof Editor) { + files.selectItem(tab.model.editor.protyle.notebookId, tab.model.editor.protyle.path); + } + } + return; + } if (!files.element.previousElementSibling.classList.contains("block__icons--active")) { return false; }