From 01ac5a8c059a8cf095ec4dffd01ad0fed6520d34 Mon Sep 17 00:00:00 2001
From: Riccardo Strina <85676009+tartarughina@users.noreply.github.com>
Date: Mon, 16 Feb 2026 14:23:27 +0100
Subject: [PATCH] workspace: Use FolderOpen icon for active workspace project
(#49180)
Differentiate the active workspace in the sidebar project list by using
IconName::FolderOpen instead of IconName::Folder
Before:
After:
Closes #49179
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Improved active project in the workspace by changing the icon from
Folder to FolderOpen
---
crates/sidebar/src/sidebar.rs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/crates/sidebar/src/sidebar.rs b/crates/sidebar/src/sidebar.rs
index e1d32bd57351d56bc214b2416cf5442979988879..14c5ce52c52350a347891d9a15bb5c44ff9f8f8e 100644
--- a/crates/sidebar/src/sidebar.rs
+++ b/crates/sidebar/src/sidebar.rs
@@ -535,6 +535,7 @@ impl PickerDelegate for WorkspacePickerDelegate {
let workspace_index = thread_entry.index;
let multi_workspace = self.multi_workspace.clone();
let workspace_count = self.multi_workspace.read(cx).workspaces().len();
+ let is_active = self.active_workspace_index == workspace_index;
let is_hovered = self.hovered_thread_item == Some(workspace_index);
let remove_btn = IconButton::new(
@@ -568,7 +569,11 @@ impl PickerDelegate for WorkspacePickerDelegate {
("workspace-item", thread_entry.index),
thread_subtitle.unwrap_or("New Thread".into()),
)
- .icon(IconName::Folder)
+ .icon(if is_active {
+ IconName::FolderOpen
+ } else {
+ IconName::Folder
+ })
.running(running)
.generation_done(has_notification)
.selected(selected)