@@ -208,8 +208,9 @@ export const workspaceMenu = (app: App, rect: DOMRect) => {
208
208
}
209
209
} ] ;
210
210
workspaceSubMenu . push ( { id : "separator_1" , type : "separator" } ) ;
211
+ const workspaceDir = window . siyuan . config . system . workspaceDir ;
211
212
response . data . forEach ( ( item : IWorkspace ) => {
212
- workspaceSubMenu . push ( workspaceItem ( item ) as IMenu ) ;
213
+ workspaceSubMenu . push ( workspaceItem ( item , workspaceDir ) as IMenu ) ;
213
214
} ) ;
214
215
/// #else
215
216
workspaceSubMenu = [ {
@@ -532,16 +533,27 @@ const openWorkspace = (workspace: string) => {
532
533
/// #endif
533
534
} ;
534
535
535
- const workspaceItem = ( item : IWorkspace ) => {
536
- /// #if !BROWSER
537
- return {
538
- label : `<div aria-label="${ item . path } " class="fn__ellipsis ariaLabel" style="max-width: 256px">
539
- ${ originalPath ( ) . basename ( item . path ) }
540
- </div>` ,
541
- current : ! item . closed ,
542
- iconHTML : "" ,
543
- type : "submenu" ,
544
- submenu : [ {
536
+ const workspaceItem = ( item : IWorkspace , workspaceDir : string ) => {
537
+ let submenu : any [ ] ;
538
+ if ( item . path === workspaceDir ) {
539
+ submenu = [ {
540
+ id : "showInFolder" ,
541
+ icon : "iconFolder" ,
542
+ label : window . siyuan . languages . showInFolder ,
543
+ click ( ) {
544
+ showFileInFolder ( item . path ) ;
545
+ }
546
+ } , {
547
+ id : "copyPath" ,
548
+ icon : "iconCopy" ,
549
+ label : window . siyuan . languages . copyPath ,
550
+ click ( ) {
551
+ writeText ( item . path ) ;
552
+ showMessage ( window . siyuan . languages . copied ) ;
553
+ }
554
+ } ] ;
555
+ } else {
556
+ submenu = [ {
545
557
id : "openBy" ,
546
558
icon : "iconOpenWindow" ,
547
559
label : window . siyuan . languages . openBy ,
@@ -570,7 +582,14 @@ const workspaceItem = (item: IWorkspace) => {
570
582
click ( ) {
571
583
fetchPost ( "/api/system/removeWorkspaceDir" , { path : item . path } ) ;
572
584
}
573
- } ] ,
585
+ } ] ;
586
+ }
587
+ return {
588
+ label : `<div aria-label="${ item . path } " class="fn__ellipsis ariaLabel" style="max-width: 256px">${ originalPath ( ) . basename ( item . path ) } </div>` ,
589
+ current : ! item . closed ,
590
+ iconHTML : "" ,
591
+ type : "submenu" ,
592
+ submenu,
574
593
click ( ) {
575
594
openWorkspace ( item . path ) ;
576
595
} ,
0 commit comments