[Preview] Keep the Command Palette around after executing a command #9743

Closed
opened 2026-01-31 02:02:44 +00:00 by claunia · 4 comments
Owner

Originally created by @WSLUser on GitHub (Jul 22, 2020).

Description of the new feature/enhancement

I tested using the Command Palette after finding how to bind it in the PR (perhaps adding an entry bound to null in defaults.json would be in order). First I enabled the AlwaysonTop Mode. Then I wanted to do another command from the Command Palette. But as soon as I enabled the AlwaysonTop Mode, the Command Palette exited. If I open it and then press ESC, it will close the Command Palette. So we have a way to exit without executing a command. Therefore from a usability point of view, please don't close it unless the user explicitly closes it using ESC (or any other bound key used for exiting). This would help someone open and close multiple tabs/panes quickly as well as enabling/disabling different visual modes quickly.

Proposed technical implementation details (optional)

Alter the method used for closing the Command Palette to require a user explicitly do so. We can add a setting to change this behavior (which I guess could also be toggable, inception anyone?) to always close after executing a command but I think not many users will want that behavior.

Originally created by @WSLUser on GitHub (Jul 22, 2020). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement I tested using the Command Palette after finding how to bind it in the PR (perhaps adding an entry bound to null in defaults.json would be in order). First I enabled the AlwaysonTop Mode. Then I wanted to do another command from the Command Palette. But as soon as I enabled the AlwaysonTop Mode, the Command Palette exited. If I open it and then press ESC, it will close the Command Palette. So we have a way to exit without executing a command. Therefore from a usability point of view, please don't close it unless the user explicitly closes it using ESC (or any other bound key used for exiting). This would help someone open and close multiple tabs/panes quickly as well as enabling/disabling different visual modes quickly. <!-- A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable). --> # Proposed technical implementation details (optional) Alter the method used for closing the Command Palette to require a user explicitly do so. We can add a setting to change this behavior (which I guess could also be toggable, inception anyone?) to always close after executing a command but I think not many users will want that behavior. <!-- A clear and concise description of what you want to happen. -->
Author
Owner

@zadjii-msft commented on GitHub (Jul 23, 2020):

So the command palette was inspired heavily by the ones in VsCode and Sublime, both of which dismiss by default after executing a command. I'm open to the idea of making this a setting, but keeping the current behavior as the default.

@zadjii-msft commented on GitHub (Jul 23, 2020): So the command palette was inspired heavily by the ones in VsCode and Sublime, both of which dismiss by default after executing a command. I'm open to the idea of making this a setting, but keeping the current behavior as the default.
Author
Owner

@DHowett commented on GitHub (Jul 24, 2020):

If we can find good examples of other applications that don't dismiss, I'd be glad to see them.

Most of our actions change the terminal in some way that is immediately attention-switching for the user. Not dismissing the command list would get in the user's way.

@DHowett commented on GitHub (Jul 24, 2020): If we can find good examples of other applications that _don't_ dismiss, I'd be glad to see them. Most of our actions change the terminal in some way that is immediately attention-switching for the user. Not dismissing the command list would get in the user's way.
Author
Owner

@WSLUser commented on GitHub (Jul 24, 2020):

I would still prefer having an option to keep it around and closing it myself when I'm done with it. This is basically an alternative to constantly typing out wt arguments or enabling certain settings in the json file (such as retro and alwaysontop). It's not easy remembering all the argument syntax and I can't always have the page in front of me that tells me how to do it. So this provides a useful alternative to getting things how I want without messing with typing out an argument. I'd also argue it's a much faster way too for some users once the option to keep it around is available.

@WSLUser commented on GitHub (Jul 24, 2020): I would still prefer having an option to keep it around and closing it myself when I'm done with it. This is basically an alternative to constantly typing out wt arguments or enabling certain settings in the json file (such as retro and alwaysontop). It's not easy remembering all the argument syntax and I can't always have the page in front of me that tells me how to do it. So this provides a useful alternative to getting things how I want without messing with typing out an argument. I'd also argue it's a much faster way too for some users once the option to keep it around is available.
Author
Owner

@DHowett commented on GitHub (Jul 27, 2020):

So, okay, I've thought about this over the weekend.

I'd rather reduce the need to run back-to-back commands instead of making running back-to-back commands easier.

The right way to run multiple commands back to back to get the terminal into a known state is going to be through #5970. If a user has multiple things they need to do to a specific terminal before it's usable, and they're all things that are exposed via commands or config options, that's what a profile is for.

In the future, when we have 5970, "enter fullscreen and toggle retro mode" can be a single command so you don't need to run them back-to-back.

Please feel free to continue the discussion, but for now I'm gonna mark this one rejected.

@DHowett commented on GitHub (Jul 27, 2020): So, okay, I've thought about this over the weekend. I'd rather reduce the need to run back-to-back commands instead of making running back-to-back commands easier. The right way to run multiple commands back to back to get the terminal into a known state is going to be through #5970. If a user has multiple things they need to do to a specific terminal before it's _usable_, and they're all things that are exposed via commands or config options, that's what a **profile** is for. In the future, when we have 5970, "enter fullscreen and toggle retro mode" can be a single command so you don't need to run them back-to-back. Please feel free to continue the discussion, but for now I'm gonna mark this one rejected.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#9743