-
Notifications
You must be signed in to change notification settings - Fork 29.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Layout when switching from welcome to terminal. #173368
Conversation
Before this change, VSCode assumed in multiple places that we only ever either have terminals open (on desktop) or a "welcome" screen (on web, explaining that terminals are not supported). Switching between the two causes a broken layout. This is currently not visible in VSCode because VSCode opens a new terminal as soon as the terminal panel is opened, and closes the terminal panel when the last terminal is closed. With this change, that assumption is removed and the question whether a welcome screen is available is centralized in one place. This makes it easier for downstream forks to have a welcome screen when first opening the panel, and when the last terminal is closed. In VSCode itself, this still works as before. This change also removes relying on the side-effect of the `shouldShowWelcome` getter to write a member variable, and removes superfluously setting that member variable when is it already set.
Any update here? Do you need anything from me? |
Hi @sbatten, is there any chance this will be reviewed? Should I update the PR one more time? Or do you have a general concern with this change and the PR should be declined? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks and sorry about the delay 😅
Not sure how to test welcome screens but we'll make sure it gets verified in vscode.dev
Before this change, VSCode assumed in multiple places that we only ever either have terminals open (on desktop) or a "welcome" screen (on web, explaining that terminals are not supported). Switching between the two causes a broken layout. This is currently not visible in VSCode because VSCode opens a new terminal as soon as the terminal panel is opened, and closes the terminal panel when the last terminal is closed.
With this change, that assumption is removed and the question whether a welcome screen is available is centralized in one place. This makes it easier for downstream forks to have a welcome screen when first opening the panel, and when the last terminal is closed. In VSCode itself, this still works as before.
This change also removes relying on the side-effect of the
shouldShowWelcome
getter to write a member variable, and removes superfluously setting that member variable when is it already set.