# 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 @ # }}} # }}}