[PR #6985] Swap brightBlack/black in the Solarized color schemes #26829

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

Original Pull Request: https://github.com/microsoft/terminal/pull/6985

State: closed
Merged: Yes


Original notes from @M-Pixel:

Console applications assume that backgrounds are black, and that
lightBlack/DarkGrey are lighter than black/Black. This
assumption is accounted for by all color schemes in defaults.json,
except for the Solarized themes.

The Solarized Dark theme, in particular, makes -Parameters invisible
against the background in PowerShell, which is obviously an unacceptable
usability flaw.

This change makes black and background to the same (which is common
throughout the color schemes), and makes brightBlack (DarkGray in
.NET) lighter than black (which is obviously more correct given the
meanings of those words).

Out of the box, we ship a pretty bad behavior.

If I look at all of the existing shipped color schemes--and that
includes things like Tango and One Half--we are universally following a
background == black rule.

If I consult gnome-terminal or xterm, they do the same thing; Xterm by
default, gnome-terminal for solarized. The background generally matches
color index 0 across all their dark schemes. Konsole and
lxterminal disagree and map background to 0 intense for Solarized.

I want to put our Solarized schemes on a deprecation path, but
unfortunately we still need to ship something for users who we're
going to strand on them.

I'm going to have to swallow my bitter and say that yes, we should
probably just change the index mapping and go with something that works
right out of the box while we figure out how to do perceptual color
nudging and eventually remove bad defaults (like Solarized).

From #6618.

Closes #4047.
Closes #6618.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/6985 **State:** closed **Merged:** Yes --- Original notes from @M-Pixel: > Console applications assume that backgrounds are black, and that > `lightBlack`/`DarkGrey` are lighter than `black`/`Black`. This > assumption is accounted for by all color schemes in `defaults.json`, > except for the Solarized themes. > > The Solarized Dark theme, in particular, makes `-Parameters` invisible > against the background in PowerShell, which is obviously an unacceptable > usability flaw. > > This change makes `black` and `background` to the same (which is common > throughout the color schemes), and makes `brightBlack` (`DarkGray` in > .NET) lighter than black (which is obviously more correct given the > meanings of those words). Out of the box, we ship a pretty bad behavior. If I look at all of the existing shipped color schemes--and that includes things like Tango and One Half--we are universally following a `background` == `black` rule. If I consult gnome-terminal or xterm, they do the same thing; Xterm by default, gnome-terminal for solarized. The background generally matches color index `0` across all their **dark** schemes. Konsole and lxterminal disagree and map background to `0 intense` for Solarized. I want to put our Solarized schemes on a deprecation path, but unfortunately we still need to ship _something_ for users who we're going to strand on them. I'm going to have to swallow my bitter and say that yes, we should probably just change the index mapping and go with something that works right out of the box while we figure out how to do perceptual color nudging and eventually remove bad defaults (like Solarized). From #6618. Closes #4047. Closes #6618.
claunia added the pull-request label 2026-01-31 09:18:23 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#26829