# ── base.conf · shared ── font_family VictorMono Nerd Font font_size 13.0 bold_italic_font auto window_padding_width 8 hide_window_decorations yes # Transparency: kitty's own alpha, not the compositor's -- Hyprland fades a # whole window (chrome included), kitty only makes the cell background # translucent, so text stays fully opaque on top of it. This alpha is also what # makes kitty the one window Hyprland blurs: hypr/looknfeel.lua enables blur # globally and then opts every window out except the terminal classes, and an # opaque window has no backdrop to blur. kitty's own `background_blur` does # nothing here -- it rides ext-background-effect-v1, which Hyprland ignores # while decoration:blur:enabled is false, and is redundant once it is true. background_opacity 0.9 cursor_blink_interval 1 copy_on_select auto strip_trailing_spaces smart confirm_os_window_close 0 allow_remote_control socket-only # socket-only remote control needs a socket: this also exports KITTY_LISTEN_ON # into every pane, which is how nvim (config.pane_nav) knows kitty owns the # panes and how it hands an at-edge back to kitty. listen_on unix:@kitty-{kitty_pid} cursor_trail 10 cursor_trail_start_threshold 0 cursor_trail_decay 0.01 0.05 cursor_blink_interval 0 enabled_layouts splits:split_axis=vertical,stack # launch aliases action_alias launch_mn launch --cwd=current --type=overlay-main action_alias launch_os launch --cwd=current --type=os-window action_alias launch_ov launch --cwd=current --type=overlay action_alias launch_tb launch --cwd=current --type=tab action_alias launch_hs launch --cwd=current --location=hsplit --bias=25 action_alias launch_vs launch --cwd=current --location=vsplit --bias=33 action_alias launch_vs50 launch --cwd=current --location=vsplit --bias=50 # panes = kitty windows map super+n launch_vs50 map super+z toggle_layout stack map ctrl+shift+z toggle_layout stack map ctrl+shift+t new_tab_with_cwd map super+enter new_tab_with_cwd map ctrl+space launch_hs map ctrl+enter launch_vs map ctrl+shift+space new_os_window # Splits map ctrl+shift+j launch_hs map ctrl+shift+l launch_vs map ctrl+shift+h previous_tab map ctrl+shift+k next_tab # Shortcuts map ctrl+shift+g launch_ov lazygit map ctrl+shift+f launch_tb yazi # nvim in the current dir, split to the right of the active pane at 50/50 map ctrl+shift+e launch_vs50 nvim # herdr host: a *separate* kitty process, own config (launch cannot take --config) # tmux host: same trick — kitty stays dumb, tmux owns panes/windows/sessions map ctrl+shift+p launch_hs atuin-pick # Misc map ctrl+shift+c copy_to_clipboard map ctrl+shift+v paste_from_clipboard # tabs map alt+q goto_tab 1 map alt+w goto_tab 2 map alt+e goto_tab 3 map alt+r goto_tab 4 map alt+t goto_tab 5 map alt+y goto_tab 6 map alt+u goto_tab 7 map alt+i goto_tab 8 map alt+o goto_tab 9 # Daily sessions, archived per week (day_session.py): # ~/.local/share/kitty-sessions//.kitty-session. Launching kitty # reopens today's session unless another running kitty already owns it: tabs, # splits, cwds, each shell's scrollback and the program running in it. Tabs # made with *_with_cwd / --cwd=current join it and are saved ~1s after each # change, and right before shutdown/reboot (kitty-day-save.service). `tv # kitty-days` opens any earlier day in a new kitty. geninclude day_session.py watcher day_session.py # split nav (vim-aware) map ctrl+h kitten pass_keys.py neighboring_window left ctrl+h map ctrl+j kitten pass_keys.py neighboring_window bottom ctrl+j map ctrl+k kitten pass_keys.py neighboring_window top ctrl+k map ctrl+l kitten pass_keys.py neighboring_window right ctrl+l # resize map super+left resize_window narrower map super+right resize_window wider map super+up resize_window taller map super+down resize_window shorter 3 tab_bar_style powerline tab_powerline_style angled tab_bar_align left tab_bar_edge top # always shown, even with one tab: it carries the stack-layout pane indicator tab_bar_min_tabs 1 # Titles come from ~/.config/kitty/tab_bar.py (`{custom}`): the repo the tab's # cwd belongs to, or the file nvim is editing when nvim is the active process. # Active and inactive tabs share the text; the powerline colors mark the focus. tab_title_template "{custom}" # BEGIN_KITTY_FONTS font_family family="VictorMono Nerd Font Mono" bold_font auto italic_font auto bold_italic_font auto # END_KITTY_FONTS # # Colors + transparency come from the active Omarchy theme # (~/.config/omarchy/themes//kitty.conf). Last include wins, so keep this # at the bottom. include ~/.local/state/omarchy/current/theme/kitty.conf font_size 9.0