summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/config.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/config.md b/docs/config.md
index 8c9c96d0..7982ccee 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -136,6 +136,23 @@ name, thirteen required RGB roles (`sel_bg`, `sel_fg`, `tag_bg`, `tag_fg`,
`null`. RGB values are three-byte arrays, and hex literals are accepted. There
is no inheritance or partial override layer.
+`Filter` in a terminal's tag projects that pane's ANSI colors through the
+active theme, and does it in two stages. The default foreground and background
+roles are mapped FIRST, because ghostty-vt generates the whole 256-color
+projection from that pair; every other color follows, by reducing it to its
+nearest canonical xterm key and reading the key back out of the projection.
+
+That reduction compares RGB triples, so it knows about hue and nothing about
+the page — and the projection's cube corners ARE the two anchors, which is how
+a foreground used to end up painted the exact color of the paper behind it
+(`\x1b[38;2;255;255;255m` on acme's `#ffffea`, and the ANSI black a shell
+writes with `\x1b[30m` on either dark theme). So a foreground additionally has
+to keep `tty_filter_min_contrast` — a WCAG ratio, `1.5` by default — against
+the mapped background. One that cannot is not mapped: it takes whichever of
+the theme's own two anchors is still visible on that background. Backgrounds
+are exempt, since a background is the page the floor is measured against. Set
+the constant to `1.0` to accept every projected color, collapses included.
+
`Shell <name>` sets the binary that the NEXT terminal pane execs; panes
already open keep the shell they are running. A bare name is resolved against
the handful of directories a shell actually lives in, not `$PATH`.