diff --git a/app/src/menus/workspace.ts b/app/src/menus/workspace.ts index 3ec84feae..6fda7c573 100644 --- a/app/src/menus/workspace.ts +++ b/app/src/menus/workspace.ts @@ -208,8 +208,9 @@ export const workspaceMenu = (app: App, rect: DOMRect) => { } }]; workspaceSubMenu.push({id: "separator_1", type: "separator"}); + const workspaceDir = window.siyuan.config.system.workspaceDir; response.data.forEach((item: IWorkspace) => { - workspaceSubMenu.push(workspaceItem(item) as IMenu); + workspaceSubMenu.push(workspaceItem(item, workspaceDir) as IMenu); }); /// #else workspaceSubMenu = [{ @@ -532,16 +533,27 @@ const openWorkspace = (workspace: string) => { /// #endif }; -const workspaceItem = (item: IWorkspace) => { - /// #if !BROWSER - return { - label: `
- ${originalPath().basename(item.path)} -
`, - current: !item.closed, - iconHTML: "", - type: "submenu", - submenu: [{ +const workspaceItem = (item: IWorkspace, workspaceDir: string) => { + let submenu: any[]; + if (item.path === workspaceDir) { + submenu = [{ + id: "showInFolder", + icon: "iconFolder", + label: window.siyuan.languages.showInFolder, + click() { + showFileInFolder(item.path); + } + }, { + id: "copyPath", + icon: "iconCopy", + label: window.siyuan.languages.copyPath, + click() { + writeText(item.path); + showMessage(window.siyuan.languages.copied); + } + }]; + } else { + submenu = [{ id: "openBy", icon: "iconOpenWindow", label: window.siyuan.languages.openBy, @@ -570,7 +582,14 @@ const workspaceItem = (item: IWorkspace) => { click() { fetchPost("/api/system/removeWorkspaceDir", {path: item.path}); } - }], + }]; + } + return { + label: `
${originalPath().basename(item.path)}
`, + current: !item.closed, + iconHTML: "", + type: "submenu", + submenu, click() { openWorkspace(item.path); },