Skip to content

Add kitty terminal configuration with auto theme switching#3

Open
kalinichenko88 wants to merge 12 commits intomainfrom
feat/kitty-config
Open

Add kitty terminal configuration with auto theme switching#3
kalinichenko88 wants to merge 12 commits intomainfrom
feat/kitty-config

Conversation

@kalinichenko88
Copy link
Copy Markdown
Owner

Summary

  • Adds a kitty/ directory mirroring the wezterm setup (Monaco DemiBold, auto dark/light theme switching, IDE-like split keybinding, equivalent pane controls) plus a make kitty-config-install target that symlinks it to ~/.config/kitty
  • Theme switching uses a symlink swap triggered from zshrc on each shell startup — kitty/theme-sync.sh detects macOS appearance, repoints themes/current-theme.conf, and calls kitty @ load-config for live reload
  • Vendors kanagawabones.conf (dark) and AtomOneLight.conf (light) from kovidgoyal/kitty-themes; adds cask "kitty" to the Brewfile

Design spec and implementation plan live under docs/superpowers/.

Test plan

  • make kitty-config-install succeeds on clean ~/.config/kitty
  • Idempotent — second run creates no nested symlink
  • current-theme.conf symlink matches current macOS appearance after install
  • kitty --debug-config parses the config without errors or unknown options
  • Font, theme, and title bar render as expected on first launch
  • Cmd+Shift+→ / Cmd+Shift+↓ create vertical / horizontal splits
  • Cmd+Shift+X closes the current pane with confirmation
  • Cmd+Shift+| produces the IDE 3-pane layout (left half + right top + right bottom 15%)
  • Toggling macOS appearance + opening a new kitty window picks up the new theme

Mirrors the existing wezterm setup (font, theme switching, splits,
keybindings) and adds a make kitty-config-install target. Theme
switching uses a symlink swap + zsh hook + kitty @ load-config.
Plan covers 12 tasks: vendor themes, build kitty.conf, add Makefile
target, wire zshrc hook, add Brewfile cask, update CLAUDE.md/README,
and end-to-end verification. Spec updated with verified upstream
filenames (kanagawabones.conf, AtomOneLight.conf).
current-theme.conf is swapped at runtime by theme-sync.sh based on
macOS appearance. Tracking it in git caused the working tree to go
dirty on every install/shell-startup. Untrack and gitignore; the
symlink is created by theme-sync.sh on first run (invoked by
kitty-config-install and the zshrc hook).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant