Switch the theme live
Widgets copy their colors when they are created, so they now get role tokens (one unique RGB value per role) instead of colors, and a wrapper around the tcell screen replaces the tokens with the current theme's colors in SetContent. Changing the theme in the Config view swaps that table; the next draw recolors everything. Poster colors that equal a token are nudged off it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
This commit is contained in:
+3
-1
@@ -3,11 +3,13 @@
|
||||
## Unreleased
|
||||
|
||||
- **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
|
||||
`dark` or `light`, also in the Config view, where a change recolors everything at once). 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.
|
||||
- **Space presses buttons** (Save, Revert, the buttons of dialogs), as the help says; before only
|
||||
Enter did, except for Test.
|
||||
- **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.
|
||||
|
||||
Reference in New Issue
Block a user