Skip to content

Commit b6e17e7

Browse files
improvements
1 parent faa7a08 commit b6e17e7

File tree

2 files changed

+47
-25
lines changed

2 files changed

+47
-25
lines changed

src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ export class EditorGroupWatermark extends Disposable {
202202
const openFolderButton = append(container, $('button.open-folder-button'));
203203
openFolderButton.textContent = localize('watermark.openFolder', "Open Folder");
204204

205+
// Add click handler for Open Folder button
206+
this._register(addDisposableListener(openFolderButton, EventType.CLICK, (e: MouseEvent) => {
207+
e.preventDefault();
208+
e.stopPropagation();
209+
this.commandService.executeCommand('workbench.action.files.openFolder');
210+
}));
211+
205212
// Add recent list
206213
const recentList = append(container, $('.recent-list'));
207214

@@ -235,27 +242,22 @@ export class EditorGroupWatermark extends Disposable {
235242
windowOpenable = { workspaceUri: recent.workspace.configPath };
236243
}
237244

238-
// Split the label into name and path
239245
const { name, parentPath } = splitRecentLabel(fullPath);
240246

241-
// Create the item content with name and path
242-
const nameElement = append(itemElement, $('.name'));
243-
nameElement.textContent = name;
244-
247+
itemElement.textContent = name;
245248
if (parentPath) {
246-
const pathElement = append(itemElement, $('.path'));
247-
pathElement.textContent = parentPath;
249+
append(itemElement, $('span.spacer'));
250+
const pathSpan = append(itemElement, $('span.path'));
251+
pathSpan.textContent = parentPath;
248252
}
249253

250254
itemElement.title = fullPath;
251-
252-
// Add click handler
253255
itemElement.style.cursor = 'pointer';
256+
254257
this._register(addDisposableListener(itemElement, EventType.CLICK, async (e: MouseEvent) => {
255258
try {
256259
e.preventDefault();
257260
e.stopPropagation();
258-
259261
await this.hostService.openWindow([windowOpenable], {
260262
forceNewWindow: e.ctrlKey || e.metaKey,
261263
remoteAuthority: recent.remoteAuthority ?? null
@@ -267,17 +269,15 @@ export class EditorGroupWatermark extends Disposable {
267269
});
268270

269271
// Add "More..." item
270-
const moreItem = append(recentList, $('.recent-item.more-item'));
272+
const moreItem = append(recentList, $('.more-item'));
271273
moreItem.textContent = localize('watermark.more', "More...");
272-
moreItem.title = localize('watermark.showMoreRecents', "Show All Recent Folders");
273-
moreItem.style.cursor = 'pointer';
274274

275-
// Get keybinding for OpenRecentAction if available
276275
const keybinding = this.keybindingService.lookupKeybinding('workbench.action.openRecent')?.getLabel();
277-
if (keybinding) {
278-
moreItem.title += ` (${keybinding})`;
279-
}
276+
moreItem.title = keybinding ?
277+
localize('watermark.showMoreRecents', "Show All Recent Folders ({0})", keybinding) :
278+
localize('watermark.showMoreRecents', "Show All Recent Folders");
280279

280+
moreItem.style.cursor = 'pointer';
281281
this._register(addDisposableListener(moreItem, EventType.CLICK, (e: MouseEvent) => {
282282
e.preventDefault();
283283
e.stopPropagation();

src/vs/workbench/browser/parts/editor/media/editorgroupview.css

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@
5757
.monaco-workbench .part.editor > .content.auxiliary .editor-group-container.empty > .editor-group-watermark-no-workspace {
5858
display: flex;
5959
height: 100%;
60-
max-width: 290px;
60+
min-width: 500px;
61+
max-width: 700px;
6162
margin: auto;
6263
flex-direction: column;
6364
align-items: center;
@@ -77,6 +78,7 @@
7778
border-radius: 2px;
7879
cursor: pointer;
7980
font-size: 13px;
81+
margin-bottom: 20px;
8082
}
8183

8284
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .open-folder-button:hover {
@@ -85,26 +87,32 @@
8587

8688
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .recent-list {
8789
width: 100%;
88-
max-width: 260px;
90+
min-width: 260px;
91+
max-width: 700px;
8992
color: var(--vscode-editorWatermark-foreground);
9093
opacity: 0.8;
9194
}
9295

9396
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .recent-list .recent-item {
94-
display: flex;
95-
align-items: center;
96-
gap: 4px;
9797
padding: 4px 0;
98+
cursor: pointer;
99+
white-space: nowrap;
100+
overflow: hidden;
101+
text-overflow: ellipsis;
98102
}
99103

100104
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .recent-list .recent-item .path {
101105
opacity: 0.7;
102-
margin-left: 4px;
103-
font-size: 0.9em;
106+
}
107+
108+
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .recent-list .recent-item:hover {
109+
color: var(--vscode-foreground);
110+
opacity: 1;
104111
}
105112

106113
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .recent-list .recent-item:hover .path {
107-
opacity: 0.9;
114+
color: var(--vscode-foreground);
115+
opacity: 0.8;
108116
}
109117

110118
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-workspace > .letterpress {
@@ -239,6 +247,20 @@
239247
}
240248

241249
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .recent-list .more-item:hover {
250+
color: var(--vscode-foreground);
242251
opacity: 1;
243252
}
244253

254+
/* When container is small, allow wrapping */
255+
@media (max-width: 700px) {
256+
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .recent-list .recent-item {
257+
white-space: normal;
258+
word-break: break-all;
259+
}
260+
}
261+
262+
.monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark-no-workspace .recent-list .recent-item .spacer {
263+
display: inline-block;
264+
width: 10px; /* Adjust this value to increase/decrease spacing between name and path of recent items */
265+
}
266+

0 commit comments

Comments
 (0)