Skip to content

workspace: Display a launchpad page when in an empty window & add it as a restore_on_startup value#44048

Merged
danilo-leal merged 14 commits intozed-industries:mainfrom
simonpham:main
Dec 16, 2025
Merged

workspace: Display a launchpad page when in an empty window & add it as a restore_on_startup value#44048
danilo-leal merged 14 commits intozed-industries:mainfrom
simonpham:main

Conversation

@simonpham
Copy link
Contributor

@simonpham simonpham commented Dec 3, 2025

Hi,

This PR fixes nothing. I just miss the option to open recent projects quickly upon opening Zed, so I made this. Hope I can see it soon in Preview channel.
If there is any suggestion, just comment. I will take it seriously.

Thank you!

ui before after
empty pane Screenshot 2025-12-03 at 12 39 25 Screenshot 2025-12-03 at 12 34 03
new window Screenshot 2025-12-03 at 12 39 21 Screenshot 2025-12-04 at 10 43 17

Release Notes:

  • Added a new value to the restore_on_startup setting called launchpad. This value makes Zed open with a variant of the welcome screen ("the launchpad") upon startup. Additionally, this same page variant is now also what is displayed if you close all tabs in an existing window that doesn't contain any folders open. The launchpad page shows you up to 5 recent projects, making it easy to open something you were working recently.

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Dec 3, 2025
@mattermill
Copy link
Contributor

mattermill commented Dec 3, 2025

@simonpham Thanks for the contribution! This would be a good option to provide.

For this case, I would prefer not creating an entirely new launchpad.rsfile and instead pass properties to the existing welcome.rs to swap out the configuration options with the recent projects as you have. This helps us keep startup screens consolidated and easier to revise in the future.

In summary:

  • Pass properties to welcome.rs to use "Recent projects" instead of "Configuration options" when arriving at welcome.rs via "New window," or when closing all tabs
  • Maintain existing welcome.rs behavior that displays configuration options after a user finished onboarding

If you can make that change, I see no issue with providing this as an option.

@simonpham
Copy link
Contributor Author

simonpham commented Dec 4, 2025

@simonpham Thanks for the contribution! This would be a good option to provide.

For this case, I would prefer not creating an entirely new launchpad.rsfile and instead pass properties to the existing welcome.rs to swap out the configuration options with the recent projects as you have. This helps us keep startup screens consolidated and easier to revise in the future.

In summary:

  • Pass properties to welcome.rs to use "Recent projects" instead of "Configuration options" when arriving at welcome.rs via "New window," or when closing all tabs
  • Maintain existing welcome.rs behavior that displays configuration options after a user finished onboarding

If you can make that change, I see no issue with providing this as an option.

That's what I thought.

Currently I can "Return to Setup" by go to Help -> Show Welcome. Should I hide this when user have already set up?
I will only hide Return to Setup for Welcome with recent projects.

@simonpham simonpham changed the title Add Launchpad page to replace empty pane & new window Show Recent Projects on startup & in empty pane Dec 4, 2025
@simonpham
Copy link
Contributor Author

@mattermill please help to check if there is any other issue. Thank you!

@mattermill
Copy link
Contributor

mattermill commented Dec 4, 2025

@simonpham

When launching a New Window I'm seeing the Welcome screen appear for an instant before being replaced by the empty file. Closing the file returns to the Welcome. I think you just want the Welcome in this instance, not new file, correct?

zed-u2mZEfro.mp4

@simonpham
Copy link
Contributor Author

simonpham commented Dec 4, 2025

hi @mattermill

You should set the setting "restore_on_startup": "welcome" to see it on new window (when open Zed)

I only expect it to appear if you use the above option and in empty pane when no workspace is open.

For the case when open a new window within a Zed instance, I don't change the current behavior of it.
The previous UI of empty pane also has the same behaviour:

Screen.Recording.2025-12-05.at.8.58.45.AM.mov

@Meonix
Copy link

Meonix commented Dec 8, 2025

hi @mattermill Could you please continue to review this PR to help us?

@simonpham
Copy link
Contributor Author

hi @mattermill, it's been a while. Please let me know if it can be merged. Thank you!

@danilo-leal danilo-leal changed the title Show Recent Projects on startup & in empty pane workspace: Display a launchpad page when in an empty window & add it as a restore_on_startup value Dec 16, 2025
Copy link
Member

@danilo-leal danilo-leal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much for kicking this off! Pushed some additional changes here: aside from design refinements, I felt like the none value terminology for restore_on_startup was confusing, because that actually meant opening Zed with an empty file... it felt like it could be a bit more clear, so, I changed it to empty_tab instead. Then, the value to open the launchpad page (the variant, recent projects-focused welcome page) is just launchpad. Already included the migration for anyone who uses restore_on_startup: "none", so we should be good there :) Thanks again!

@danilo-leal danilo-leal merged commit 4109c9d into zed-industries:main Dec 16, 2025
36 of 38 checks passed
@github-project-automation github-project-automation bot moved this from Community PRs to Done in Quality Week – December 2025 Dec 16, 2025
@VihaanReddyM
Copy link

Has this PR been shipped?

@simonpham
Copy link
Contributor Author

Has this PR been shipped?

hi @VihaanReddyM
you can try it in Preview channel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement

Projects

Development

Successfully merging this pull request may close these issues.

5 participants