Skip to content

Commit

Permalink
Rewrite terminal compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
jan-warchol committed Apr 6, 2020
1 parent bfc953e commit 3841d85
Showing 1 changed file with 9 additions and 23 deletions.
32 changes: 9 additions & 23 deletions whats-wrong-with-solarized.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,33 +95,19 @@ Selenized dark is slightly lighter and doesn't have this problem:
Better terminal compatibility
-----------------------------

One of the features of Solarized is that both light and dark variants can be
constructed from the same set of 16 colors. This is a nice property, but
implementing it in case of terminal emulators requires using a weird mapping of
color codes to actual color values.
Solarized puts both light and dark variants in one color palette, resulting in
a weird mapping of ANSI color codes to actual color values. For example,
Solarized maps color code meant for bright/bold green to "base 01" (greyish
shade used for comments):

![color code assignment - solarized](http://i.imgur.com/Rn3yhw1.png)

For example, you can see that color code traditionally used for bright/bold
green is used by Solarized for "secondary content" (i.e. color used for
comments), and so on. The result is that many command line programs will
produce weird-looking or unreadable output unless they are configured with
specific Solarized settings. See [this
issue](https://github.com/altercation/solarized/issues/220) and [this Stack
Overflow
question](http://stackoverflow.com/questions/14093554/vim-solarized-on-os-x-terminal-app-incorrect-colors)
for an example.
Because of that many command line programs
will produce strange or unreadable output (see examples
[here](https://github.com/altercation/solarized/issues/220) and
[here](http://stackoverflow.com/questions/14093553/vim-solarized-on-os-x-terminal-app-incorrect-colors)).

Selenized adheres to standard meanings of terminal color codes:
Selenized keeps standard meaning of terminal color codes:

![color code assignment - selenized](http://i.imgur.com/h6Rog02.png)

Some programs may need adjustments to work well with Selenized, but such issues
happen less frequently.

Apart from terminals, I think that the decision to use exactly the same accent
colors in both light and dark variants of Solarized was wrong. This constraint
forces the lightness of the accent colors to be a compromise, rather than
picking optimal lightness for dark and light versions separately - and the
benefits of this solution are, in my opinion, negligible.

0 comments on commit 3841d85

Please sign in to comment.