Files
zed/crates/title_bar/Cargo.toml
T
Danilo Leal 011113ea3c workspace: Improve recent projects picker for multi-project scenario (#48989)
Follow-up to https://github.com/zed-industries/zed/pull/46641.

In the PR linked above, I had introduced a dropdown that'd show up in
the title bar when the workspace contained more than one project.
Although that helped improve the multi-project use case, it created some
quirky designs:

- The project dropdown and the recent project pickers looked too
different from one another
- The transition between the 2 project case to the 1 project scenario,
from the dropdown, was not great, because you'd be then seeing the
bigger recent projects picker
- The `workspace: switch project` action was still reachable in the
command palette even if you had one project in the workspace

So, what this PR does is essentially fixing all of this by consolidating
it all in the Recent Projects picker. If you are in a multi-project
scenario, the picker will display a section with all of the projects on
the workspace allowing you to activate each one of them. The picker also
looks simpler when you reach it by clicking on the project name in the
title bar, as opposed to through the keybinding. I've then removed the
project dropdown code as well as the action, given we don't need them
anymore due to the consolidation. Lastly, I tackled the inconsistent
wording used between "Folders", "Projects", and "Workspaces".

Here's the result:


https://github.com/user-attachments/assets/9d8ef3e3-e57b-4558-9bc0-dcc401dec469

- [x] Code Reviewed
- [x] Manual QA

Release Notes:

- Workspace: Improved the recent projects picker by making it also
display active projects in case of a multi-project workspace.
2026-02-12 09:54:33 -03:00

82 lines
2.3 KiB
TOML

[package]
name = "title_bar"
version = "0.1.0"
edition.workspace = true
publish.workspace = true
license = "GPL-3.0-or-later"
[lints]
workspace = true
[lib]
path = "src/title_bar.rs"
doctest = false
[features]
default = []
stories = ["dep:story"]
test-support = [
"call/test-support",
"client/test-support",
"collections/test-support",
"gpui/test-support",
"http_client/test-support",
"project/test-support",
"remote/test-support",
"util/test-support",
"workspace/test-support",
"recent_projects/test-support",
]
[dependencies]
anyhow.workspace = true
auto_update.workspace = true
platform_title_bar.workspace = true
call.workspace = true
channel.workspace = true
chrono.workspace = true
client.workspace = true
cloud_api_types.workspace = true
db.workspace = true
feature_flags.workspace = true
git_ui.workspace = true
gpui = { workspace = true, features = ["screen-capture"] }
notifications.workspace = true
project.workspace = true
recent_projects.workspace = true
remote.workspace = true
rpc.workspace = true
semver.workspace = true
schemars.workspace = true
serde.workspace = true
settings.workspace = true
smallvec.workspace = true
story = { workspace = true, optional = true }
telemetry.workspace = true
theme.workspace = true
ui.workspace = true
util.workspace = true
workspace.workspace = true
zed_actions.workspace = true
[target.'cfg(windows)'.dependencies]
windows.workspace = true
[dev-dependencies]
call = { workspace = true, features = ["test-support"] }
client = { workspace = true, features = ["test-support"] }
collections = { workspace = true, features = ["test-support"] }
gpui = { workspace = true, features = ["test-support"] }
http_client = { workspace = true, features = ["test-support"] }
notifications = { workspace = true, features = ["test-support"] }
pretty_assertions.workspace = true
project = { workspace = true, features = ["test-support"] }
release_channel.workspace = true
remote = { workspace = true, features = ["test-support"] }
rpc = { workspace = true, features = ["test-support"] }
semver.workspace = true
settings = { workspace = true, features = ["test-support"] }
tree-sitter-md.workspace = true
util = { workspace = true, features = ["test-support"] }
workspace = { workspace = true, features = ["test-support"] }