Fixed dark and light themes, ui.theme auto/dark/light

Colors no longer come from the terminal's palette, whose color 0 many
color themes set to a grey that is not their background. A theme sets
tview's default styles and the color names used in texts, all chosen from
entries 16-255 of the 256-color table so terminals without 24-bit color
show them exactly. "auto" picks light or dark from the background color
the terminal reports. Settable in the Config view, applied at the next
start (widgets copy their colors when created). Replaces using the
terminal's own background and text colors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
This commit is contained in:
2026-10-21 12:05:00 +02:00
co-authored by Claude Opus 5.5
parent 08d3417b05
commit 820b17842b
20 changed files with 254 additions and 169 deletions
+6 -7
View File
@@ -2,13 +2,12 @@
## Unreleased
- **The terminal's own colors, light themes too:** the panes used color 0 of the terminal's palette
("black"), which color themes often set to a grey that differs from their background (e.g.
Catppuccin), so the whole program looked washed out, and on light themes it was a dark grey slab
with white text. The terminal is now asked for its background and text colors at startup. Dark
backgrounds are used as they are; on light ones the text, borders, input fields and the active
tab follow the terminal's text color as well. Needs 24-bit color; the Log says which colors are
used and why.
- **Dark and light themes:** fixed colors that look the same in every terminal (`ui.theme`: `auto`,
`dark` or `light`, also in the Config view; applies at the next start). Before, the panes used
color 0 of the terminal's palette, which color themes often set to a grey that is not their
background (e.g. Catppuccin), so the program looked washed out, and on light themes it was a dark
grey slab with white text. `auto` asks the terminal for its background color and picks light or
dark to match; the Log says which and why.
- **Smooth scrolling on huge terminals:** while an arrow key is held, the poster waits until the
selection rests (120 ms). Every poster rewrites all of its cells, which on a terminal zoomed far
out was more output per step than the terminal could draw, so moving through a list lagged.