Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6e684a9c4e | |||
|
|
1dcf75a360 | ||
| b580f47679 | |||
| b2e80a9f35 | |||
| 534f2423e9 | |||
| b5b9b12174 |
1
.gitignore
vendored
@@ -17,7 +17,6 @@ docs/_build/
|
||||
# local
|
||||
/Makefile
|
||||
|
||||
data/
|
||||
archive/
|
||||
|
||||
notebooks/color_spaces_manyview.ipynb
|
||||
|
||||
23
README.md
@@ -32,11 +32,11 @@ smoothly as a function of lightness within sRGB gamut bounds.
|
||||
|
||||
| Chroma curves | Color trajectories |
|
||||
|----------------------------------------------------------|------------------------------------------|
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
| Palette |
|
||||
|----------------------------------------------|
|
||||
|  |
|
||||
|  |
|
||||
|
||||
Chroma curves are designed specifically to establish a distinct role for each
|
||||
accent and are non-intersecting over the lightness domain (hence the distinct
|
||||
@@ -143,16 +143,23 @@ using the `monobiome` CLI:
|
||||
(`grassland`). Every part of this process can be customized: the scheme
|
||||
parameters, the scheme definitions/file, the app template.
|
||||
|
||||
The separation of duties here facilitates robustness: the palette colors can be
|
||||
tweaked (across versions, say) without changing how those colors get used in
|
||||
app themes. Scheme files don't hardcode color values, and app templates don't
|
||||
refer to palette variables at all. Scheme files bridge palette colors with
|
||||
*intended uses*, and templates need only align those uses under an app's
|
||||
expected config syntax.
|
||||
|
||||
Running these commands in sequence from the repo root should work
|
||||
out-of-the-box after having installed the CLI tool.
|
||||
|
||||
## Applications
|
||||
This repo provides palette-agnostic theme templates for `kitty`,
|
||||
`vim`/`neovim`, and `fzf` in the `templates/` directory. Pre-generated
|
||||
*concrete* themes can be found in `app-config/`, if you'd like to try an
|
||||
example out-of-the-box without using the `monobiome` CLI. Raw
|
||||
palette colors can be found in `colors/` if you want to use them to define
|
||||
static themes for other applications.
|
||||
This repo provides palette-agnostic theme templates for `ghostty`,
|
||||
`kitty`, `vim`/`neovim`, and `fzf` in the `templates/` directory.
|
||||
Pre-generated *concrete* themes can be found in `app-config/`, if you'd
|
||||
like to try an example out-of-the-box without using the `monobiome` CLI.
|
||||
Raw palette colors can be found in `colors/` if you want to use them to
|
||||
define static themes for other applications.
|
||||
|
||||
Themes files in the `app-config/` directory are generated for light and dark
|
||||
modes of each biome, and named according to the following pattern:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = "1.5.2"
|
||||
version = "1.5.4"
|
||||
|
||||
[alpine]
|
||||
l10 = "#030303"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = "1.5.2"
|
||||
version = "1.5.4"
|
||||
|
||||
[alpine]
|
||||
l10 = "oklch(10.0% 0.0000 0.0)"
|
||||
|
||||
BIN
images/release/1.5.3/chroma-bounds.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
BIN
images/release/1.5.3/chroma-curves.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
images/release/1.5.3/palette-bare.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
images/release/1.5.3/palette.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
images/release/1.5.4/chroma-bounds.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
BIN
images/release/1.5.4/chroma-curves.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
images/release/1.5.4/palette-bare.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
images/release/1.5.4/palette.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
@@ -111,7 +111,7 @@ def handle_scheme(args: Namespace, parser: ArgumentParser) -> None:
|
||||
"cyan": "cyan",
|
||||
"blue": "blue",
|
||||
"violet": "violet",
|
||||
"magenta": "orange",
|
||||
"magenta": "magenta",
|
||||
}
|
||||
term_color_map = {
|
||||
"red": "red",
|
||||
|
||||
65
monobiome/data/parameters.toml
Normal file
@@ -0,0 +1,65 @@
|
||||
L_min = 10
|
||||
L_max = 98
|
||||
L_step = 5
|
||||
|
||||
[monotone_C_map]
|
||||
alpine = 0
|
||||
badlands = 0.011
|
||||
chaparral = 0.011
|
||||
savanna = 0.011
|
||||
grassland = 0.011
|
||||
reef = 0.011
|
||||
tundra = 0.011
|
||||
heathland = 0.011
|
||||
moorland = 0.011
|
||||
|
||||
[h_weights]
|
||||
red = 3.0
|
||||
orange = 3.8
|
||||
yellow = 3.8
|
||||
green = 3.8
|
||||
cyan = 3.8
|
||||
blue = 3.6
|
||||
violet = 3.0
|
||||
magenta = 3.6
|
||||
|
||||
[h_L_offsets]
|
||||
red = 0
|
||||
orange = -5.5
|
||||
yellow = -13.5
|
||||
green = -12.5
|
||||
cyan = -10.5
|
||||
blue = 9
|
||||
violet = 7
|
||||
magenta = 2
|
||||
|
||||
[h_C_offsets]
|
||||
red = 0
|
||||
orange = -0.015
|
||||
yellow = -0.052
|
||||
green = -0.08
|
||||
cyan = -0.009
|
||||
blue = -0.01
|
||||
violet = -0.047
|
||||
magenta = -0.1
|
||||
|
||||
[monotone_h_map]
|
||||
alpine = 0
|
||||
badlands = 29
|
||||
chaparral = 62.5
|
||||
savanna = 104
|
||||
grassland = 148
|
||||
reef = 205
|
||||
tundra = 262
|
||||
heathland = 306
|
||||
moorland = 350
|
||||
|
||||
[accent_h_map]
|
||||
red = 29
|
||||
orange = 62.5
|
||||
yellow = 104
|
||||
green = 148
|
||||
cyan = 205
|
||||
blue = 262
|
||||
violet = 306
|
||||
magenta = 350
|
||||
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "monobiome"
|
||||
version = "1.5.2"
|
||||
version = "1.5.5"
|
||||
description = "Monobiome color palette"
|
||||
requires-python = ">=3.12"
|
||||
authors = [
|
||||
|
||||
41
templates/ghostty/config
Normal file
@@ -0,0 +1,41 @@
|
||||
# base settings
|
||||
background = f{{term.background}}
|
||||
foreground = f{{term.foreground}}
|
||||
|
||||
selection-background = f{{term.selection_bg}}
|
||||
selection-foreground = f{{term.selection_fg}}
|
||||
|
||||
cursor-color = f{{term.cursor}}
|
||||
cursor-text = f{{term.cursor_text}}
|
||||
|
||||
# black
|
||||
palette = 0=f{{term.normal.black}}
|
||||
palette = 8=f{{term.bright.black}}
|
||||
|
||||
# red
|
||||
palette = 1=f{{term.normal.red}}
|
||||
palette = 9=f{{term.bright.red}}
|
||||
|
||||
# green
|
||||
palette = 2=f{{term.normal.green}}
|
||||
palette = 10=f{{term.bright.green}}
|
||||
|
||||
# yellow
|
||||
palette = 3=f{{term.normal.yellow}}
|
||||
palette = 11=f{{term.bright.yellow}}
|
||||
|
||||
# blue
|
||||
palette = 4=f{{term.normal.blue}}
|
||||
palette = 12=f{{term.bright.blue}}
|
||||
|
||||
# magenta (red)
|
||||
palette = 5=f{{term.normal.magenta}}
|
||||
palette = 13=f{{term.bright.magenta}}
|
||||
|
||||
# cyan (blue)
|
||||
palette = 6=f{{term.normal.cyan}}
|
||||
palette = 14=f{{term.bright.cyan}}
|
||||
|
||||
# white
|
||||
palette = 7=f{{term.normal.white}}
|
||||
palette = 15=f{{term.bright.white}}
|
||||