Files
dotfiles/.config/kitty/kitty.conf
2025-05-10 10:18:28 +03:00

391 lines
11 KiB
Plaintext

# vim:fileencoding=utf-8:foldmethod=marker:foldlevel=0
# Fonts {{{
font_family Hack Nerd Font Regular
bold_font Hack Nerd Font Bold
italic_font Hack Nerd Font Italic
bold_italic_font Hack Nerd Font Bold Italic
font_size 18
force_ltr yes
text_composition_strategy 1 0
disable_ligatures cursor
# font_features none
# symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 FONT
# narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
# modify_font underline_thickness 150%
# box_drawing_scale 0.001, 1, 1.5, 2
# undercurl_style thin-sparse
# }}}
# Cursor customization {{{
# cursor #cccccc
# cursor_text_color #111111
# cursor_shape block
# cursor_beam_thickness 1.5
# cursor_underline_thickness 2.0
# cursor_blink_interval -1
cursor_stop_blinking_after 10
# }}}
# Scrollback {{{
scrollback_lines 2000
# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
scrollback_pager_history_size 100
scrollback_fill_enlarged_window yes
# wheel_scroll_multiplier 5.0
# wheel_scroll_min_lines 1
# touch_scroll_multiplier 1.0
# }}}
# Mouse {{{
# mouse_hide_wait 3.0
# url_color #0087bd
url_style straight
open_url_with default
# url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh
# detect_urls yes
# url_excluded_characters
show_hyperlink_targets yes
copy_on_select no
# paste_actions quote-urls-at-prompt
strip_trailing_spaces always
#select_by_word_characters @-./_~?&=%+#
select_by_word_characters_forward -_
click_interval 0.5
focus_follows_mouse no
# pointer_shape_when_grabbed arrow
# default_pointer_shape beam
# pointer_shape_when_dragging beam
# Mouse actions {{{
clear_all_mouse_actions yes
mouse_map left click ungrabbed mouse_handle_click selection link prompt
mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt
mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link
mouse_map ctrl+shift+left press grabbed discard_event
mouse_map middle release ungrabbed paste_from_selection
mouse_map left press ungrabbed mouse_selection normal
mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle
mouse_map left doublepress ungrabbed mouse_selection word
mouse_map left triplepress ungrabbed mouse_selection line
mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point
mouse_map right press ungrabbed mouse_selection extend
mouse_map shift+middle release ungrabbed,grabbed paste_selection
mouse_map shift+middle press grabbed discard_event
mouse_map shift+left press ungrabbed,grabbed mouse_selection normal
mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle
mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word
mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line
mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point
mouse_map shift+right press ungrabbed,grabbed mouse_selection extend
mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output
# }}}
# }}}
# Performance tuning {{{
# repaint_delay 10
# input_delay 3
sync_to_monitor yes
# }}}
# Terminal bell {{{
# enable_audio_bell yes
# visual_bell_duration 0.0
# visual_bell_color #9f60ff
# window_alert_on_bell yes
bell_on_tab "!"
# command_on_bell none
# bell_path none
# linux_bell_theme __custom
# }}}
# Window layout {{{
remember_window_size no
initial_window_width 930
initial_window_height 540
enabled_layouts grid,horizontal,vertical,stack
window_resize_step_cells 2
window_resize_step_lines 1
window_border_width 1px
# draw_minimal_borders yes
# window_margin_width 0
# single_window_margin_width -1
# window_padding_width 0
# placement_strategy center
# active_border_color #77ff77
# inactive_border_color #7777ff
# bell_border_color #ff0000
# inactive_text_alpha 1.0
hide_window_decorations yes
# window_logo_path none
# window_logo_position bottom-right
# window_logo_alpha 0.5
# resize_debounce_time 0.1
# resize_draw_strategy static
# resize_in_steps no
# visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
# confirm_os_window_close -1
# }}}
# Tab bar {{{
tab_bar_style custom
tab_bar_align center
tab_bar_min_tabs 2
tab_activity_symbol "!"
tab_title_max_length 50
tab_title_template "{fmt.fg.magenta}{bell_symbol}{fmt.fg.cyan}{activity_symbol}{fmt.fg._af77d7}{layout_name[0].upper()}{num_windows} {fmt.fg._8767d7}{title.split()[0]}{fmt.fg._884488}"
active_tab_title_template "{fmt.fg.magenta}{bell_symbol}{fmt.fg.cyan}{activity_symbol}{fmt.fg._e797ff}{layout_name[0].upper()}{num_windows} {fmt.fg._6fb7ff}{'/'+'/'.join(x[0] if x[0] != '.' else x[:2] for x in tab.active_wd.split('/') if x != '')} {fmt.fg._7777ff}{tab.active_exe}"
tab_powerline_style slanted
# tab_bar_edge bottom
# tab_bar_margin_width 0.0
# tab_bar_margin_height 0.0 0.0
# tab_switch_strategy previous
# tab_fade 0.25 0.5 0.75 1
# tab_separator " ┇"
# active_tab_foreground #000
# active_tab_background #e7e7ff
active_tab_font_style bold-italic
# inactive_tab_foreground #444
# inactive_tab_background #c7c7dd
# inactive_tab_font_style normal
# tab_bar_background #224
# tab_bar_margin_color #224
# }}}
# Color scheme {{{
# foreground #dddddd
# background #000000
background_opacity 0.65
# background_image none
# background_image_layout tiled
# background_image_linear no
# dynamic_background_opacity no
# background_tint 0.0
# background_tint_gaps 1.0
# dim_opacity 0.75
# selection_foreground #000000
# selection_background #fffacd
# The color table {{{
# color0 #000000
# color8 #767676
# color1 #cc0403
# color9 #f2201f
# color2 #19cb00
# color10 #23fd00
# color3 #cecb00
# color11 #fffd00
# color4 #0d73cc
# color12 #1a8fff
# color5 #cb1ed1
# color13 #fd28ff
# color6 #0dcdcd
# color14 #14ffff
# color7 #dddddd
# color15 #ffffff
# mark1_foreground black
# mark1_background #98d3cb
# mark2_foreground black
# mark2_background #f2dcd3
# mark3_foreground black
# mark3_background #f274bc
# }}}
# }}}
# Advanced {{{
# shell .
editor nvim
# close_on_child_death no
# remote_control_password
# allow_remote_control no
# listen_on none
# env
# watcher
# exe_search_path
# update_check_interval 24
# startup_session none
# clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask
# clipboard_max_size 512
# file_transfer_confirmation_bypass
# allow_hyperlinks yes
# shell_integration enabled
# allow_cloning ask
# clone_source_strategies venv,conda,env_var,path
# term xterm-kitty
# }}}
# OS specific tweaks {{{
# wayland_titlebar_color system
# macos_titlebar_color system
# macos_option_as_alt no
# macos_hide_from_tasks no
# macos_quit_when_last_window_closed no
# macos_window_resizable yes
# macos_thicken_font 0
# macos_traditional_fullscreen no
# macos_show_window_title_in all
# macos_menubar_title_max_length 0
# macos_custom_beam_cursor no
# macos_colorspace srgb
linux_display_server auto
# }}}
# Keyboard shortcuts {{{
kitty_mod ctrl+shift
clear_all_shortcuts yes
# action_alias
# kitten_alias
# Miscellaneous {{{
map shift+space send_text all \033[32;2u
map kitty_mod+v paste_from_clipboard
map ctrl+alt+v paste_from_selection
map kitty_mod+u kitten unicode_input
map kitty_mod+c copy_to_clipboard
map kitty_mod+y open_url_with_hints
map kitty_mod+s launch firefox --search "@selection"
map ctrl+alt+s launch --stdin-source=@selection --type=tab nvim
map kitty_mod+p kitten hints --type path --program nemo
map ctrl+alt+p kitten hints --type hyperlink --program nemo
map kitty_mod+/ show_kitty_doc overview
map kitty_mod+equal change_font_size all +1.0
map kitty_mod+minus change_font_size all -1.0
map kitty_mod+backspace change_font_size all 0
map kitty_mod+g load_config_file
map ctrl+alt+g edit_config_file
map ctrl+shift+alt+g debug_config
map ctrl+shift+alt+/ clear_terminal reset active
# }}}
# Scrollback {{{
map kitty_mod+e scroll_line_down
map kitty_mod+i scroll_line_up
map ctrl+alt+e scroll_page_down
map ctrl+alt+i scroll_page_up
map ctrl+alt+down scroll_page_down
map ctrl+alt+up scroll_page_up
map ctrl+shift+alt+e scroll_end
map ctrl+shift+alt+i scroll_home
map ctrl+shift+alt+down scroll_end
map ctrl+shift+alt+up scroll_home
map kitty_mod+z scroll_to_prompt -1
map kitty_mod+x scroll_to_prompt 1
map kitty_mod+k show_scrollback
map kitty_mod+b show_last_visited_command_output
map ctrl+alt+b show_last_non_empty_command_output
# }}}
# Window management {{{
map kitty_mod+enter new_os_window
map ctrl+alt+enter new_os_window_with_cwd
map kitty_mod+w new_window
map ctrl+alt+w new_window_with_cwd
map kitty_mod+q close_window_with_confirmation
map kitty_mod+r start_resizing_window
map kitty_mod+n previous_window
map kitty_mod+o next_window
map kitty_mod+, move_window_backward
map kitty_mod+. move_window_forward
map kitty_mod+` move_window_to_top
map kitty_mod+d detach_window ask
map kitty_mod+f focus_visible_window
map kitty_mod+m swap_with_window
map kitty_mod+l next_layout
map ctrl+alt+l toggle_layout stack
map kitty_mod+1 first_window
map kitty_mod+2 second_window
map kitty_mod+3 third_window
map kitty_mod+4 fourth_window
map kitty_mod+5 fifth_window
map kitty_mod+6 sixth_window
map kitty_mod+7 seventh_window
map kitty_mod+8 eighth_window
map kitty_mod+9 ninth_window
map kitty_mod+0 tenth_window
# }}}
# Tab management {{{
map kitty_mod+t new_tab
map ctrl+alt+t new_tab_with_cwd !neighbor
map ctrl+alt+q close_tab
map ctrl+alt+n previous_tab
map ctrl+alt+o next_tab
map ctrl+alt+left previous_tab
map ctrl+alt+right next_tab
map ctrl+alt+, move_tab_backward
map ctrl+alt+. move_tab_forward
map ctrl+alt+d detach_tab ask
map ctrl+alt+r set_tab_title
map ctrl+alt+1 goto_tab 1
map ctrl+alt+2 goto_tab 2
map ctrl+alt+3 goto_tab 3
map ctrl+alt+4 goto_tab 4
map ctrl+alt+5 goto_tab 5
map ctrl+alt+6 goto_tab 6
map ctrl+alt+7 goto_tab 7
map ctrl+alt+8 goto_tab 8
map ctrl+alt+9 goto_tab 9
map ctrl+alt+0 goto_tab 10
map ctrl+alt+- goto_tab -1
map ctrl+alt+= goto_tab 100
# }}}
# Hints {{{
map kitty_mod+h>n kitten hints --type linenum nvim +{line} {path}
# paste to cmd
map kitty_mod+h>w kitten hints --type word --program -
map kitty_mod+h>l kitten hints --type line --program -
map kitty_mod+h>p kitten hints --type path --program -
map kitty_mod+h>i kitten hints --type ip --program -
map kitty_mod+h>h kitten hints --type hash --program -
# copy to clipboard
map ctrl+alt+h>w kitten hints --type word --program @
map ctrl+alt+h>l kitten hints --type line --program @
map ctrl+alt+h>p kitten hints --type path --program @
map ctrl+alt+h>i kitten hints --type ip --program @
map ctrl+alt+h>h kitten hints --type hash --program @
# }}}
# }}}