dotfiles/private_dot_config/kitty/private_tests
Anton Volnuhin 9e2667f8fe kitty: capture theme choices however the kitten was launched
Saving a theme stopped sticking: the choice was captured only by the fish
`kitten` wrapper, so `kitty +kitten themes`, a keybinding or any non-fish
shell wrote <appearance>-theme.auto.conf directly and the next regeneration
overwrote it from theme-modes. The dark slot had already lost a pick that
way -- dark-theme.auto.conf held #0d0f31 while canonical dark said #2b2c2e.

Move the capture into apply-theme-mode.sh, which every path runs. It records
a cksum of each generated file after the repair step; on the next run a file
whose checksum differs was written by something else, so it becomes canonical
for that appearance. With no state recorded yet nothing is adopted, so a
first run cannot mistake a pinned mode's duplicated files for real choices.

The fish wrapper keeps only its useful part: re-apply the mode and reload so
the change shows at once.

theme-modes/dark.conf is the recovered #0d0f31 (1984). Covered by a new case
in tests/test_theme_mode.sh that writes the theme file with no shell involved.
2026-08-06 04:42:59 +03:00
..
executable_verify_auto_themes.sh Sync Kitty automatic themes from maxwell 2026-07-27 22:44:57 +03:00
private_executable_test_repair_auto_themes.sh fix(kitty): preserve tab styling across themes 2026-07-28 04:53:48 +03:00
private_executable_test_theme_mode.sh kitty: capture theme choices however the kitten was launched 2026-08-06 04:42:59 +03:00
private_test_tab_bar_colors.py kitty: give active ssh tabs the same foreground as every other tab 2026-08-06 01:35:25 +03:00