Skip to content

Allow commands to be previewed in the command palette #6689

@zadjii-msft

Description

@zadjii-msft

Use cases:

  • Switching schemes - I want to be able to see what the scheme will look like, before I commit to it
  • Changing opacity - I'm thinking we have a nested "Change opacity..."/["opacity: 0%", "opacity: 5%", "opacity: 10%"...] commands, and as they key through them, it updates in real time
  • Probably useful with the tab switcher

These would need to be commands that could be undo-able. Commands where we could build a "reset" command given the current state of the Terminal, and hitting esc to dismiss the palette would revert to the original state.

I'd imagine that not all commands could be previewed. Can't preview "open a new tab".

If you went from one previewable command to another of the same action type, then we don't need to reset in between. But going from a "see theme to foo"->"set opacity to 5%" commands, we'd need to undo the first, then cache the state for the second command.

Could probably have some ActionArgs implement IPreviewable, with a ActionAndArgs GenerateUndoCommand(AppLogic); method. Anything that's "preview":true would need to implement that interface.

</showerthought>

Considered use cases:

  • Switching to another color scheme
  • changing the font size
  • changing the font face
  • changing the opacity of acrylic
  • Switching tabs (like in the ATS, Advanced Tab Switcher #6732)

Metadata

Metadata

Assignees

Labels

Area-CmdPalCommand Palette issues and featuresArea-SettingsIssues related to settings and customizability, for console or terminalArea-UserInterfaceIssues pertaining to the user interface of the Console or TerminalIssue-TaskIt's a feature request, but it doesn't really need a major design.Product-TerminalThe new Windows Terminal.Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions