support ENABLE_VIRTUAL_TERMINAL_PROCESSING per application #9687

Closed
opened 2026-01-31 02:00:54 +00:00 by claunia · 2 comments
Owner

Originally created by @mintty on GitHub (Jul 18, 2020).

VT escape sequence handling can be enabled by design with some Windows API call enabling the ENABLE_VIRTUAL_TERMINAL_PROCESSING mode.
(Refer https://github.com/microsoft/terminal/issues/6634#issuecomment-647726408).
There is also a registry feature to change the default to enable it (https://stackoverflow.com/questions/51680709/colored-text-output-in-powershell-console-using-ansi-vt100-codes/51681675#51681675).
However, it would be very useful to enable it per application, i.e. per executable, by some kind of property (settable via Explorer Properties menu and some kind of executable flag, e.g. via manifest). (Not sure whether https://github.com/microsoft/terminal/issues/2035 addresses this issue.)

Originally created by @mintty on GitHub (Jul 18, 2020). VT escape sequence handling can be enabled by design with some Windows API call enabling the ENABLE_VIRTUAL_TERMINAL_PROCESSING mode. (Refer https://github.com/microsoft/terminal/issues/6634#issuecomment-647726408). There is also a registry feature to change the default to enable it (https://stackoverflow.com/questions/51680709/colored-text-output-in-powershell-console-using-ansi-vt100-codes/51681675#51681675). However, it would be very useful to enable it per application, i.e. per executable, by some kind of property (settable via Explorer Properties menu and some kind of executable flag, e.g. via manifest). (Not sure whether https://github.com/microsoft/terminal/issues/2035 addresses this issue.)
claunia added the Issue-FeatureResolution-Duplicate labels 2026-01-31 02:00:54 +00:00
Author
Owner

@DHowett commented on GitHub (Aug 13, 2020):

Hey, thanks for the request! Sorry to take so long to triage it. This is a specific case of #4954, so I'm going to close this out in favor of that. There's already some investigation underway over there 😄 where I'd like to make the input AND output states process-specific.

Having it be manifested would be pretty radical.

We've talked about having a new template for command-line applications in VS that sets nice defaults and pretty much communicates to the console subsystem that "this application is a well-behaved VT-only app" -- it would enable strict mode and passthrough mode and not allow buffer readout and all of the really annoying weird parts of the win32 API.

In general, /dup #4954

@DHowett commented on GitHub (Aug 13, 2020): Hey, thanks for the request! Sorry to take so long to triage it. This is a specific case of #4954, so I'm going to close this out in favor of that. There's already some investigation underway over there :smile: where I'd like to make the input AND output states process-specific. Having it be manifested would be pretty radical. We've talked about having a new template for command-line applications in VS that sets nice defaults and pretty much communicates to the console subsystem that "this application is a well-behaved VT-only app" -- it would enable strict mode and passthrough mode and not allow buffer readout and all of the really annoying weird parts of the win32 API. In general, /dup #4954
Author
Owner

@ghost commented on GitHub (Aug 13, 2020):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Aug 13, 2020): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#9687