Re-organize kitty.conf into sections

Sections are de-limited by vim folds
This commit is contained in:
Kovid Goyal 2018-03-15 12:38:05 +05:30
parent 801ead7f7f
commit 2179dab8ed
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -1,5 +1,6 @@
# vim:fileencoding=utf-8:ft=conf # vim:fileencoding=utf-8:ft=conf
# Fonts {{{
# Font family. You can also specify different fonts for the # Font family. You can also specify different fonts for the
# bold/italic/bold-italic variants. By default they are derived automatically, # bold/italic/bold-italic variants. By default they are derived automatically,
# by the OSes font system. Setting them manually is useful for font families # by the OSes font system. Setting them manually is useful for font families
@ -33,12 +34,189 @@ font_size_delta 2
adjust_line_height 0 adjust_line_height 0
adjust_column_width 0 adjust_column_width 0
# Symbol mapping (special font for specified unicode code points). Map the
# specified unicode codepoints to a particular font. Useful if you need special
# rendering for some symbols, such as for Powerline. Avoids the need for
# patched fonts. Each unicode code point is specified in the form U+<code point
# in hexadecimal>. You can specify multiple code points, separated by commas
# and ranges separated by hyphens. symbol_map itself can be specified multiple times.
# Syntax is:
#
# symbol_map codepoints Font Family Name
#
# For example:
#
# symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
# Change the sizes of the lines used for the box drawing unicode characters # Change the sizes of the lines used for the box drawing unicode characters
# These values are in pts. They will be scaled by the monitor DPI to arrive at # These values are in pts. They will be scaled by the monitor DPI to arrive at
# a pixel value. There must be four values corresponding to thin, normal, thick, # a pixel value. There must be four values corresponding to thin, normal, thick,
# and very thick lines; # and very thick lines;
box_drawing_scale 0.001, 1, 1.5, 2 box_drawing_scale 0.001, 1, 1.5, 2
# }}}
# Cursor customization {{{
# The cursor color
cursor #cccccc
# The cursor shape can be one of (block, beam, underline)
cursor_shape block
# The interval (in seconds) at which to blink the cursor. Set to zero to
# disable blinking. Note that numbers smaller than repaint_delay will be
# limited to repaint_delay.
cursor_blink_interval 0.5
# Stop blinking cursor after the specified number of seconds of keyboard inactivity. Set to
# zero to never stop blinking.
cursor_stop_blinking_after 15.0
# }}}
# Scrollback {{{
# Number of lines of history to keep in memory for scrolling back
scrollback_lines 2000
# Program with which to view scrollback in a new window. The scrollback buffer is passed as
# STDIN to this program. If you change it, make sure the program you use can
# handle ANSI escape sequences for colors and text formatting.
scrollback_pager less +G -R
# Wheel scroll multiplier (modify the amount scrolled by the mouse wheel). Use negative
# numbers to change scroll direction.
wheel_scroll_multiplier 5.0
# }}}
# Mouse {{{
# The color and style for highlighting URLs on mouse-over. url_style can be one of:
# none, single, double, curly
url_color #0087BD
url_style curly
# The modifier keys to press when clicking with the mouse on URLs to open the URL
open_url_modifiers ctrl+shift
# The program with which to open URLs that are clicked on. The special value "default" means to
# use the operating system's default URL handler.
open_url_with default
# Copy to clipboard on select. With this enabled, simply selecting text with
# the mouse will cause the text to be copied to clipboard. Useful on platforms
# such as macOS/Wayland that do not have the concept of primary selections. Note
# that this is a security risk, as all programs, including websites open in your
# browser can read the contents of the clipboard.
copy_on_select no
# The modifiers to use rectangular selection (i.e. to select text in a
# rectangular block with the mouse)
rectangle_select_modifiers ctrl+alt
# Characters considered part of a word when double clicking. In addition to these characters
# any character that is marked as an alpha-numeric character in the unicode
# database will be matched.
select_by_word_characters :@-./_~?&=%+#
# The interval between successive clicks to detect double/triple clicks (in seconds)
click_interval 0.5
# Hide mouse cursor after the specified number of seconds of the mouse not being used. Set to
# zero to disable mouse cursor hiding.
mouse_hide_wait 3.0
# Set the active window to the window under the mouse when moving the mouse around
focus_follows_mouse no
# }}}
# Performance tuning {{{
# Delay (in milliseconds) between screen updates. Decreasing it, increases
# frames-per-second (FPS) at the cost of more CPU usage. The default value
# yields ~100 FPS which is more than sufficient for most uses. Note that to
# actually achieve 100FPS you have to either set sync_to_monitor to no or use a
# monitor with a high refresh rate.
repaint_delay 10
# Delay (in milliseconds) before input from the program running in the terminal
# is processed. Note that decreasing it will increase responsiveness, but also
# increase CPU usage and might cause flicker in full screen programs that
# redraw the entire screen on each loop, because kitty is so fast that partial
# screen updates will be drawn.
input_delay 3
# Sync screen updates to the refresh rate of the monitor. This prevents
# tearing (https://en.wikipedia.org/wiki/Screen_tearing) when scrolling. However,
# it limits the rendering speed to the refresh rate of your monitor. With a
# very high speed mouse/high keyboard repeat rate, you may notice some slight input latency.
# If so, set this to no.
sync_to_monitor yes
# }}}
# Audio/visual bell {{{
# Visual bell duration. Flash the screen when a bell occurs for the specified number of
# seconds. Set to zero to disable.
visual_bell_duration 0.0
# Enable/disable the audio bell. Useful in environments that require silence.
enable_audio_bell yes
# }}}
# Window layout {{{
# If enabled, the window size will be remembered so that new instances of kitty will have the same
# size as the previous instance. If disabled, the window will initially have size configured
# by initial_window_width/height, in pixels.
remember_window_size yes
initial_window_width 640
initial_window_height 400
# The enabled window layouts. A comma separated list of layout names. The special value * means
# all layouts. The first listed layout will be used as the startup layout.
# For a list of available layouts, see the README.
enabled_layouts *
# The width (in pts) of window borders. Will be rounded to the nearest number of pixels based on screen resolution.
# Note that borders are displayed only when more than one window is visible. They are meant to separate multiple windows.
window_border_width 1
# The window margin (in pts) (blank area outside the border)
window_margin_width 0
# The window padding (in pts) (blank area between the text and the window border)
window_padding_width 0
# The color for the border of the active window
active_border_color #00ff00
# The color for the border of inactive windows
inactive_border_color #cccccc
# Fade the text in inactive windows by the specified amount (a number between
# zero and one, with 0 being fully faded).
inactive_text_alpha 1.0
# }}}
# Tab bar {{{
# Which edge to show the tab bar on, top or bottom
tab_bar_edge bottom
# The separator between tabs in the tab bar
tab_separator " ┇"
# Tab bar colors and styles
active_tab_foreground #000
active_tab_background #eee
active_tab_font_style bold-italic
inactive_tab_foreground #444
inactive_tab_background #999
inactive_tab_font_style normal
# }}}
# Color scheme {{{
# The foreground color # The foreground color
foreground #dddddd foreground #dddddd
@ -63,164 +241,6 @@ selection_foreground #000000
# The background for selections # The background for selections
selection_background #FFFACD selection_background #FFFACD
# The color and style for highlighting URLs on mouse-over. url_style can be one of:
# none, single, double, curly
url_color #0087BD
url_style curly
# The cursor color
cursor #cccccc
# The cursor shape can be one of (block, beam, underline)
cursor_shape block
# The interval (in seconds) at which to blink the cursor. Set to zero to
# disable blinking. Note that numbers smaller than repaint_delay will be
# limited to repaint_delay.
cursor_blink_interval 0.5
# Stop blinking cursor after the specified number of seconds of keyboard inactivity. Set to
# zero to never stop blinking.
cursor_stop_blinking_after 15.0
# Number of lines of history to keep in memory for scrolling back
scrollback_lines 2000
# Program with which to view scrollback in a new window. The scrollback buffer is passed as
# STDIN to this program. If you change it, make sure the program you use can
# handle ANSI escape sequences for colors and text formatting.
scrollback_pager less +G -R
# Wheel scroll multiplier (modify the amount scrolled by the mouse wheel). Use negative
# numbers to change scroll direction.
wheel_scroll_multiplier 5.0
# The interval between successive clicks to detect double/triple clicks (in seconds)
click_interval 0.5
# Characters considered part of a word when double clicking. In addition to these characters
# any character that is marked as an alpha-numeric character in the unicode
# database will be matched.
select_by_word_characters :@-./_~?&=%+#
# The shell program to execute. The default value of . means
# to use whatever shell is set as the default shell for the current user.
# Note that on macOS if you change this, you might need to add --login to
# ensure that the shell starts in interactive mode and reads its rc files.
shell .
# Hide mouse cursor after the specified number of seconds of the mouse not being used. Set to
# zero to disable mouse cursor hiding.
mouse_hide_wait 3.0
# Set the active window to the window under the mouse when moving the mouse around
focus_follows_mouse no
# The enabled window layouts. A comma separated list of layout names. The special value * means
# all layouts. The first listed layout will be used as the startup layout.
# For a list of available layouts, see the README.
enabled_layouts *
# If enabled, the window size will be remembered so that new instances of kitty will have the same
# size as the previous instance. If disabled, the window will initially have size configured
# by initial_window_width/height, in pixels.
remember_window_size yes
initial_window_width 640
initial_window_height 400
# Delay (in milliseconds) between screen updates. Decreasing it, increases
# frames-per-second (FPS) at the cost of more CPU usage. The default value
# yields ~100 FPS which is more than sufficient for most uses. Note that to
# actually achieve 100FPS you have to either set sync_to_monitor to no or use a
# monitor with a high refresh rate.
repaint_delay 10
# Delay (in milliseconds) before input from the program running in the terminal
# is processed. Note that decreasing it will increase responsiveness, but also
# increase CPU usage and might cause flicker in full screen programs that
# redraw the entire screen on each loop, because kitty is so fast that partial
# screen updates will be drawn.
input_delay 3
# Sync screen updates to the refresh rate of the monitor. This prevents
# tearing (https://en.wikipedia.org/wiki/Screen_tearing) when scrolling. However,
# it limits the rendering speed to the refresh rate of your monitor. With a
# very high speed mouse/high keyboard repeat rate, you may notice some slight input latency.
# If so, set this to no.
sync_to_monitor yes
# Close the window when the child process (shell) exits. If no (the default),
# the terminal will remain open when the child exits as long as there are still
# processes outputting to the terminal (for example disowned or backgrounded
# processes). If yes, the window will close as soon as the child process exits.
# Note that setting it to yes means that any background processes still using
# the terminal can fail silently because their stdout/stderr/stdin no longer
# work.
close_on_child_death no
# Visual bell duration. Flash the screen when a bell occurs for the specified number of
# seconds. Set to zero to disable.
visual_bell_duration 0.0
# Enable/disable the audio bell. Useful in environments that require silence.
enable_audio_bell yes
# The modifier keys to press when clicking with the mouse on URLs to open the URL
open_url_modifiers ctrl+shift
# The program with which to open URLs that are clicked on. The special value "default" means to
# use the operating system's default URL handler.
open_url_with default
# The modifiers to use rectangular selection (i.e. to select text in a
# rectangular block with the mouse)
rectangle_select_modifiers ctrl+alt
# Allow other programs to control kitty. If you turn this on other programs can
# control all aspects of kitty, including sending text to kitty windows,
# opening new windows, closing windows, reading the content of windows, etc.
# Note that this even works over ssh connections.
allow_remote_control no
# The value of the TERM environment variable to set
term xterm-kitty
# The width (in pts) of window borders. Will be rounded to the nearest number of pixels based on screen resolution.
# Note that borders are displayed only when more than one window is visible. They are meant to separate multiple windows.
window_border_width 1
# The window margin (in pts) (blank area outside the border)
window_margin_width 0
# The window padding (in pts) (blank area between the text and the window border)
window_padding_width 0
# The color for the border of the active window
active_border_color #00ff00
# The color for the border of inactive windows
inactive_border_color #cccccc
# Fade the text in inactive windows by the specified amount (a number between
# zero and one, with 0 being fully faded).
inactive_text_alpha 1.0
# Which edge to show the tab bar on, top or bottom
tab_bar_edge bottom
# The separator between tabs in the tab bar
tab_separator " ┇"
# Tab bar colors and styles
active_tab_foreground #000
active_tab_background #eee
active_tab_font_style bold-italic
inactive_tab_foreground #444
inactive_tab_background #999
inactive_tab_font_style normal
# The 16 terminal colors. There are 8 basic colors, each color has a dull and # The 16 terminal colors. There are 8 basic colors, each color has a dull and
# bright version. # bright version.
@ -255,9 +275,42 @@ color14 #14ffff
# white # white
color7 #dddddd color7 #dddddd
color15 #ffffff color15 #ffffff
# }}}
# Key mapping # Advanced {{{
# The shell program to execute. The default value of . means
# to use whatever shell is set as the default shell for the current user.
# Note that on macOS if you change this, you might need to add --login to
# ensure that the shell starts in interactive mode and reads its startup rc files.
shell .
# Close the window when the child process (shell) exits. If no (the default),
# the terminal will remain open when the child exits as long as there are still
# processes outputting to the terminal (for example disowned or backgrounded
# processes). If yes, the window will close as soon as the child process exits.
# Note that setting it to yes means that any background processes still using
# the terminal can fail silently because their stdout/stderr/stdin no longer
# work.
close_on_child_death no
# Allow other programs to control kitty. If you turn this on other programs can
# control all aspects of kitty, including sending text to kitty windows,
# opening new windows, closing windows, reading the content of windows, etc.
# Note that this even works over ssh connections.
allow_remote_control no
# The value of the TERM environment variable to set. Changing this can break
# many terminal programs, only change it if you know what you are doing, not
# because you read some advice on Stack Overflow to change it.
term xterm-kitty
# }}}
# Keyboard shortcuts {{{
# For a list of key names, see: http://www.glfw.org/docs/latest/group__keys.html # For a list of key names, see: http://www.glfw.org/docs/latest/group__keys.html
# For a list of modifier names, see: http://www.glfw.org/docs/latest/group__mods.html # For a list of modifier names, see: http://www.glfw.org/docs/latest/group__mods.html
# #
@ -271,7 +324,7 @@ color15 #ffffff
# map ctrl+shift+e combine : new_window : next_layout # map ctrl+shift+e combine : new_window : next_layout
# this will create a new window and switch to the next available layout # this will create a new window and switch to the next available layout
# Clipboard # Clipboard {{{
map ctrl+shift+v paste_from_clipboard map ctrl+shift+v paste_from_clipboard
map ctrl+shift+s paste_from_selection map ctrl+shift+s paste_from_selection
map ctrl+shift+c copy_to_clipboard map ctrl+shift+c copy_to_clipboard
@ -281,8 +334,9 @@ map shift+insert paste_from_selection
# you can specify your own, for example: # you can specify your own, for example:
# map ctrl+shift+o pass_selection_to_program firefox # map ctrl+shift+o pass_selection_to_program firefox
map ctrl+shift+o pass_selection_to_program map ctrl+shift+o pass_selection_to_program
# }}}
# Scrolling # Scrolling {{{
map ctrl+shift+up scroll_line_up map ctrl+shift+up scroll_line_up
map ctrl+shift+down scroll_line_down map ctrl+shift+down scroll_line_down
map ctrl+shift+k scroll_line_up map ctrl+shift+k scroll_line_up
@ -292,8 +346,9 @@ map ctrl+shift+page_down scroll_page_down
map ctrl+shift+home scroll_home map ctrl+shift+home scroll_home
map ctrl+shift+end scroll_end map ctrl+shift+end scroll_end
map ctrl+shift+h show_scrollback map ctrl+shift+h show_scrollback
# }}}
# Window management # Window management {{{
map ctrl+shift+enter new_window map ctrl+shift+enter new_window
map ctrl+shift+n new_os_window map ctrl+shift+n new_os_window
map ctrl+shift+w close_window map ctrl+shift+w close_window
@ -327,9 +382,9 @@ map ctrl+shift+0 tenth_window
# You can open a new window with the current working directory set to the # You can open a new window with the current working directory set to the
# working directory of the current window using # working directory of the current window using
# map ctrl+alt+enter new_window_with_cwd # map ctrl+alt+enter new_window_with_cwd
# }}}
# Tab management {{{
# Tab management
map ctrl+shift+right next_tab map ctrl+shift+right next_tab
map ctrl+shift+left previous_tab map ctrl+shift+left previous_tab
map ctrl+shift+t new_tab map ctrl+shift+t new_tab
@ -343,23 +398,28 @@ map ctrl+shift+, move_tab_backward
# Just as with new_window above, you can also pass the name of arbitrary # Just as with new_window above, you can also pass the name of arbitrary
# commands to run when using new_tab and use new_tab_with_cwd. # commands to run when using new_tab and use new_tab_with_cwd.
# }}}
# Layout management {{{
# Layout management
# You can create shortcuts to switch to specific layouts # You can create shortcuts to switch to specific layouts
# map ctrl+alt+1 goto_layout tall # map ctrl+alt+1 goto_layout tall
# map ctrl+alt+2 goto_layout stack # map ctrl+alt+2 goto_layout stack
# }}}
# Font sizes {{{
# Miscellaneous
map ctrl+shift+equal increase_font_size map ctrl+shift+equal increase_font_size
map ctrl+shift+minus decrease_font_size map ctrl+shift+minus decrease_font_size
# map ctrl+shift+f6 set_font_size 20.0
map ctrl+shift+backspace restore_font_size map ctrl+shift+backspace restore_font_size
# To setup shortcuts for specific font sizes, follow the example below:
# map ctrl+shift+f6 set_font_size 10.0
# map ctrl+shift+f7 set_font_size 20.5
# }}}
# Miscellaneous {{{
map ctrl+shift+f11 toggle_fullscreen map ctrl+shift+f11 toggle_fullscreen
map ctrl+shift+u input_unicode_character map ctrl+shift+u input_unicode_character
map ctrl+shift+f2 edit_config_file map ctrl+shift+f2 edit_config_file
# Open a currently visible URL using the keyboard. The program used ot open the URL is specified in open_url_with. # Open a currently visible URL using the keyboard. The program used to open the URL is specified in open_url_with.
# You can customize how the URLs are detected and opened by specifying command line options to # You can customize how the URLs are detected and opened by specifying command line options to
# url_hints. For example: # url_hints. For example:
# map ctrl+shift+e run_simple_kitten text url_hints --program firefox --regex "http://[^ ]+" # map ctrl+shift+e run_simple_kitten text url_hints --program firefox --regex "http://[^ ]+"
@ -381,30 +441,12 @@ map ctrl+shift+e run_simple_kitten text url_hints
# to the start of the line (same as pressing the Home key): # to the start of the line (same as pressing the Home key):
# map ctrl+alt+a send_text normal Word\x1b[H # map ctrl+alt+a send_text normal Word\x1b[H
# map ctrl+alt+a send_text application Word\x1bOH # map ctrl+alt+a send_text application Word\x1bOH
# }}}
# Symbol mapping (special font for specified unicode code points). Map the # }}}
# specified unicode codepoints to a particular font. Useful if you need special
# rendering for some symbols, such as for Powerline. Avoids the need for
# patched fonts. Each unicode code point is specified in the form U+<code point
# in hexadecimal>. You can specify multiple code points, separated by commas
# and ranges separated by hyphens. symbol_map itself can be specified multiple times.
# Syntax is:
#
# symbol_map codepoints Font Family Name
#
# For example:
#
# symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
# OS specific tweaks # OS specific tweaks {{{
# Copy to clipboard on select. With this enabled, simply selecting text with
# the mouse will cause the text to be copied to clipboard. Useful on platforms
# such as macOS/Wayland that do not have the concept of primary selections. Note
# that this is a security risk, as all programs, including websites open in your
# browser can read the contents of the clipboard.
copy_on_select no
# Change the color of the kitty window's titlebar on macOS. A value of "system" # Change the color of the kitty window's titlebar on macOS. A value of "system"
# means to use the default system color, a value of "background" means to use # means to use the default system color, a value of "background" means to use
@ -424,3 +466,4 @@ macos_option_as_alt yes
# The number is a percentage of maximum volume. # The number is a percentage of maximum volume.
# See man XBell for details. # See man XBell for details.
x11_bell_volume 80 x11_bell_volume 80
# }}}