function kitten --description 'Run kitten and restore Kitty theme overrides' set -l config_dir "$HOME/.config/kitty" if set -q KITTY_CONFIG_DIRECTORY set config_dir "$KITTY_CONFIG_DIRECTORY" end command kitten $argv set -l kitten_status $status # Re-apply the pinned mode over whatever the themes kitten just wrote, and # reload so the change shows immediately. apply-theme-mode.sh does the # capturing itself, by checksum, so a theme saved through some other route # -- `kitty +kitten themes`, a keybinding, another shell -- is picked up on # its next run rather than being lost. if test $kitten_status -eq 0 and test (count $argv) -gt 0 and test "$argv[1]" = themes "$HOME/.config/kitty/apply-theme-mode.sh" "$config_dir" or return $status if set -q KITTY_WINDOW_ID command kitty @ load-config or return $status end end return $kitten_status end