Guidelines for creating a selenized theme for your terminal emulator.
Each Selenized variant defines 3 background shades (bg_*
), 3 content shades
(dim_*
, fg_*
) and 8 accent colors (each with a bright version). This
document explains which color to use for what. You can find RGB values of the
colors here.
Element | Color |
---|---|
background | bg_0 |
foreground | fg_0 |
bold foreground | fg_1 |
dim foreground | dim_0 |
cursor color | fg_1 |
selection | bg_2 |
selection text | (none) |
Notes:
- Most terminals don't allow setting selection colors, they simply reverse foreground and background.
- Some terminals allow setting the opacity/brightness of special "dim" colors. This value should be set to 0.625.
- In case your terminal has a setting like "bright background", set it to
bg_1
. - ANSI colors don't include orange and violet, so they are not used in terminal emulators - they are intended for GUI applications.
ANSI palette:
# | ANSI color | Selenized color |
---|---|---|
0 | black | bg_1 |
1 | red | red |
2 | green | green |
3 | yellow | yellow |
4 | blue | blue |
5 | magenta | magenta |
6 | cyan | cyan |
7 | white | dim_0 |
8 | bright black | bg_2 |
9 | bright red | br_red |
10 | bright green | br_green |
11 | bright yellow | br_yellow |
12 | bright blue | br_blue |
13 | bright magenta | br_magenta |
14 | bright cyan | br_cyan |
15 | bright white | fg_1 |
Theme files should be generated from templates (so that it's easy to create configs for all selenized variants, and update them whenever colors change).
See
utils/templates/template-test.example.template
for an example template and utils/README.md
for
instructions on how to use templating machinery.
That's it!
Please send me a pull request with the resulting configs and template so that I can make your terminal officially supported :-)