Files
dotfiles/config/kitty/kitty.conf
T
David F GliddenandClaude a0e34f78ae Recover missing Brewfile and enhance system updates
- Add missing Brewfile (found in home directory)
- Add bashrc and FZF configurations to dotfiles
- Install mas CLI for Mac App Store management
- Enhance sysupdate() with moon phase and MAS updates
- Update symlinks script for all shell configs

🖖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 19:13:11 +02:00

353 lines
9.8 KiB
Plaintext

# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
# ═══════════════════════════════════════════════════════════════════════════════
# KITTY TERMINAL CONFIGURATION
# Following the μέτρον principle: measure, proportion, and what is fitting
#
# Philosophy:
# - Performance without excess
# - Visual clarity without distraction
# - Keyboard efficiency without complexity
# - Durable choices that age well
# ═══════════════════════════════════════════════════════════════════════════════
#: Fonts {{{
# Font choice rationale: Dank Mono provides excellent readability with
# tasteful ligatures that aid code comprehension without being excessive
# font_family Dank Mono
# bold_font Dank Mono
#italic_font Dank Mono
# bold_italic_font Dank Mono
# Font choice rationale: Iosevka Term SS08 has ultra-consistent rhythm, beautiful slant, clear punctuation
font_family Iosevka Term SS08
bold_font Iosevka Term SS08
italic_font Iosevka Term SS08
bold_italic_font Iosevka Term SS08
# 16pt provides optimal readability on modern displays without strain
font_size 16.0
# Fallback fonts for symbols and special characters
# This ensures proper rendering of powerline, nerd font icons, and unicode
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols
symbol_map U+276F-U+2771,U+2500-U+259F Fira Code Nerd Font
symbol_map U+E000-U+E00A,U+E100-U+E117,U+E200-U+E2A9,U+E300-U+E3E3,U+E400-U+E4CF,U+E500-U+E5FF,U+E600-U+E6FF,U+E700-U+E7C5,U+E800-U+E8FF,U+EA00-U+EBFF,U+EC00-U+EE0C,U+F000-U+F2E0,U+F300-U+F372,U+F400-U+F533,U+F600-U+F64F,U+F700-U+F7FF,U+F800-U+F8FF,U+F900-U+F9FF,U+FA00-U+FAFF,U+FB00-U+FBFF,U+FC00-U+FCFF,U+FD00-U+FDFF,U+FE00-U+FE0F,U+FE30-U+FE4F Fira Code Nerd Font
# Mathematical symbols fallback
symbol_map U+2200-U+22FF Fira Code Nerd Font
# Box drawing and block elements with better alignment
symbol_map U+2500-U+259F Fira Code Nerd Font
# Powerline symbols (in case PowerlineSymbols font is not available)
symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 Fira Code Nerd Font
# Enable ligatures for better code readability (!=, =>, etc.)
disable_ligatures never
# Adjust vertical spacing for better readability (5% more line height)
adjust_line_height 105%
# Box drawing characters should align properly
box_drawing_scale 0.001, 1, 1.5, 2
#: }}}
#: Cursor customization {{{
# Block cursor for clear visibility
cursor_shape block
# Gentle blinking to locate cursor without distraction
cursor_blink_interval 0.5
cursor_stop_blinking_after 15.0
#: }}}
#: Scrollback {{{
# Generous but not excessive scrollback (10K lines)
scrollback_lines 10000
# Use less with better options for scrollback viewing
scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
# Fill new space when window is enlarged for continuity
scrollback_fill_enlarged_window yes
#: }}}
#: Mouse {{{
# Hide mouse quickly when typing
mouse_hide_wait 1.0
# URL handling with clear visual feedback
url_color #0087bd
url_style curly
detect_urls yes
# Smart clipboard behavior - copy on select for macOS workflow
copy_on_select clipboard
# Remove trailing spaces when copying (clean data)
strip_trailing_spaces smart
# Better word selection boundaries for programming
select_by_word_characters @-./_~?&=%+#
# Focus follows mouse for efficient window management
focus_follows_mouse no
#: }}}
#: Performance tuning {{{
# Balanced performance settings
repaint_delay 10
input_delay 3
# Sync to monitor to prevent tearing
sync_to_monitor yes
#: }}}
#: Terminal bell {{{
# Visual bell instead of audio (less disruptive)
enable_audio_bell no
visual_bell_duration 0.1
window_alert_on_bell yes
bell_on_tab yes
#: }}}
#: Window layout {{{
# Remember window size for consistency
remember_window_size yes
# Optimal initial window size for modern development
# 120 columns: fits side-by-side code views, exceeds 80-char standard
# 35 rows: comfortable viewing without overwhelming
initial_window_width 120c
initial_window_height 35c
# All layouts available but start with stack
enabled_layouts tall:bias=70,stack,fat,grid,horizontal,vertical
# Subtle window borders for multi-window clarity
window_border_width 1pt
draw_minimal_borders yes
# Small margin for visual breathing room
window_margin_width 2
single_window_margin_width 0
# Padding inside windows for readability
window_padding_width 8
# Center cell area when size doesn't divide evenly
placement_strategy center
# Nord-themed window border colors - gentle contrast
active_border_color #88c0d0
inactive_border_color #4c566a
bell_border_color #bf616a
# Slight fade for inactive windows (maintains focus)
inactive_text_alpha 0.8
# Hide decorations for more screen space
hide_window_decorations no
# Confirm before closing windows with multiple tabs
confirm_os_window_close 2
#: }}}
#: Tab bar {{{
# Tab bar at top (conventional placement)
tab_bar_edge top
# Minimal tab bar that appears only when needed
tab_bar_min_tabs 2
tab_bar_style powerline
tab_powerline_style slanted
# Clear tab titles with index for easy navigation
tab_title_template "{index}: {title}"
active_tab_title_template "[{index}] {title}"
# Nord-themed tab colors - easy on the eyes
active_tab_foreground #d8dee9
active_tab_background #5e81ac
active_tab_font_style bold
inactive_tab_foreground #4c566a
inactive_tab_background #3b4252
inactive_tab_font_style normal
#: }}}
#: Color scheme {{{
# Nord color scheme - gentle on eyes with excellent contrast
# Specifically chosen for users with vision considerations
foreground #d8dee9
background #2e3440
# Slightly more opacity for reduced eye strain
background_opacity 0.92
# Subtle selection colors that don't shock
selection_foreground #2e3440
selection_background #88c0d0
# ANSI colors (Nord palette - muted but clear)
# Dark variants
color0 #3b4252
color8 #4c566a
# Red - muted but visible
color1 #bf616a
color9 #bf616a
# Green - gentle on eyes
color2 #a3be8c
color10 #a3be8c
# Yellow - warm, not glaring
color3 #ebcb8b
color11 #ebcb8b
# Blue - calm but distinct
color4 #81a1c1
color12 #81a1c1
# Magenta - subtle purple
color5 #b48ead
color13 #b48ead
# Cyan - soothing blue-green
color6 #88c0d0
color14 #8fbcbb
# White/light grays
color7 #e5e9f0
color15 #eceff4
#: }}}
#: Advanced {{{
# Use user's default shell
shell .
# Use configured editor
editor .
# Keep terminal open after process exits (for debugging)
close_on_child_death no
# Allow remote control for automation
allow_remote_control yes
listen_on unix:/tmp/kitty-{kitty_pid}
# Disable update checks (handle via homebrew)
update_check_interval 0
# Secure clipboard settings
clipboard_control write-clipboard write-primary read-clipboard
# Standard terminfo
term xterm-kitty
#: }}}
#: OS specific tweaks {{{
# macOS optimizations
macos_titlebar_color background
macos_option_as_alt yes
macos_quit_when_last_window_closed no
macos_window_resizable yes
macos_thicken_font 0
macos_traditional_fullscreen no
macos_show_window_title_in window
#: }}}
#: Keyboard shortcuts {{{
# Keep defaults minimal, add only essential customizations
kitty_mod cmd+shift
# Font size adjustments
map cmd+plus change_font_size all +1.0
map cmd+minus change_font_size all -1.0
map cmd+0 change_font_size all 0
# Window management
map kitty_mod+enter new_window_with_cwd
map kitty_mod+n new_os_window_with_cwd
# Tab management
map cmd+t new_tab_with_cwd
map cmd+w close_tab
map cmd+] next_tab
map cmd+[ previous_tab
map cmd+1 goto_tab 1
map cmd+2 goto_tab 2
map cmd+3 goto_tab 3
map cmd+4 goto_tab 4
map cmd+5 goto_tab 5
map cmd+6 goto_tab 6
map cmd+7 goto_tab 7
map cmd+8 goto_tab 8
map cmd+9 goto_tab 9
# Layout management
map kitty_mod+l next_layout
map kitty_mod+z toggle_layout stack
# Scrollback search (crucial for productivity)
map kitty_mod+/ launch --type=overlay --stdin-source=@screen_scrollback /opt/homebrew/bin/fzf --no-sort --no-mouse --exact -i
# URL/path hints
map kitty_mod+e open_url_with_hints
map kitty_mod+p>f kitten hints --type path --program -
map kitty_mod+p>l kitten hints --type line --program -
map kitty_mod+p>w kitten hints --type word --program -
# Clear terminal properly
map cmd+k clear_terminal reset active
# Reload configuration
map kitty_mod+f5 load_config_file
#: }}}
# ═══════════════════════════════════════════════════════════════════════════════
# Design Rationale:
#
# 1. Font: Dank Mono chosen for clarity and tasteful ligatures
# 2. Symbols: Comprehensive fallback chain for nerd fonts, powerline, unicode
# 3. Colors: Dracula theme for proven readability and wide tool support
# 4. Performance: Balanced settings that prioritize responsiveness
# 5. Shortcuts: Minimal additions to defaults, focusing on frequent tasks
# 6. Layout: Thoughtful spacing and borders for multi-window work
# 7. macOS: Native integration while maintaining terminal efficiency
# 8. Window Size: 120x35 chars - optimal for code reading and side-by-side splits
#
# The symbol_map entries ensure that powerline prompts, file icons, git symbols,
# and other special characters render correctly even when not in the primary font.
#
# The 120-column width allows comfortable viewing of code up to 100 chars with
# some margin, while 35 rows provides good context without overwhelming.
#
# This configuration embodies "what is fitting" - no more, no less.
# ═══════════════════════════════════════════════════════════════════════════════