kitty gives *-theme.auto.conf priority over everything -- includes and
even --override -- and has no option to stop following the OS. So the
only way to start in a chosen mode is to control what those files
contain. Make them generated:
themes/{light,dark,no-preference}.conf canonical, the real themes
theme-mode auto | light | dark
apply-theme-mode.sh writes the three .auto.conf
Under `auto` each appearance keeps its own theme, so kitty follows the
OS as before. Pinned, all three get the pinned theme, so kitty starts in
it whatever the OS says and a config reload no longer resets it.
`theme` now records the mode and reloads instead of calling set-colors,
which is why the setting survives restarts. A bare `theme` records
`auto` rather than pinning when the toggle lands on the macOS
appearance, so nothing is pinned unless it actually differs.
The kitten shim hashes the automatic theme files before running `kitten
themes` and copies whichever changed into themes/, so picking a new
light theme while pinned to dark is kept and applied on the next switch.
Covered by tests/test_theme_mode.sh.
conf.d/kitty_theme.fish is gone: theme-mode is now the source of truth,
so the universal-variable tracker it maintained is redundant.
29 lines
791 B
Plaintext
29 lines
791 B
Plaintext
background #1c2836
|
|
foreground #ffffff
|
|
cursor #bbbbbb
|
|
selection_background #b4d5ff
|
|
color0 #000000
|
|
color8 #545454
|
|
color1 #f9555f
|
|
color9 #fa8b8e
|
|
color2 #20af89
|
|
color10 #34bb99
|
|
color3 #fdf029
|
|
color11 #ffff55
|
|
color4 #589cf5
|
|
color12 #589cf5
|
|
color5 #934d95
|
|
color13 #e75598
|
|
color6 #1e9ee6
|
|
color14 #3978bb
|
|
color7 #bbbbbb
|
|
color15 #ffffff
|
|
selection_foreground #1c2836
|
|
|
|
active_tab_foreground #1c2836
|
|
active_tab_background #2e84e6
|
|
inactive_tab_foreground #2e84e6
|
|
inactive_tab_background #1c2836
|
|
|
|
macos_titlebar_color background
|