Disable color/use grayscale only #16049

Open
opened 2026-01-31 04:56:00 +00:00 by claunia · 0 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:01 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#16049