- Notifications
You must be signed in to change notification settings - Fork0
precision color scheme for multiple applications (terminal, vim, etc.) with both dark/light modes
License
mattno/solarized
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
title | description | author | tags | colors | created | modified |
---|---|---|---|---|---|---|
Solarized | Precision colors for machines and people | Ethan Schoonover | test, testing, test123 | light yellow | 2011 Mar 15 | 2011 Apr 16 |
Solarized is a sixteen color palette (eight monotones, eight accent colors)designed for use with terminal and gui applications. It has severaluniqueproperties. I designed this colorscheme with both preciseCIELAB lightness relationshipsand a refined set of hues based on fixed color wheel relationships. It has beentested extensively in real world use on color calibrated displays (as well asuncalibrated/intentionally miscalibrated displays) and in a variety of lightingconditions.
See thechangelog for what's new in the most recent release.
Currently available in formats for (cfscreenshots below):
Vim byme (the Vim-only portion of Solarized isavailable here, for use withPathogen, etc.). See also theVim README.
Emacs courtesy ofGreg Pfeil(@sellout)in the main repo and in astandalone repository
IntelliJ IDEAcourtesy ofJohan Kaving and(@flangy)in the main repo and in astandalone repository
NetBeans courtesy ofBrian Fenton andin the main repo and in astandalone repository
SeeStyle theme for Coda & SubEthaEdit courtesy ofJustin Hileman(@bobthecow),in the main repo and in astandalone repository
TextMate ---NOTE: Dark Theme is work in progress
courtesy ofTom Martin(@deplorableword)in the main repo and in astandalone repository(with key work fromMark StoryandBrian Mathiyakom)TextWrangler & BBEdit courtesy ofRui Carmo(@taoofmac)in the main repo and in astandalone repository
Visual Studio courtesy ofDavid Thibault(@leddt)in the main repo and in astandalone repository
Xcode work in progress ports are available forXcode 3 andXcode 4and will be pulled into the main Solarized project soon.
- Xresources / Xdefaults
- iTerm2
- OS X Terminal.app
- Putty courtesyBrant Bobbyand onGitHub
- Xfce terminal courtesySasha Gerrandand onGitHub
- Mutt e-mail client also byme (just the Mutt colorscheme isavailable here)
- Adobe Photoshop Palette (inc. L*a*b values)
- Apple Color Picker Palettes
- GIMP Palette
Don't see the application you want to use it in? Download the palettes (or pullthe values from the table below) and create your own. Submit it back and I'llhappily note the contribution and include it on this page. See also theUsage & Development section below for details on thespecific values to be used in different contexts.
Current release isv1.0.0beta2. See thechangelog for details on what'snew in this release.
You can also use the following links to access application specific downloadsand git repositories:
Canonical Project Page:
Downloads, screenshots and more information are always available from theproject page:http://ethanschoonover.com/solarized
Full Git Repository:
The full git repository is at:https://github.com/altercation/solarizedGet it using the following command:
$ git clone git://github.com/altercation/solarized.git
Application Specific Repositories:
You can clone repositories specific to many of the application specificcolor themes. See links in the list above or select from this list:
Note that through the magic ofgit-subtreethese repositories are all kept in sync, so you can pull any of them and get the most up-to-date version.
Selective contrast
On a sunny summer day I love to read a book outside. Not right in the sun;that's too bright. I'll hunt for a shady spot under a tree. The shadedpaper contrasts with the crisp text nicely. If you were to actually measurethe contrast between the two, you'd find it is much lower than black texton a white background (or white on black) on your display device of choice.Black text on white from a computer display is akin to reading a book indirect sunlight and tires the eye.
Solarized reducesbrightness contrast but, unlike many low contrastcolorschemes, retainscontrasting hues (based on colorwheel relations)for syntax highlighting readability.
Both sides of the force
I often switch between dark and light modes when editing text and code.Solarized retains the same selective contrast relationships and overallfeel when switching between the light and dark background modes. Alot ofthought, planning and testing has gone into making both modes feel likepart of a unified colorscheme.
16/5 palette modes
Solarized works as a sixteen color palette for compatibility with commonterminal based applications / emulators. In addition, it has been carefullydesigned to scale down to a variety of five color palettes (four basemonotones plus one accent color) for use in design work such as web design.In every case it retains a strong personality but doesn't overwhelm.
Precision, symmetry
The monotones have symmetric CIELAB lightness differences, so switchingfrom dark to light mode retains the same perceived contrast in brightnessbetween each value. Each mode is equally readable. The accent colors arebased off specific colorwheel relations and subsequently translated toCIELAB to ensure perceptual uniformity in terms of lightness. The huesthemselves, as with the monotone *a*b values, have been adjusted withina small range to achieve the most pleasing combination of colors.
See also theUsage & Development section below fordetails on the specific values to be used in different contexts.
This makes colorscheme inversion trivial. Here, for instance, is a sass(scss) snippet that inverts solarized based on the class of the html tag(e.g.
<html>
to give a dark background with red accent):$base03: #002b36;$base02: #073642;$base01: #586e75;$base00: #657b83;$base0: #839496;$base1: #93a1a1;$base2: #eee8d5;$base3: #fdf6e3;$yellow: #b58900;$orange: #cb4b16;$red: #dc322f;$magenta: #d33682;$violet: #6c71c4;$blue: #268bd2;$cyan: #2aa198;$green: #859900;@mixin rebase($rebase03,$rebase02,$rebase01,$rebase00,$rebase0,$rebase1,$rebase2,$rebase3){ background-color:$rebase03; color:$rebase0; * { color:$rebase0; } h1,h2,h3,h4,h5,h6 { color:$rebase1; border-color: $rebase0; } a, a:active, a:visited { color: $rebase1; }}@mixin accentize($accent) { a, a:active, a:visited, code.url { color: $accent; } h1,h2,h3,h4,h5,h6 {color:$accent}}/* light is default mode, so pair with general html definition */html, .light { @include rebase($base3,$base2,$base1,$base0,$base00,$base01,$base02,$base03)}.dark { @include rebase($base03,$base02,$base01,$base00,$base0,$base1,$base2,$base3)}html * { color-profile: sRGB; rendering-intent: auto;}
Installation instructions for each version of the colorscheme are included inthe subdirectory README files. Note that for Vim (and possibly for Mutt) youmay want to clone the specific repository (for instance if you are usingPathogen). See the links at the top of this file.
Solarized has been designed to handle fonts of various weights and retainreadability, from the classic Terminus to the beefy Menlo.
Clockwise from upper left: Menlo, Letter Gothic, Terminus, Andale Mono.
Preview all code samples in specific font faces by selecting a link from thislist:
Click to view.
These screen shots show Vim running with my ownPandoc Kit Syntax.
L*a*b values are canonical (White D65, Reference D50), other values arematched in sRGB space.
SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB--------- ------- ---- ------- ----------- ---------- ----------- -----------base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
If you are considering developing a port for Solarized, please see also thedeveloper notes forinformation about optional repository structure and readme formats.
Solarized flips between light and dark modes. In each mode, four monotones formthe core values (with an optional fifth for emphasized content).
Thus in the case of a dark background colorscheme, the normal relationship forbackground and body text isbase03:base0
(please note that body text isnotbase00
). Note also that in cases where the background and foregroundcan be specified as a pair value, text can be highlighted using a combinationofbase02:base1
. The L*a*b lightness difference betweenbase03:base0
andbase02:base1
is identical by design, resulting in identical readabilityagainst both normal and highlighted backgrounds. An example use case is foldedtext in Vim which usesbase02
for the background andbase1
for theforeground.
The values in this example are simply inverted in the case of a lightbackground.
About
precision color scheme for multiple applications (terminal, vim, etc.) with both dark/light modes
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- Vim Script49.7%
- HTML14.3%
- Perl10.6%
- Shell8.2%
- Emacs Lisp5.0%
- AppleScript4.4%
- Other7.8%