diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 0765c20e2..a79ce03a8 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1,4 +1,5 @@ { + "mainMenu": "Main Menu", "searchRemoveName": "Do you want to delete ${x} and assign its query condition to ${y}?", "searchUpdateName": "Update name ${x} to ${y}?", "searchAssetContent": "Search asset file content", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 45823ecba..faf1124cc 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1,4 +1,5 @@ { + "mainMenu": "Menú principal", "searchRemoveName": "¿Desea eliminar ${x} y asignar su condición de consulta a ${y}?", "searchUpdateName": "¿Actualizar nombre ${x} a ${y}?", "searchAssetContent": "Buscar contenido del archivo de activos", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index ac62995aa..aaa525853 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1,4 +1,5 @@ { + "mainMenu": "Menu principal", "searchRemoveName": "Voulez-vous supprimer ${x} et affecter sa condition de requête à ${y} ?", "searchUpdateName": "Mettre à jour le nom ${x} en ${y} ?", "searchAssetContent": "Rechercher le contenu du fichier d'actif", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index b6056f08f..618d3daaf 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1,4 +1,5 @@ { + "mainMenu": "主菜單", "searchRemoveName": "是否刪 ${x} 並將其查詢條件賦值給 ${y}?", "searchUpdateName": "是否將查詢名稱 ${x} 更新為 ${y}?", "searchAssetContent": "搜索資源文件內容", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 6ab27a2b0..18a3379bc 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1,4 +1,5 @@ { + "mainMenu": "主菜单", "searchRemoveName": "是否删 ${x} 并将其查询条件赋值给 ${y}?", "searchUpdateName": "是否将查询名称 ${x} 更新为 ${y}?", "searchAssetContent": "搜索资源文件内容", diff --git a/app/src/boot/globalShortcut.ts b/app/src/boot/globalShortcut.ts index 94c07720c..3ee05b6e0 100644 --- a/app/src/boot/globalShortcut.ts +++ b/app/src/boot/globalShortcut.ts @@ -56,6 +56,7 @@ import {openRecentDocs} from "../business/openRecentDocs"; import {App} from "../index"; import {commandPanel} from "../plugin/commandPanel"; import {toggleDockBar} from "../layout/dock/util"; +import {workspaceMenu} from "../menus/workspace"; const getRightBlock = (element: HTMLElement, x: number, y: number) => { let index = 1; @@ -579,6 +580,11 @@ export const globalShortcut = (app: App) => { return; } + if (bindMenuKeydown(event)) { + event.preventDefault(); + return; + } + if (event.key === "ArrowUp" || event.key === "ArrowDown") { const viewCardsDialog = window.siyuan.dialogs.find(item => { if (item.element.getAttribute("data-key") === "viewCards") { @@ -763,6 +769,12 @@ export const globalShortcut = (app: App) => { return; } + if (!isTabWindow && matchHotKey(window.siyuan.config.keymap.general.mainMenu.custom, event)) { + workspaceMenu(app, document.querySelector("#barWorkspace").getBoundingClientRect()); + event.preventDefault(); + return; + } + if (matchHotKey(window.siyuan.config.keymap.general.goForward.custom, event)) { goForward(app); event.preventDefault(); @@ -1308,7 +1320,9 @@ const fileTreeKeydown = (app: App, event: KeyboardEvent) => { hasClosestByClassName(target, "protyle", true)) { return false; } - if (bindMenuKeydown(event)) { + if (!window.siyuan.menus.menu.element.classList.contains("fn__none") && + (event.code.startsWith("Arrow") || event.code === "Enter") && + !event.altKey && !event.shiftKey && !isCtrl(event)) { event.preventDefault(); return true; } diff --git a/app/src/constants.ts b/app/src/constants.ts index 8b60daa89..cc8728a34 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -212,6 +212,7 @@ export abstract class Constants { // "⌘Home", "⌘End", "⇧↩", "↩", "PageUp", "PageDown", "⌫", "⌦" 不可自定义 public static readonly SIYUAN_KEYMAP: IKeymap = { general: { + mainMenu: {default: "⌥\\", custom: "⌥\\"}, commandPanel: {default: "⌥⇧P", custom: "⌥⇧P"}, editMode: {default: "⇧⌘G", custom: "⇧⌘G"}, syncNow: {default: "F9", custom: "F9"}, diff --git a/app/src/layout/topBar.ts b/app/src/layout/topBar.ts index e28de2ad8..a5d6b826c 100644 --- a/app/src/layout/topBar.ts +++ b/app/src/layout/topBar.ts @@ -37,7 +37,7 @@ export const updateEditModeElement = () => { export const initBar = (app: App) => { const toolbarElement = document.getElementById("toolbar"); toolbarElement.innerHTML = ` -