Disable color/use grayscale only #16053

Closed
opened 2026-01-31 04:56:08 +00:00 by claunia · 4 comments
Owner

Originally created by @Masterxilo on GitHub (Dec 4, 2021).

Description of the new feature/enhancement

There should be a way to completely disable colored output, such that windows Terminal renders only in grayscale, potentially only in black & white.

This makes for a more distraction-free experience, especially with some TUIs that overuse color and for people with color vision impairments.

Changing the 8 predefined colors to shades of gray does not accomplish this if the CLI program uses RGB extended-ANSI escape sequences. Since programs can ignore the TERM environment variable, changing that to a terminal that would not support the given escape codes does not stop some programs from outputting them, and Windows Terminal also is unaware of TERM.

Proposed technical implementation details (optional)

A new settings property in the json settings structure toggles grayscale/black-white mode.

During translation of ANSI escape sequences to actual per-character attributes, if the no-color attribute is set, convert the color that would be used to grayscale.

Alternatively, while rendering, convert all the color to grayscale.

The Windows 10 builtin fullscreen color filter can be used, but that applies to all programs. Could also propose to Microsoft to make this color filtering a per-program option...

Originally created by @Masterxilo on GitHub (Dec 4, 2021). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 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 <!-- 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). --> There should be a way to completely disable colored output, such that windows Terminal renders only in grayscale, potentially only in black & white. This makes for a more distraction-free experience, especially with some TUIs that overuse color and for people with color vision impairments. Changing the 8 predefined colors to shades of gray does not accomplish this if the CLI program uses RGB extended-ANSI escape sequences. Since programs can ignore the TERM environment variable, changing that to a terminal that would not support the given escape codes does not stop some programs from outputting them, and Windows Terminal also is unaware of TERM. # Proposed technical implementation details (optional) <!-- A clear and concise description of what you want to happen. --> A new settings property in the json settings structure toggles grayscale/black-white mode. During translation of ANSI escape sequences to actual per-character attributes, if the no-color attribute is set, convert the color that would be used to grayscale. Alternatively, while rendering, convert all the color to grayscale. The Windows 10 builtin fullscreen color filter can be used, but that applies to all programs. Could also propose to Microsoft to make this color filtering a per-program option...
claunia added the Issue-FeatureResolution-Duplicate labels 2026-01-31 04:56:08 +00:00
Author
Owner

@j4james commented on GitHub (Dec 4, 2021):

This looks like a duplicate of #3066.

@j4james commented on GitHub (Dec 4, 2021): This looks like a duplicate of #3066.
Author
Owner

@elsaco commented on GitHub (Dec 5, 2021):

$NO_COLOR

@elsaco commented on GitHub (Dec 5, 2021): [$NO_COLOR](https://no-color.org/)
Author
Owner

@zadjii-msft commented on GitHub (Dec 6, 2021):

Yep, this looks like /dup #3066.

A temporary workaround might be using the Grayscale shader, but that has a bit of a perf hit on less performant machines.

@zadjii-msft commented on GitHub (Dec 6, 2021): Yep, this looks like /dup #3066. A temporary workaround might be using the [Grayscale](https://github.com/microsoft/terminal/blob/main/samples/PixelShaders/Grayscale.hlsl) shader, but that has a bit of a perf hit on less performant machines.
Author
Owner

@ghost commented on GitHub (Dec 6, 2021):

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 (Dec 6, 2021): 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#16053