Command Decorations / Marks in the gutter / margin / padding #21134

Open
opened 2026-01-31 07:34:09 +00:00 by claunia · 0 comments
Owner

Originally created by @zadjii-msft on GitHub (Jan 24, 2024).

placeholder thread while I actually write something up

Now see, if it was up to me, I'd recommend instead a "icon in the gutter", ala vscode. They've been working on these terminal-driven "quick fixes", that put a lightbulb in the "gutter". That lightbulb is clickable and shows a menu.


Basically, I'm thinking there's a few kinds of things that show up in the gutter:

  • marks for each command, driven by shell integration
  • quick fixes that are driven by some VT escape sequence that we haven't authored yet (so a CLI app could specifically recommend a command)
  • quick fixes that the Terminal generates on a CommandNotFound (<---- what you're working on)
  • quick fixes that are generated based on pattern matching (from that spec)

From Teams:

Trick is, what is the gutter?
We've already got the idea of "padding", but these icons all precipitate the need for like, at least 16px of padding on the left.
Which some people may greatly dislike
But I suppose our DEFAULT_PADDING is "8,8,8,8" already?
Alternatively, the "gutter" could be an "entirely separate thing from the padding". So a user could specifically opt into the gutter, and that would automatically reserve an additional 16px in the left padding.
And that, we could enable already by default (though, it would add left padding for people who already opt'd out)
Regardless. We've got to come up with a clear plan on what to do there first. Then it's easy to just have a VT sequence stick and additional sendInput command into a mark on the gutter, IMO

references

Originally created by @zadjii-msft on GitHub (Jan 24, 2024). placeholder thread while I actually write something up > Now see, if it was up to me, I'd recommend instead a "icon in the gutter", ala vscode. They've been working on these terminal-driven "quick fixes", that put a lightbulb in the "gutter". That lightbulb is clickable and shows a menu. ![](https://user-images.githubusercontent.com/10746682/204557790-d8f924ed-77f7-44a1-80ad-1ade6b83fdaa.png) ![](https://user-images.githubusercontent.com/2193314/204605411-1106e6d4-70ed-4b45-884f-c09dba3cb040.png) ![](https://user-images.githubusercontent.com/29464607/204635771-335ac900-b13a-4a12-8808-36d6ab0f5080.png) Basically, I'm thinking there's a few kinds of things that show up in the gutter: * marks for each command, driven by shell integration * quick fixes that are driven by some VT escape sequence that we haven't authored yet (so a CLI app could specifically recommend a command) * quick fixes that the Terminal generates on a CommandNotFound (<---- what you're working on) * quick fixes that are generated based on pattern matching (from that spec) From Teams: > Trick is, what is the gutter? > We've already got the idea of "padding", but these icons all precipitate the need for like, at least 16px of padding on the left. > Which some people may greatly dislike > But I suppose our DEFAULT_PADDING is "8,8,8,8" already? > Alternatively, the "gutter" could be an "entirely separate thing from the padding". So a user could specifically opt into the gutter, and that would automatically reserve an additional 16px in the left padding. > And that, we could enable already by default (though, it would add left padding for people who already opt'd out) > Regardless. We've got to come up with a clear plan on what to do there first. Then it's easy to just have a VT sequence stick and additional sendInput command into a mark on the gutter, IMO #### references * #15700 * https://github.com/microsoft/vscode/issues/166761 * #16848
claunia added the Issue-TaskIn-PRProduct-TerminalArea-TerminalControl labels 2026-01-31 07:34:09 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#21134