Get rid of the default kitty.conf
This commit is contained in:
parent
61fc96b187
commit
2b0d8bfe46
@ -23,7 +23,7 @@ class Group:
|
|||||||
|
|
||||||
class Option:
|
class Option:
|
||||||
|
|
||||||
__slots__ = 'name', 'group', 'long_text', 'option_type', 'defval_as_string', 'add_to_default', 'add_to_docs'
|
__slots__ = 'name', 'group', 'long_text', 'option_type', 'defval_as_string', 'add_to_default', 'add_to_docs', 'line'
|
||||||
|
|
||||||
def __init__(self, name, group, defval, option_type, long_text, add_to_default, add_to_docs):
|
def __init__(self, name, group, defval, option_type, long_text, add_to_default, add_to_docs):
|
||||||
self.name, self.group = name, group
|
self.name, self.group = name, group
|
||||||
@ -31,17 +31,19 @@ class Option:
|
|||||||
self.defval_as_string = defval
|
self.defval_as_string = defval
|
||||||
self.add_to_default = add_to_default
|
self.add_to_default = add_to_default
|
||||||
self.add_to_docs = add_to_docs
|
self.add_to_docs = add_to_docs
|
||||||
|
self.line = self.name + ' ' + self.defval_as_string
|
||||||
|
|
||||||
|
|
||||||
class Shortcut:
|
class Shortcut:
|
||||||
|
|
||||||
__slots__ = 'name', 'group', 'key', 'action_def', 'short_text', 'long_text', 'add_to_default', 'add_to_docs'
|
__slots__ = 'name', 'group', 'key', 'action_def', 'short_text', 'long_text', 'add_to_default', 'add_to_docs', 'line'
|
||||||
|
|
||||||
def __init__(self, name, group, key, action_def, short_text, long_text, add_to_default, add_to_docs):
|
def __init__(self, name, group, key, action_def, short_text, long_text, add_to_default, add_to_docs):
|
||||||
self.name, self.group, self.key, self.action_def = name, group, key, action_def
|
self.name, self.group, self.key, self.action_def = name, group, key, action_def
|
||||||
self.short_text, self.long_text = short_text, long_text
|
self.short_text, self.long_text = short_text, long_text
|
||||||
self.add_to_default = add_to_default
|
self.add_to_default = add_to_default
|
||||||
self.add_to_docs = add_to_docs
|
self.add_to_docs = add_to_docs
|
||||||
|
self.line = 'map ' + self.key + ' ' + self.action_def
|
||||||
|
|
||||||
|
|
||||||
def option(
|
def option(
|
||||||
@ -193,3 +195,14 @@ def as_conf_file(all_options):
|
|||||||
a('# }}''}')
|
a('# }}''}')
|
||||||
num_open_folds -= 1
|
num_open_folds -= 1
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
|
||||||
|
def config_lines(all_options):
|
||||||
|
for opt in all_options.values():
|
||||||
|
if isinstance(opt, Option):
|
||||||
|
if opt.add_to_default:
|
||||||
|
yield opt.line
|
||||||
|
else:
|
||||||
|
for sc in opt:
|
||||||
|
if sc.add_to_default:
|
||||||
|
yield sc.line
|
||||||
|
|||||||
@ -164,9 +164,8 @@ def load_config(Options, defaults, parse_config, merge_configs, *paths, override
|
|||||||
return Options(ans)
|
return Options(ans)
|
||||||
|
|
||||||
|
|
||||||
def init_config(defaults_path, parse_config):
|
def init_config(default_config_lines, parse_config):
|
||||||
with open(defaults_path, encoding='utf-8', errors='replace') as f:
|
defaults = parse_config(default_config_lines, check_keys=False)
|
||||||
defaults = parse_config(f, check_keys=False)
|
|
||||||
Options = create_options_class(defaults.keys())
|
Options = create_options_class(defaults.keys())
|
||||||
defaults = Options(defaults)
|
defaults = Options(defaults)
|
||||||
return Options, defaults
|
return Options, defaults
|
||||||
|
|||||||
@ -10,17 +10,14 @@ from collections import namedtuple
|
|||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
|
|
||||||
from . import fast_data_types as defines
|
from . import fast_data_types as defines
|
||||||
from .conf.definition import as_conf_file
|
from .conf.definition import as_conf_file, config_lines
|
||||||
from .conf.utils import (
|
from .conf.utils import (
|
||||||
init_config, key_func, load_config as _load_config, merge_dicts,
|
init_config, key_func, load_config as _load_config, merge_dicts,
|
||||||
parse_config_base, python_string, to_bool,
|
parse_config_base, python_string, to_bool, to_cmdline
|
||||||
to_cmdline
|
|
||||||
)
|
)
|
||||||
from .config_data import all_options
|
from .config_data import all_options, parse_mods, type_map
|
||||||
from .constants import cache_dir, defconf
|
from .constants import cache_dir, defconf
|
||||||
from .utils import log_error
|
from .utils import log_error
|
||||||
from .config_data import parse_mods, type_map
|
|
||||||
|
|
||||||
|
|
||||||
named_keys = {
|
named_keys = {
|
||||||
"'": 'APOSTROPHE',
|
"'": 'APOSTROPHE',
|
||||||
@ -264,9 +261,6 @@ def special_handling(key, val, ans):
|
|||||||
|
|
||||||
|
|
||||||
defaults = None
|
defaults = None
|
||||||
default_config_path = os.path.join(
|
|
||||||
os.path.dirname(os.path.abspath(__file__)), 'kitty.conf'
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def parse_config(lines, check_keys=True):
|
def parse_config(lines, check_keys=True):
|
||||||
@ -287,7 +281,7 @@ def parse_defaults(lines, check_keys=False):
|
|||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
|
||||||
Options, defaults = init_config(default_config_path, parse_defaults)
|
Options, defaults = init_config(config_lines(all_options), parse_defaults)
|
||||||
actions = frozenset(all_key_actions) | frozenset(
|
actions = frozenset(all_key_actions) | frozenset(
|
||||||
'run_simple_kitten combine send_text goto_tab goto_layout set_font_size new_tab_with_cwd new_window_with_cwd new_os_window_with_cwd'.
|
'run_simple_kitten combine send_text goto_tab goto_layout set_font_size new_tab_with_cwd new_window_with_cwd new_os_window_with_cwd'.
|
||||||
split()
|
split()
|
||||||
|
|||||||
569
kitty/kitty.conf
569
kitty/kitty.conf
@ -1,569 +0,0 @@
|
|||||||
# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
|
|
||||||
|
|
||||||
# You can include secondary config files via the "include" directive.
|
|
||||||
# If you use a relative path for include, it is resolved with respect to the
|
|
||||||
# location of the current config file. Note that environment variables
|
|
||||||
# are expanded, so ${USER}.conf becomes name.conf if USER=name
|
|
||||||
# For example:
|
|
||||||
# include other.conf
|
|
||||||
|
|
||||||
# Fonts {{{
|
|
||||||
# Font family. You can also specify different fonts for the
|
|
||||||
# bold/italic/bold-italic variants. By default they are derived automatically,
|
|
||||||
# by the OSes font system. Setting them manually is useful for font families
|
|
||||||
# that have many weight variants like Book, Medium, Thick, etc. For example:
|
|
||||||
# font_family Operator Mono Book
|
|
||||||
# bold_font Operator Mono Medium
|
|
||||||
# italic_font Operator Mono Book Italic
|
|
||||||
# bold_italic_font Operator Mono Medium Italic
|
|
||||||
#
|
|
||||||
# You can get a list of full family names available on your computer by running
|
|
||||||
# kitty list-fonts
|
|
||||||
# The default values shown below rely on your OS to choose an appropriate monospace font family.
|
|
||||||
font_family monospace
|
|
||||||
italic_font auto
|
|
||||||
bold_font auto
|
|
||||||
bold_italic_font auto
|
|
||||||
|
|
||||||
# Font size (in pts)
|
|
||||||
font_size 11.0
|
|
||||||
|
|
||||||
# Adjust the cell dimensions.
|
|
||||||
# You can use either numbers, which are interpreted as pixels or percentages
|
|
||||||
# (number followed by %), which are interpreted as percentages of the
|
|
||||||
# unmodified values. You can use negative pixels or percentages less than
|
|
||||||
# 100% to reduce sizes (but this might cause rendering artifacts).
|
|
||||||
adjust_line_height 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
|
|
||||||
# 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,
|
|
||||||
# and very thick lines;
|
|
||||||
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 kitty_mod
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Request window attention on bell.
|
|
||||||
# Makes the dock icon bounce on macOS or the taskbar flash on linux.
|
|
||||||
window_alert_on_bell yes
|
|
||||||
|
|
||||||
# Show a bell symbol on the tab if a bell occurs in one of the windows in the
|
|
||||||
# tab and the window is not the currently focused window
|
|
||||||
bell_on_tab 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. You can use a suffix of "c" on the width/height values
|
|
||||||
# to have them interpreted as number of cells instead of 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 step size (in units of cell width/cell height) to use when resizing
|
|
||||||
# windows. The cells value is used for horizontal resizing and the lines value
|
|
||||||
# for vertical resizing.
|
|
||||||
window_resize_step_cells 2
|
|
||||||
window_resize_step_lines 2
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# The color for the border of inactive windows in which a bell has occurred
|
|
||||||
bell_border_color #ff5a00
|
|
||||||
|
|
||||||
# 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 margin to the left and right of the tab bar (in pts)
|
|
||||||
tab_bar_margin_width 0
|
|
||||||
|
|
||||||
# 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
|
|
||||||
foreground #dddddd
|
|
||||||
|
|
||||||
# The background color
|
|
||||||
background #000000
|
|
||||||
|
|
||||||
# The opacity of the background. A number between 0 and 1, where 1 is opaque and 0 is fully transparent.
|
|
||||||
# This will only work if supported by the OS (for instance, when using a compositor under X11). Note
|
|
||||||
# that it only sets the default background color's opacity. This is so that
|
|
||||||
# things like the status bar in vim, powerline prompts, etc. still look good.
|
|
||||||
# But it means that if you use a color theme with a background color in your
|
|
||||||
# editor, it will not be rendered as transparent. Instead you should change the
|
|
||||||
# default background color in your kitty config and not use a background color
|
|
||||||
# in the editor color scheme. Or use the escape codes to set the terminals
|
|
||||||
# default colors in a shell script to launch your editor.
|
|
||||||
# Be aware that using a value less than 1.0 is a (possibly significant) performance hit.
|
|
||||||
background_opacity 1.0
|
|
||||||
# If you want to dynamically change transparency of windows set dynamic_background_opacity to yes
|
|
||||||
# (this is off by default as it has a performance cost)
|
|
||||||
dynamic_background_opacity no
|
|
||||||
|
|
||||||
# How much to dim text that has the DIM/FAINT attribute set. 1.0 means no dimming and
|
|
||||||
# 0.0 means fully dimmed (i.e. invisible).
|
|
||||||
dim_opacity 0.75
|
|
||||||
|
|
||||||
# The foreground for selections
|
|
||||||
selection_foreground #000000
|
|
||||||
|
|
||||||
# The background for selections
|
|
||||||
selection_background #FFFACD
|
|
||||||
|
|
||||||
# The 16 terminal colors. There are 8 basic colors, each color has a dull and
|
|
||||||
# bright version. You can also set the remaining colors from the 256 color table
|
|
||||||
# as color16 to color256.
|
|
||||||
|
|
||||||
# black
|
|
||||||
color0 #000000
|
|
||||||
color8 #767676
|
|
||||||
|
|
||||||
# red
|
|
||||||
color1 #cc0403
|
|
||||||
color9 #f2201f
|
|
||||||
|
|
||||||
# green
|
|
||||||
color2 #19cb00
|
|
||||||
color10 #23fd00
|
|
||||||
|
|
||||||
# yellow
|
|
||||||
color3 #cecb00
|
|
||||||
color11 #fffd00
|
|
||||||
|
|
||||||
# blue
|
|
||||||
color4 #0d73cc
|
|
||||||
color12 #1a8fff
|
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #cb1ed1
|
|
||||||
color13 #fd28ff
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #0dcdcd
|
|
||||||
color14 #14ffff
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #dddddd
|
|
||||||
color15 #ffffff
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
|
|
||||||
# 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 .
|
|
||||||
|
|
||||||
# The console editor to use when editing the kitty config file or similar
|
|
||||||
# tasks. A value of . means to use the environment variable EDITOR. Note that
|
|
||||||
# this environment variable has to be set not just in your shell startup
|
|
||||||
# scripts but system-wide, otherwise kitty will not see it.
|
|
||||||
editor .
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Allow programs running in kitty to read and write from the clipboard. You can
|
|
||||||
# control exactly which actions are allowed. The set of possible actions is:
|
|
||||||
# write-clipboard read-clipboard write-primary read-primary
|
|
||||||
# The default is to allow writing to the clipboard and primary selection. Note
|
|
||||||
# that enabling the read functionality is a security risk as it means that any
|
|
||||||
# program, even one running on a remote server via SSH can read your clipboard.
|
|
||||||
clipboard_control write-clipboard write-primary
|
|
||||||
|
|
||||||
# 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 modifier names, see: http://www.glfw.org/docs/latest/group__mods.html
|
|
||||||
|
|
||||||
# The value of kitty_mod is used as the modifier for all default shortcuts, you
|
|
||||||
# can change it in your kitty.conf to change the modifiers for all the default
|
|
||||||
# shortcuts.
|
|
||||||
kitty_mod ctrl+shift
|
|
||||||
#
|
|
||||||
# You can use the special action no_op to unmap a keyboard shortcut that is
|
|
||||||
# assigned in the default configuration.
|
|
||||||
#
|
|
||||||
# You can combine multiple actions to be triggered by a single shortcut, using the
|
|
||||||
# syntax below:
|
|
||||||
# map key combine <separator> action1 <separator> action2 <separator> action3 ...
|
|
||||||
# For example:
|
|
||||||
# map kitty_mod+e combine : new_window : next_layout
|
|
||||||
# this will create a new window and switch to the next available layout
|
|
||||||
#
|
|
||||||
# You can use multi-key shortcuts using the syntax shown below:
|
|
||||||
# map key1>key2>key3 action
|
|
||||||
# For example:
|
|
||||||
# map ctrl+f>2 set_font_size 20
|
|
||||||
# this will change the font size to 20 points when you press ctrl+f and then 2
|
|
||||||
|
|
||||||
# Clipboard {{{
|
|
||||||
map kitty_mod+c copy_to_clipboard
|
|
||||||
map kitty_mod+v paste_from_clipboard
|
|
||||||
map kitty_mod+s paste_from_selection
|
|
||||||
map shift+insert paste_from_selection
|
|
||||||
# You can also pass the contents of the current selection to any program using
|
|
||||||
# pass_selection_to_program. By default, the system's open program is used, but
|
|
||||||
# you can specify your own, for example:
|
|
||||||
# map kitty_mod+o pass_selection_to_program firefox
|
|
||||||
map kitty_mod+o pass_selection_to_program
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Scrolling {{{
|
|
||||||
map kitty_mod+up scroll_line_up
|
|
||||||
map kitty_mod+down scroll_line_down
|
|
||||||
map kitty_mod+k scroll_line_up
|
|
||||||
map kitty_mod+j scroll_line_down
|
|
||||||
map kitty_mod+page_up scroll_page_up
|
|
||||||
map kitty_mod+page_down scroll_page_down
|
|
||||||
map kitty_mod+home scroll_home
|
|
||||||
map kitty_mod+end scroll_end
|
|
||||||
map kitty_mod+h show_scrollback
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Window management {{{
|
|
||||||
map kitty_mod+enter new_window
|
|
||||||
map kitty_mod+n new_os_window
|
|
||||||
map kitty_mod+w close_window
|
|
||||||
map kitty_mod+] next_window
|
|
||||||
map kitty_mod+[ previous_window
|
|
||||||
map kitty_mod+f move_window_forward
|
|
||||||
map kitty_mod+b move_window_backward
|
|
||||||
map kitty_mod+` move_window_to_top
|
|
||||||
map kitty_mod+r start_resizing_window
|
|
||||||
# Switching to a particular window
|
|
||||||
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
|
|
||||||
# You can open a new window running an arbitrary program, for example:
|
|
||||||
# map kitty_mod+y new_window mutt
|
|
||||||
#
|
|
||||||
# You can pass the current selection to the new program by using the @selection placeholder
|
|
||||||
# map kitty_mod+y new_window less @selection
|
|
||||||
#
|
|
||||||
# You can even send the contents of the current screen + history buffer as stdin using
|
|
||||||
# the placeholders @text (which is the plain text) and @ansi (which includes text styling escape codes).
|
|
||||||
# For only the current screen, use @screen or @ansi_screen.
|
|
||||||
# For example, the following command opens the scrollback buffer in less in a new window.
|
|
||||||
# map kitty_mod+y new_window @ansi less +G -R
|
|
||||||
#
|
|
||||||
# You can open a new window with the current working directory set to the
|
|
||||||
# working directory of the current window using
|
|
||||||
# map ctrl+alt+enter new_window_with_cwd
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Tab management {{{
|
|
||||||
map kitty_mod+right next_tab
|
|
||||||
map kitty_mod+left previous_tab
|
|
||||||
map kitty_mod+t new_tab
|
|
||||||
map kitty_mod+q close_tab
|
|
||||||
map kitty_mod+l next_layout
|
|
||||||
map kitty_mod+. move_tab_forward
|
|
||||||
map kitty_mod+, move_tab_backward
|
|
||||||
map kitty_mod+alt+t set_tab_title
|
|
||||||
# You can also create shortcuts to go to specific tabs, with 1 being the first tab
|
|
||||||
# map ctrl+alt+1 goto_tab 1
|
|
||||||
# map ctrl+alt+2 goto_tab 2
|
|
||||||
|
|
||||||
# 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.
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Layout management {{{
|
|
||||||
# You can create shortcuts to switch to specific layouts
|
|
||||||
# map ctrl+alt+1 goto_layout tall
|
|
||||||
# map ctrl+alt+2 goto_layout stack
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Font sizes {{{
|
|
||||||
# You can change the font size for all top-level kitty windows at a time
|
|
||||||
# or only the current one.
|
|
||||||
map kitty_mod+equal change_font_size all +2.0
|
|
||||||
map kitty_mod+minus change_font_size all -2.0
|
|
||||||
map kitty_mod+backspace change_font_size all 0
|
|
||||||
# To setup shortcuts for specific font sizes:
|
|
||||||
# map kitty_mod+f6 change_font_size all 10.0
|
|
||||||
# To setup shortcuts to change only the current window's font size:
|
|
||||||
# map kitty_mod+f6 change_font_size current 10.0
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Select and act on visible text {{{
|
|
||||||
# Use the hints kitten to select text and either pass it to an external program or
|
|
||||||
# insert it into the terminal or copy it to the clipboard.
|
|
||||||
#
|
|
||||||
# Open a currently visible URL using the keyboard. The program used to open the
|
|
||||||
# URL is specified in open_url_with.
|
|
||||||
map kitty_mod+e kitten hints
|
|
||||||
|
|
||||||
# Select a path/filename and insert it into the terminal. Useful, for instance to
|
|
||||||
# run git commands on a filename output from a previous git command.
|
|
||||||
map kitty_mod+p>f kitten hints --type path --program -
|
|
||||||
|
|
||||||
# Select something that looks like a hash and insert it into the terminal.
|
|
||||||
# Useful with git, which uses sha1 hashes to identify commits
|
|
||||||
map kitty_mod+p>h kitten hints --type hash --program -
|
|
||||||
|
|
||||||
# Select a path/filename and open it with the default open program.
|
|
||||||
map kitty_mod+p>shift+f kitten hints --type path
|
|
||||||
|
|
||||||
# Select a line of text and insert it into the terminal. Use for the
|
|
||||||
# output of things like: ls -1
|
|
||||||
map kitty_mod+p>l kitten hints --type line --program -
|
|
||||||
|
|
||||||
# Select words and insert into terminal.
|
|
||||||
map kitty_mod+p>w kitten hints --type word --program -
|
|
||||||
|
|
||||||
# The hints kitten has many more modes of operation that you can map to different
|
|
||||||
# shortcuts. For a full description run: kitty +kitten hints --help
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Miscellaneous {{{
|
|
||||||
map kitty_mod+f11 toggle_fullscreen
|
|
||||||
map kitty_mod+u input_unicode_character
|
|
||||||
map kitty_mod+f2 edit_config_file
|
|
||||||
# Open the kitty shell in a new window/tab/overlay/os_window to control kitty using commands.
|
|
||||||
map kitty_mod+escape kitty_shell window
|
|
||||||
map kitty_mod+a>m set_background_opacity +0.1
|
|
||||||
map kitty_mod+a>l set_background_opacity -0.1
|
|
||||||
map kitty_mod+a>1 set_background_opacity 1
|
|
||||||
map kitty_mod+a>d set_background_opacity default
|
|
||||||
|
|
||||||
# Sending arbitrary text on shortcut key presses
|
|
||||||
# You can tell kitty to send arbitrary (UTF-8) encoded text to
|
|
||||||
# the client program when pressing specified shortcut keys. For example:
|
|
||||||
# map ctrl+alt+a send_text all Special text
|
|
||||||
# This will send "Special text" when you press the Ctrl+Alt+a key combination.
|
|
||||||
# The text to be sent is a python string literal so you can use escapes like
|
|
||||||
# \x1b to send control codes or \u21fb to send unicode characters (or you can
|
|
||||||
# just input the unicode characters directly as UTF-8 text). The first argument
|
|
||||||
# to send_text is the keyboard modes in which to activate the shortcut. The possible
|
|
||||||
# values are normal or application or kitty or a comma separated combination of them.
|
|
||||||
# The special keyword all means all modes. The modes normal and application refer to
|
|
||||||
# the DECCKM cursor key mode for terminals, and kitty refers to the special kitty
|
|
||||||
# extended keyboard protocol. Another example, that outputs a word and then moves the cursor
|
|
||||||
# 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 application Word\x1bOH
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# You can have kitty remove all shortcut definition seen up to this point. Useful, for
|
|
||||||
# instance, to remove the default shortcuts.
|
|
||||||
clear_all_shortcuts no
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
|
|
||||||
# OS specific tweaks {{{
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# the background color of the currently active window and finally you can use
|
|
||||||
# an arbitrary color, such as #12af59 or "red". WARNING: This option works by
|
|
||||||
# using a hack, as there is no proper Cocoa API for it. It sets the background
|
|
||||||
# color of the entire window and makes the titlebar transparent. As such it is
|
|
||||||
# incompatible with background_opacity. If you want to use both, you are
|
|
||||||
# probably better off just hiding the titlebar with macos_hide_titlebar.
|
|
||||||
macos_titlebar_color system
|
|
||||||
|
|
||||||
# Hide the kitty window's title bar on macOS.
|
|
||||||
macos_hide_titlebar no
|
|
||||||
|
|
||||||
# Use the option key as an alt key. With this set to no, kitty will use
|
|
||||||
# the macOS native Option+Key = unicode character behavior. This will
|
|
||||||
# break any Alt+key keyboard shortcuts in your terminal programs, but you
|
|
||||||
# can use the macOS unicode input technique.
|
|
||||||
macos_option_as_alt yes
|
|
||||||
|
|
||||||
# Hide the kitty window from running tasks (alt-tab) on macOS.
|
|
||||||
macos_hide_from_tasks no
|
|
||||||
# }}}
|
|
||||||
2
setup.py
2
setup.py
@ -552,7 +552,7 @@ def package(args, for_bundle=False, sh_launcher=False): # {{{
|
|||||||
return [
|
return [
|
||||||
x for x in entries
|
x for x in entries
|
||||||
if '.' in x and x.rpartition('.')[2] not in
|
if '.' in x and x.rpartition('.')[2] not in
|
||||||
('py', 'so', 'conf', 'glsl')
|
('py', 'so', 'glsl')
|
||||||
]
|
]
|
||||||
|
|
||||||
shutil.copytree('kitty', os.path.join(libdir, 'kitty'), ignore=src_ignore)
|
shutil.copytree('kitty', os.path.join(libdir, 'kitty'), ignore=src_ignore)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user