solarized-emacs

a fork of Bozhidar Batsov's solarized-emacs
git clone https://git.trogloxene.org/solarized-emacs.git
Log | Files | Refs | README

commit 4e52026466cf89994f521349cd3e4a5db5614988
parent bf8cdf469757eb4b1b08c480afc88c067c5be363
Author: Thomas Frössman <thomasf@jossystem.se>
Date:   Mon,  6 Apr 2015 06:54:45 +0200

Add dev-guide.md

Closes #162 , the document draft is now in the repo instead.

Diffstat:
ADEV-GUIDE.md | 89+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 89 insertions(+), 0 deletions(-)

diff --git a/DEV-GUIDE.md b/DEV-GUIDE.md @@ -0,0 +1,89 @@ +# Information for contribution/development + +## Notes on how colors are used + +**This is a draft** which might not paint the whole picture right now. + +### Introduction + +The main intent of this section is to help contributors decide on how to use +colors and looks when making contribution. + +In a simplified sense it's might be beneficial to imagine the light theme as +being as close as possible to writing written text on paper with a few tools +like markers and coloured pencils at hand to highlight **exceptional +circumstances**. + +This is not meant to be a strict guide but it can probably be follwed in most +situations. + +### Upstream Solarized palette usage documentation + +The base Solarized colors have a canonical +[usage documentation](http://ethanschoonover.com/solarized#usage-development) + +Usage table for the dark theme: + +* `base 1` - optional emphasized content +* `base 0` - body text / default code / primary content +* `base 00` - unspecified (it's a separator) +* `base 01` - comments / secondary content +* `base 02` - background highlights +* `base 03` - background + +When defining a child theme, the current convention is to use the dark theme's +base color names directly, e.g. `(:foreground ,base0)`. They will switch to +their counterparts automatically in the light theme. + +### Basic strategy for selecting colors + +The most important general rule is to **avoid color pasta**. + +Examples: + +- Try to start by not using accent colors at all. It's common to get a good + enough visual separation by just using the baseXX colors. +- Avoid having several accent colors grouped in a small space +- Avoid having accent colors that are cycled or striped repeatedly. +- It's sometimes even preferable to hide information by reusing colors rather + than creating more visual noise. It's hard to decide (for other people) what + to simplify/reduce away but it leads to a better reading experience. +- For things small spaces like indicators, the baseXX are usually enough. The + indicator symbols themselves are probably good enough carriers of + information. + +### Accent colors that are used in special ways + +(Draft note: This is a simplified list written i haste, needs much more +details. In worst case scenario it's even wrong, probably not though. Some of +the bullet points lacks explanation right now) + +Generally I try to only use the most basic colors which I guess is +cyan/blue/green/yellow (again, if possible). + +Some specific color information: + +- **magenta** is used as a temporary highlight color, in most cases it matches + direct user input actions such as isearch matches, ... +- **red** is used to indicate errors only. + - Exception: In buffers displaying only or mostly a diff, **red** is ok for + indicating "removed". +- **orange** is used to indicate errors only but be a little more relaxed with + that rule as opposed to **red**. +- **violet** is very rarely used at all +- **blue** / **green** / **red** can be used for diff like things indicating + modified/added/removed + +### Using colors that are not in the original solarized theme + +(TODO: document the lc/hc colors and possibly some of the blending thats used at places) + +- If possible, just don't do it. +- One common usage is when there is a need to add yet another overlay where + most regular colors already are in use. +- the lc/hc colors should usually be used together as fg/bg or bg/fg since + their contrast relationships works best like that. + + + +