Solarized
{{Short description|Color scheme for computer software}}
{{For|the 2004 album by Ian Brown|Solarized (album){{!}}Solarized (album)}}
{{Other uses|Solarization (disambiguation)}}
{{Infobox software
| title = Solarized
| logo = Solarized Yin Yang logo.png
| logo alt =
| logo caption = A yin-yang symbol showcasing both the light and dark schemes
| author = Ethan Schoonover
| developer =
| released =
| discontinued =
| ver layout =
| latest release version =
| latest release date =
| latest preview version = 1.0.0beta2
| latest preview date = {{Start date and age|2011|4|16}}
| programming language = XML, Vim script, HTML, Perl
| genre =
| license = MIT License
| AsOf =
| website = {{URL|https://ethanschoonover.com/solarized/}}
}}
Solarized is a color scheme for code editors and terminal emulators created by Ethan Schoonover. The scheme is available in a light and a dark mode. Packages that implement the color scheme have been published for many major applications, with some including the scheme pre-installed.
History
Ethan Schoonover—a designer and software developer—began working on Solarized in 2010 after he installed a new code editor and could not find a color scheme he liked.{{cite web |last1=Smith IV |first1=Jack |title=Meet the Man Behind 'Solarized,' the Most Important Color Scheme in Computer History |url=https://observer.com/2015/02/meet-the-man-behind-solarized-the-most-important-color-scheme-in-computer-history/ |website=Observer |date=February 27, 2015 |accessdate=22 October 2018}} He found the default white-on-black schemes of most applications to be too high in contrast. Even for low-contrast schemes, some colors were more prominent than others. This was an issue for programming, as code editors use syntax highlighting, where color is used to indicate the different parts of the code.{{cite magazine |last1=Finley |first1=Klint |title=The Very Mathematical History of a Perfect Color Combination |url=https://www.wired.com/story/very-mathematical-history-perfect-color-combination/ |magazine=Wired |access-date=2 April 2019 |archive-url=https://web.archive.org/web/20190402070508/https://www.wired.com/story/very-mathematical-history-perfect-color-combination/ |archive-date=2 April 2019 |url-status=live |url-access=limited |date=March 22, 2019}}
Initially, Schoonover attempted to modify the colors of another scheme called Zenburn, but he was daunted by its implementation in Vim script and did not agree with some of its design decisions.{{cite podcast |last1=Netherland |first1=Wynn |title=Episode #77: Solarized and Linux on the Desktop |website=The Changelog |date=March 30, 2012 |url=https://changelog.com/podcast/77 |access-date=22 October 2018}} Schoonover took six months in order to research and create Solarized, with the goal of applying "design rigor". Schoonover published Solarized in April 2011 on GitHub.
Schoonover has refused offers of donations to the project, preferring to not be beholden to others regarding changes, especially since aspects of programming environments such as color schemes can be contentious. Schoonover has considered releasing a revised set of color schemes as "Solarized 2" in order to avoid legacy support issues based on the original Solarized.
Design
Schoonover used Vim as his editor inside of a terminal, so he had to be conscious of its color limitations and decided to limit the scheme to 16 colors. He also worked on both a light and dark color scheme early on, with the goal of making them opposites of each other and cohesive. Due to Schoonover's prior experience with photography and color management, Solarized was designed in the CIELAB color space, with sRGB hex values being generated from canonical CIELAB values. Initially, Schoonover had a goal of creating a build system that would output themes for many different applications, but it proved difficult due to undocumented and complicated formats.
{{quote box|quote=Solarized reduces brightness contrast but, unlike many low contrast colorschemes, retains contrasting hues (based on colorwheel relations) for syntax highlighting readability.|source=– Ethan Schoonover|width=25%|salign=right}}
Schoonover first worked on Ruby and Haskell syntax highlighting to make sure their overall "typographic color" looked consistent. Schoonover had trouble getting the shade of red correct. The use of the colors yellow and blue were personal choices for Schoonover: yellow associated with "pleasant sounds, shapes, and pieces of music" due to minor synesthesia, and blue representing how he imagines drowning in the ocean to be like because of his thalassophobia. Schoonover expressed concern that ports might use an uneven mix of colors or too many colors. The light and dark schemes have symmetric CIELAB lightness differences in their base colors, preserving perceived contrast. The 16-color palette was also designed to scale down to multiple five-color palettes for design work.{{cite web |last1=Schoonover |first1=Ethan |title=Solarized |url=https://ethanschoonover.com/solarized/ |website=Ethan Schoonover |accessdate=26 October 2018}}
= Colors =
{{mw-datatable}}
class="wikitable mw-datatable"
|+ Solarized 1.0.0beta2{{efn|The first release of Solarized—1.0.0beta1—had a Red with a L* value of 45 ({{Colorsample2|#d30102}}).{{cite web |last1=Schoonover |first1=Ethan |title=Solarized Changelog |url=https://github.com/altercation/solarized/blob/master/CHANGELOG.mkd#critical-changes |website=GitHub |accessdate=18 December 2018}}}} Color Palette{{cite web |last1=Schoonover |first1=Ethan |title=The Values |url=https://ethanschoonover.com/solarized/#the-values |website=Solarized |accessdate=18 December 2018}} |
colspan=2 | Color
! colspan=4 | sRGB ! colspan=1 | xterm ! colspan=1 | Terminal ! rowspan=2 | Usage |
---|
Name
! Swatch ! L* ! a* ! b* ! Hex ! R ! G ! B ! Code ! Name |
Base03
| style="background:#002b36" | | align=right | 15 | align=right | −12 | align=right | −12 | #002b36 | align=right | 0 | align=right | 43 | align=right | 54 | align=right | 234 | brblack | rowspan=2 | background tones |
Base02
| style="background:#073642" | | align=right | 20 | align=right | −12 | align=right | −12 | #073642 | align=right | 7 | align=right | 54 | align=right | 66 | align=right | 235 | black |
Base01
| style="background:#586e75" | | align=right | 45 | align=right | −07 | align=right | −07 | #586e75 | align=right | 88 | align=right | 110 | align=right | 117 | align=right | 240 | brgreen | rowspan=4 | content tones |
Base00
| style="background:#657b83" | | align=right | 50 | align=right | −07 | align=right | −07 | #657b83 | align=right | 101 | align=right | 123 | align=right | 131 | align=right | 241 | bryellow |
Base0
| style="background:#839496" | | align=right | 60 | align=right | −06 | align=right | −03 | #839496 | align=right | 131 | align=right | 148 | align=right | 150 | align=right | 244 | brblue |
Base1
| style="background:#93a1a1" | | align=right | 65 | align=right | −05 | align=right | −02 | #93a1a1 | align=right | 147 | align=right | 161 | align=right | 161 | align=right | 245 | brcyan |
Base2
| style="background:#eee8d5" | | align=right | 92 | align=right | −00 | align=right | 10 | #eee8d5 | align=right | 238 | align=right | 232 | align=right | 213 | align=right | 254 | white | rowspan=2 | background tones |
Base3
| style="background:#fdf6e3" | | align=right | 97 | align=right | 00 | align=right | 10 | #fdf6e3 | align=right | 253 | align=right | 246 | align=right | 227 | align=right | 230 | brwhite |
Yellow
| style="background:#b58900" | | align=right | 60 | align=right | 10 | align=right | 65 | #b58900 | align=right | 181 | align=right | 137 | align=right | 0 | align=right | 136 | yellow | rowspan=8 | accent tones |
Orange
| style="background:#cb4b16" | | align=right | 50 | align=right | 50 | align=right | 55 | #cb4b16 | align=right | 203 | align=right | 75 | align=right | 22 | align=right | 166 | brred |
Red
| style="background:#dc322f" | | align=right | 50 | align=right | 65 | align=right | 45 | #dc322f | align=right | 220 | align=right | 50 | align=right | 47 | align=right | 160 | red |
Magenta
| style="background:#d33682" | | align=right | 50 | align=right | 65 | align=right | −05 | #d33682 | align=right | 211 | align=right | 54 | align=right | 130 | align=right | 125 | magenta |
Violet
| style="background:#6c71c4" | | align=right | 50 | align=right | 15 | align=right | −45 | #6c71c4 | align=right | 108 | align=right | 113 | align=right | 196 | align=right | 61 | brmagenta |
Blue
| style="background:#268bd2" | | align=right | 55 | align=right | −10 | align=right | −45 | #268bd2 | align=right | 38 | align=right | 139 | align=right | 210 | align=right | 33 | blue |
Cyan
| style="background:#2aa198" | | align=right | 60 | align=right | −35 | align=right | −05 | #2aa198 | align=right | 42 | align=right | 161 | align=right | 152 | align=right | 37 | cyan |
Green
| style="background:#859900" | | align=right | 60 | align=right | −20 | align=right | 65 | #859900 | align=right | 133 | align=right | 153 | align=right | 0 | align=right | 64 | green |
Redesigns
Selenized, an alternate revision of the Solarized palette made by Jan Warchol, is intended to improve readability and better distinguish close shades (like green–yellow and blue–violet).{{cite web|title= Solarized redesigned: fine-tuned color palette for programmers with focus on readability|first1=Jan|last1=Warchol|url=https://github.com/jan-warchol/selenized/blob/master/whats-wrong-with-solarized.md|website=GitHub|accessdate=19 September 2023}} OKSolar, by Zack Voase, is intended to provide more uniform perceptual brightness by using colors defined in the OKLab color space instead of CIELAB.{{cite web|url=https://meat.io/oksolar|title=OKSolar|website=meat.io|first1=Zack|last1=Voase|date=November 18, 2022|accessdate=19 September 2023}}
Reception
Upon release on GitHub, Solarized reached the top percentiles of projects for that week. Joel Falconer of The Next Web recommended Solarized, writing: "I doubt there are many, if any, terminal color schemes that have received the amount of thought and attention that Schoonover's Solarized has."{{cite web |last1=Falconer |first1=Joel |title=Solarized color schemes help you code longer |url=https://thenextweb.com/dd/2011/04/05/solarized-color-schemes-help-you-code-longer/ |website=The Next Web |date=April 5, 2011 |accessdate=26 October 2018}} Writing for Tidbits, Steven Aquino tested Solarized Light along with the Cousine font and reported that "as a visually impaired person, I find the combination to be extremely comfortable for my eyes. ... I'm experiencing considerably less eye strain than normal."{{cite web |last1=Centers |first1=Josh |last2=Aquino |first2=Steven |title=Make Text More Readable with Solarized and Cousine |url=https://tidbits.com/2013/08/02/make-text-more-readable-with-solarized-and-cousine/ |website=Tidbits |date=August 2, 2013 |accessdate=26 October 2018}}
Gallery
Solarized Light Xcode 4 Theme (5592863390).png|A port of Solarized Light being used in the syntax highlighting of Objective-C source code
Solarized Dark Xcode 4 Theme (5592270855).png|The same source code using Solarized Dark
Screenshot 20160627 150517.png|Solarized Dark used to style ncmpcpp, an MPD client running in the terminal
Tech news process - Overview.svg|Solarized Light used in a diagram showing the process used to write Wikimedia's weekly technology newsletter
Paris Metro map complete.svg|Solarized Dark used in a geographically accurate Paris Métro map
Screenshot of Wikipedia in Vector skin, with JPxG's Solarized CSS.png|A slightly modified version of Solarized Dark in a custom Wikipedia skin
See also
Notes
{{notelist}}
References
{{Reflist}}