dotfiles/dot_config/kitty/kitty.conf

108 lines
2.9 KiB
Text

# vim:fileencoding=utf-8:foldmethod=marker
# rice {{{
# font
font_family Victor Mono SemiBold
font_size 14
# nerd fonts
symbol_map U+23FB-U+23FE,U+2665,U+26A1,U+2B58,U+E000-U+E00A,U+E0A0-U+E0A3,U+E0B0-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E62F,U+E700-U+E7C5,U+F000-U+F2E0,U+F300-U+F31C,U+F400-U+F4A9,U+F500-U+F8FF,U+FB26 Symbols Nerd Font
# window
# don't center
placement_strategy top-left
# don't use pixel-perfect resize mode
resize_in_steps yes
# width between panes
window_border_width 2pt
# text alpha in inacive panes
inactive_text_alpha 0.8
hide_window_decorations yes
# tab bar
active_tab_font_style normal
inactive_tab_font_style italic
tab_bar_style powerline
tab_bar_align left
tab_bar_edge bottom
tab_powerline_style slanted
tab_bar_margin_width 0.0
include mocha.conf
# }}}
# mouse stuff {{{
mouse_hide_wait 0.5
detect_urls yes
# mouse pointer
pointer_shape_when_grabbed beam
default_pointer_shape arrow
# url highlighting style and detection
url_style single
url_prefixes http https file ftp gemini irc gopher mailto news git
# word detection
strip_trailing_spaces never
select_by_word_characters @-./_~?&=%+#
# }}}
# other settings {{{
enable_audio_bell no
editor nvim
# }}}
# tmux-like config {{{
# super key mod: CTRL+S
# splits ftw, stack is for emulating tmux pane zoom
enabled_layouts splits, stack
# this emulates zooming panes
map ctrl+s>z toggle_layout stack
## panes
# create new panes
map ctrl+s>- launch --location=hsplit --cwd=current
map ctrl+s>\ launch --location=vsplit --cwd=current
# jump to other panes
map ctrl+s>h neighboring_window left
map ctrl+s>l neighboring_window right
map ctrl+s>k neighboring_window up
map ctrl+s>j neighboring_window down
map ctrl+s>q focus_visible_window
# move panes
map ctrl+s>ctrl+k move_window up
map ctrl+s>ctrl+h move_window left
map ctrl+s>ctrl+l move_window right
map ctrl+s>ctrl+j move_window down
# manipulate panes
map ctrl+s>ctrl+r start_resizing_window
map ctrl+s>r layout_action rotate
map ctrl+s>x close_window
# open ui panel to move the pane somewhere else
map ctrl+s>m detach_window ask
## tabs - tmux-like tabs
# always show tab bar
tab_bar_min_tabs 1
# show index for easier switching, show number of panes
tab_title_template "{index}: {title}{sup.num_windows if num_windows > 1 else ''}{activity_symbol}{bell_symbol}"
map ctrl+s>c new_tab
map ctrl+s>n next_tab
map ctrl+s>p previous_tab
map ctrl+s>1 goto_tab 1
map ctrl+s>2 goto_tab 2
map ctrl+s>3 goto_tab 3
map ctrl+s>4 goto_tab 4
map ctrl+s>5 goto_tab 5
map ctrl+s>6 goto_tab 6
map ctrl+s>7 goto_tab 7
map ctrl+s>8 goto_tab 8
map ctrl+s>9 goto_tab 9
# }}}
# power mode:
# spawn a pane which broadcasts its input to all other panes
map F3 launch --allow-remote-control kitty +kitten broadcast
# reload config
map F5 load_config_file