1KITTY.CONF(5) kitty KITTY.CONF(5)
2
3
4
6 kitty.conf - kitty.conf Documentation
7
8 kitty is highly customizable, everything from keyboard shortcuts, to
9 rendering frames-per-second. See below for an overview of all cus‐
10 tomization possibilities.
11
12 You can open the config file within kitty by pressing ctrl+shift+f2
13 (⌘+, on macOS). A kitty.conf with commented default configurations and
14 descriptions will be created if the file does not exist. You can
15 reload the config file within kitty by pressing ctrl+shift+f5 (⌃+⌘+, on
16 macOS) or sending kitty the SIGUSR1 signal. You can also display the
17 current configuration by pressing ctrl+shift+f6 (⌥+⌘+, on macOS).
18
19 kitty looks for a config file in the OS config directories (usually
20 ~/.config/kitty/kitty.conf) but you can pass a specific path via the
21 kitty --config option or use the KITTY_CONFIG_DIRECTORY environment
22 variable. See kitty --config for full details.
23
24 Comments can be added to the config file as lines starting with the #
25 character. This works only if the # character is the first character in
26 the line.
27
28 You can include secondary config files via the include directive. If
29 you use a relative path for include, it is resolved with respect to the
30 location of the current config file. Note that environment variables
31 are expanded, so ${USER}.conf becomes name.conf if USER=name. Also, you
32 can use globinclude to include files matching a shell glob pattern and
33 envinclude to include configuration from environment variables. For ex‐
34 ample:
35
36 include other.conf
37 # Include *.conf files from all subdirs of kitty.d inside the kitty config dir
38 globinclude kitty.d/**/*.conf
39 # Include the *contents* of all env vars starting with KITTY_CONF_
40 envinclude KITTY_CONF_*
41
42 NOTE:
43 Syntax highlighting for kitty.conf in vim is available via
44 vim-kitty.
45
46 kitty has very powerful font management. You can configure individual
47 font faces and even specify special fonts for particular characters.
48
49 font_family, bold_font, italic_font, bold_italic_font
50
51 font_family monospace
52 bold_font auto
53 italic_font auto
54 bold_italic_font auto
55
56 You can specify different fonts for the bold/italic/bold-italic vari‐
57 ants. To get a full list of supported fonts use the kitty +list-fonts
58 command. By default they are derived automatically, by the OSes font
59 system. When bold_font or bold_italic_font is set to auto on macOS, the
60 priority of bold fonts is semi-bold, bold, heavy. Setting them manually
61 is useful for font families that have many weight variants like Book,
62 Medium, Thick, etc. For example:
63
64 font_family Operator Mono Book
65 bold_font Operator Mono Medium
66 italic_font Operator Mono Book Italic
67 bold_italic_font Operator Mono Medium Italic
68
69 font_size
70
71 font_size 11.0
72
73 Font size (in pts)
74
75 force_ltr
76
77 force_ltr no
78
79 kitty does not support BIDI (bidirectional text), however, for RTL
80 scripts, words are automatically displayed in RTL. That is to say, in
81 an RTL script, the words "HELLO WORLD" display in kitty as "WORLD
82 HELLO", and if you try to select a substring of an RTL-shaped string,
83 you will get the character that would be there had the the string been
84 LTR. For example, assuming the Hebrew word ירושלים, selecting the char‐
85 acter that on the screen appears to be ם actually writes into the se‐
86 lection buffer the character י. kitty's default behavior is useful in
87 conjunction with a filter to reverse the word order, however, if you
88 wish to manipulate RTL glyphs, it can be very challenging to work with,
89 so this option is provided to turn it off. Furthermore, this option can
90 be used with the command line program GNU FriBidi to get BIDI support,
91 because it will force kitty to always treat the text as LTR, which
92 FriBidi expects for terminals.
93
94 symbol_map
95
96 symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols
97
98 Map the specified Unicode codepoints to a particular font. Useful if
99 you need special rendering for some symbols, such as for Powerline.
100 Avoids the need for patched fonts. Each Unicode code point is specified
101 in the form U+<code point in hexadecimal>. You can specify multiple
102 code points, separated by commas and ranges separated by hyphens. This
103 option can be specified multiple times. The syntax is:
104
105 symbol_map codepoints Font Family Name
106
107 narrow_symbols
108
109 narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
110
111 Usually, for Private Use Unicode characters and some symbol/dingbat
112 characters, if the character is followed by one or more spaces, kitty
113 will use those extra cells to render the character larger, if the char‐
114 acter in the font has a wide aspect ratio. Using this option you can
115 force kitty to restrict the specified code points to render in the
116 specified number of cells (defaulting to one cell). This option can be
117 specified multiple times. The syntax is:
118
119 narrow_symbols codepoints [optionally the number of cells]
120
121 disable_ligatures
122
123 disable_ligatures never
124
125 Choose how you want to handle multi-character ligatures. The default is
126 to always render them. You can tell kitty to not render them when the
127 cursor is over them by using cursor to make editing easier, or have
128 kitty never render them at all by using always, if you don't like them.
129 The ligature strategy can be set per-window either using the kitty re‐
130 mote control facility or by defining shortcuts for it in kitty.conf,
131 for example:
132
133 map alt+1 disable_ligatures_in active always
134 map alt+2 disable_ligatures_in all never
135 map alt+3 disable_ligatures_in tab cursor
136
137 Note that this refers to programming ligatures, typically implemented
138 using the calt OpenType feature. For disabling general ligatures, use
139 the font_features option.
140
141 font_features
142
143 font_features none
144
145 Choose exactly which OpenType features to enable or disable. This is
146 useful as some fonts might have features worthwhile in a terminal. For
147 example, Fira Code includes a discretionary feature, zero, which in
148 that font changes the appearance of the zero (0), to make it more eas‐
149 ily distinguishable from Ø. Fira Code also includes other discretionary
150 features known as Stylistic Sets which have the tags ss01 through ss20.
151
152 For the exact syntax to use for individual features, see the HarfBuzz
153 documentation.
154
155 Note that this code is indexed by PostScript name, and not the font
156 family. This allows you to define very precise feature settings; e.g.
157 you can disable a feature in the italic font but not in the regular
158 font.
159
160 On Linux, font features are first read from the FontConfig database and
161 then this option is applied, so they can be configured in a single,
162 central place.
163
164 To get the PostScript name for a font, use kitty +list-fonts --psnames:
165
166 $ kitty +list-fonts --psnames | grep Fira
167 Fira Code
168 Fira Code Bold (FiraCode-Bold)
169 Fira Code Light (FiraCode-Light)
170 Fira Code Medium (FiraCode-Medium)
171 Fira Code Regular (FiraCode-Regular)
172 Fira Code Retina (FiraCode-Retina)
173
174 The part in brackets is the PostScript name.
175
176 Enable alternate zero and oldstyle numerals:
177
178 font_features FiraCode-Retina +zero +onum
179
180 Enable only alternate zero in the bold font:
181
182 font_features FiraCode-Bold +zero
183
184 Disable the normal ligatures, but keep the calt feature which (in this
185 font) breaks up monotony:
186
187 font_features TT2020StyleB-Regular -liga +calt
188
189 In conjunction with force_ltr, you may want to disable Arabic shaping
190 entirely, and only look at their isolated forms if they show up in a
191 document. You can do this with e.g.:
192
193 font_features UnifontMedium +isol -medi -fina -init
194
195 modify_font
196
197 modify_font
198
199 Modify font characteristics such as the position or thickness of the
200 underline and strikethrough. The modifications can have the suffix px
201 for pixels or % for percentage of original value. No suffix means use
202 pts. For example:
203
204 modify_font underline_position -2
205 modify_font underline_thickness 150%
206 modify_font strikethrough_position 2px
207
208 Additionally, you can modify the size of the cell in which each font
209 glyph is rendered and the baseline at which the glyph is placed in the
210 cell. For example:
211
212 modify_font cell_width 80%
213 modify_font cell_height -2px
214 modify_font baseline 3
215
216 Note that modifying the baseline will automatically adjust the under‐
217 line and strikethrough positions by the same amount. Increasing the
218 baseline raises glyphs inside the cell and decreasing it lowers them.
219 Decreasing the cell size might cause rendering artifacts, so use with
220 care.
221
222 box_drawing_scale
223
224 box_drawing_scale 0.001, 1, 1.5, 2
225
226 The sizes of the lines used for the box drawing Unicode characters.
227 These values are in pts. They will be scaled by the monitor DPI to ar‐
228 rive at a pixel value. There must be four values corresponding to
229 thin, normal, thick, and very thick lines.
230
231 cursor
232
233 cursor #cccccc
234
235 Default cursor color. If set to the special value none the cursor will
236 be rendered with a "reverse video" effect. It's color will be the color
237 of the text in the cell it is over and the text will be rendered with
238 the background color of the cell. Note that if the program running in
239 the terminal sets a cursor color, this takes precedence. Also, the cur‐
240 sor colors are modified if the cell background and foreground colors
241 have very low contrast.
242
243 cursor_text_color
244
245 cursor_text_color #111111
246
247 The color of text under the cursor. If you want it rendered with the
248 background color of the cell underneath instead, use the special key‐
249 word: background. Note that if cursor is set to none then this option
250 is ignored.
251
252 cursor_shape
253
254 cursor_shape block
255
256 The cursor shape can be one of block, beam, underline. Note that when
257 reloading the config this will be changed only if the cursor shape has
258 not been set by the program running in the terminal. This sets the de‐
259 fault cursor shape, applications running in the terminal can override
260 it. In particular, shell integration in kitty sets the cursor shape to
261 beam at shell prompts. You can avoid this by setting shell_integration
262 to no-cursor.
263
264 cursor_beam_thickness
265
266 cursor_beam_thickness 1.5
267
268 The thickness of the beam cursor (in pts).
269
270 cursor_underline_thickness
271
272 cursor_underline_thickness 2.0
273
274 The thickness of the underline cursor (in pts).
275
276 cursor_blink_interval
277
278 cursor_blink_interval -1
279
280 The interval to blink the cursor (in seconds). Set to zero to disable
281 blinking. Negative values mean use system default. Note that the mini‐
282 mum interval will be limited to repaint_delay.
283
284 cursor_stop_blinking_after
285
286 cursor_stop_blinking_after 15.0
287
288 Stop blinking cursor after the specified number of seconds of keyboard
289 inactivity. Set to zero to never stop blinking.
290
291 scrollback_lines
292
293 scrollback_lines 2000
294
295 Number of lines of history to keep in memory for scrolling back. Memory
296 is allocated on demand. Negative numbers are (effectively) infinite
297 scrollback. Note that using very large scrollback is not recommended
298 as it can slow down performance of the terminal and also use large
299 amounts of RAM. Instead, consider using scrollback_pager_history_size.
300 Note that on config reload if this is changed it will only affect newly
301 created windows, not existing ones.
302
303 scrollback_pager
304
305 scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
306
307 Program with which to view scrollback in a new window. The scrollback
308 buffer is passed as STDIN to this program. If you change it, make sure
309 the program you use can handle ANSI escape sequences for colors and
310 text formatting. INPUT_LINE_NUMBER in the command line above will be
311 replaced by an integer representing which line should be at the top of
312 the screen. Similarly CURSOR_LINE and CURSOR_COLUMN will be replaced by
313 the current cursor position or set to 0 if there is no cursor, for ex‐
314 ample, when showing the last command output.
315
316 scrollback_pager_history_size
317
318 scrollback_pager_history_size 0
319
320 Separate scrollback history size (in MB), used only for browsing the
321 scrollback buffer with pager. This separate buffer is not available for
322 interactive scrolling but will be piped to the pager program when view‐
323 ing scrollback buffer in a separate window. The current implementation
324 stores the data in UTF-8, so approximatively 10000 lines per megabyte
325 at 100 chars per line, for pure ASCII, unformatted text. A value of
326 zero or less disables this feature. The maximum allowed size is 4GB.
327 Note that on config reload if this is changed it will only affect newly
328 created windows, not existing ones.
329
330 scrollback_fill_enlarged_window
331
332 scrollback_fill_enlarged_window no
333
334 Fill new space with lines from the scrollback buffer after enlarging a
335 window.
336
337 wheel_scroll_multiplier
338
339 wheel_scroll_multiplier 5.0
340
341 Multiplier for the number of lines scrolled by the mouse wheel. Note
342 that this is only used for low precision scrolling devices, not for
343 high precision scrolling devices on platforms such as macOS and Way‐
344 land. Use negative numbers to change scroll direction. See also
345 wheel_scroll_min_lines.
346
347 wheel_scroll_min_lines
348
349 wheel_scroll_min_lines 1
350
351 The minimum number of lines scrolled by the mouse wheel. The scroll
352 multiplier only takes effect after it reaches this number. Note that
353 this is only used for low precision scrolling devices like wheel mice
354 that scroll by very small amounts when using the wheel. With a negative
355 number, the minimum number of lines will always be added.
356
357 touch_scroll_multiplier
358
359 touch_scroll_multiplier 1.0
360
361 Multiplier for the number of lines scrolled by a touchpad. Note that
362 this is only used for high precision scrolling devices on platforms
363 such as macOS and Wayland. Use negative numbers to change scroll direc‐
364 tion.
365
366 mouse_hide_wait
367
368 mouse_hide_wait 3.0
369
370 Hide mouse cursor after the specified number of seconds of the mouse
371 not being used. Set to zero to disable mouse cursor hiding. Set to a
372 negative value to hide the mouse cursor immediately when typing text.
373 Disabled by default on macOS as getting it to work robustly with the
374 ever-changing sea of bugs that is Cocoa is too much effort.
375
376 url_color, url_style
377
378 url_color #0087bd
379 url_style curly
380
381 The color and style for highlighting URLs on mouse-over. url_style can
382 be one of: none, straight, double, curly, dotted, dashed.
383
384 open_url_with
385
386 open_url_with default
387
388 The program to open clicked URLs. The special value default with first
389 look for any URL handlers defined via the Scripting the mouse click fa‐
390 cility and if non are found, it will use the Operating System's default
391 URL handler (open on macOS and xdg-open on Linux).
392
393 url_prefixes
394
395 url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh
396
397 The set of URL prefixes to look for when detecting a URL under the
398 mouse cursor.
399
400 detect_urls
401
402 detect_urls yes
403
404 Detect URLs under the mouse. Detected URLs are highlighted with an un‐
405 derline and the mouse cursor becomes a hand over them. Even if this op‐
406 tion is disabled, URLs are still clickable.
407
408 url_excluded_characters
409
410 url_excluded_characters
411
412 Additional characters to be disallowed from URLs, when detecting URLs
413 under the mouse cursor. By default, all characters that are legal in
414 URLs are allowed.
415
416 copy_on_select
417
418 copy_on_select no
419
420 Copy to clipboard or a private buffer on select. With this set to clip‐
421 board, selecting text with the mouse will cause the text to be copied
422 to clipboard. Useful on platforms such as macOS that do not have the
423 concept of primary selection. You can instead specify a name such as a1
424 to copy to a private kitty buffer. Map a shortcut with the
425 paste_from_buffer action to paste from this private buffer. For exam‐
426 ple:
427
428 copy_on_select a1
429 map shift+cmd+v paste_from_buffer a1
430
431 Note that copying to the clipboard is a security risk, as all programs,
432 including websites open in your browser can read the contents of the
433 system clipboard.
434
435 paste_actions
436
437 paste_actions quote-urls-at-prompt
438
439 A comma separated list of actions to take when pasting text into the
440 terminal. The supported paste actions are:
441
442 quote-urls-at-prompt:
443 If the text being pasted is a URL and the cursor is at a shell
444 prompt, automatically quote the URL (needs shell_integration).
445
446 confirm:
447 Confirm the paste if bracketed paste mode is not active or there
448 is more a large amount of text being pasted.
449
450 filter:
451 Run the filter_paste() function from the file paste-actions.py
452 in the kitty config directory on the pasted text. The text re‐
453 turned by the function will be actually pasted.
454
455 strip_trailing_spaces
456
457 strip_trailing_spaces never
458
459 Remove spaces at the end of lines when copying to clipboard. A value of
460 smart will do it when using normal selections, but not rectangle selec‐
461 tions. A value of always will always do it.
462
463 select_by_word_characters
464
465 select_by_word_characters @-./_~?&=%+#
466
467 Characters considered part of a word when double clicking. In addition
468 to these characters any character that is marked as an alphanumeric
469 character in the Unicode database will be matched.
470
471 select_by_word_characters_forward
472
473 select_by_word_characters_forward
474
475 Characters considered part of a word when extending the selection for‐
476 ward on double clicking. In addition to these characters any character
477 that is marked as an alphanumeric character in the Unicode database
478 will be matched.
479
480 If empty (default) select_by_word_characters will be used for both di‐
481 rections.
482
483 click_interval
484
485 click_interval -1.0
486
487 The interval between successive clicks to detect double/triple clicks
488 (in seconds). Negative numbers will use the system default instead, if
489 available, or fallback to 0.5.
490
491 focus_follows_mouse
492
493 focus_follows_mouse no
494
495 Set the active window to the window under the mouse when moving the
496 mouse around.
497
498 pointer_shape_when_grabbed
499
500 pointer_shape_when_grabbed arrow
501
502 The shape of the mouse pointer when the program running in the terminal
503 grabs the mouse. Valid values are: arrow, beam and hand.
504
505 default_pointer_shape
506
507 default_pointer_shape beam
508
509 The default shape of the mouse pointer. Valid values are: arrow, beam
510 and hand.
511
512 pointer_shape_when_dragging
513
514 pointer_shape_when_dragging beam
515
516 The default shape of the mouse pointer when dragging across text. Valid
517 values are: arrow, beam and hand.
518
520 Mouse buttons can be mapped to perform arbitrary actions. The syntax
521 is:
522
523 mouse_map button-name event-type modes action
524
525 Where button-name is one of left, middle, right, b1 ... b8 with added
526 keyboard modifiers. For example: ctrl+shift+left refers to holding the
527 Ctrl+Shift keys while clicking with the left mouse button. The value b1
528 ... b8 can be used to refer to up to eight buttons on a mouse.
529
530 event-type is one of press, release, doublepress, triplepress, click,
531 doubleclick. modes indicates whether the action is performed when the
532 mouse is grabbed by the program running in the terminal, or not. The
533 values are grabbed or ungrabbed or a comma separated combination of
534 them. grabbed refers to when the program running in the terminal has
535 requested mouse events. Note that the click and double click events
536 have a delay of click_interval to disambiguate from double and triple
537 presses.
538
539 You can run kitty with the kitty --debug-input command line option to
540 see mouse events. See the builtin actions below to get a sense of what
541 is possible.
542
543 If you want to unmap an action, map it to no_op. For example, to dis‐
544 able opening of URLs with a plain click:
545
546 mouse_map left click ungrabbed no_op
547
548 See all the mappable actions including mouse actions here.
549
550 NOTE:
551 Once a selection is started, releasing the button that started it
552 will automatically end it and no release event will be dispatched.
553
554 clear_all_mouse_actions
555
556 clear_all_mouse_actions no
557
558 Remove all mouse action definitions up to this point. Useful, for in‐
559 stance, to remove the default mouse actions.
560
561 Click the link under the mouse or move the cursor
562
563 mouse_map left click ungrabbed mouse_handle_click selection link prompt
564
565 First check for a selection and if one exists do nothing. Then check
566 for a link under the mouse cursor and if one exists, click it. Finally
567 check if the click happened at the current shell prompt and if so, move
568 the cursor to the click location. Note that this requires shell inte‐
569 gration to work.
570
571 Click the link under the mouse or move the cursor even when grabbed
572
573 mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt
574
575 Same as above, except that the action is performed even when the mouse
576 is grabbed by the program running in the terminal.
577
578 Click the link under the mouse cursor
579
580 mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link
581
582 Variant with Ctrl+Shift is present because the simple click based ver‐
583 sion has an unavoidable delay of click_interval, to disambiguate clicks
584 from double clicks.
585
586 Discard press event for link click
587
588 mouse_map ctrl+shift+left press grabbed discard_event
589
590 Prevent this press event from being sent to the program that has
591 grabbed the mouse, as the corresponding release event is used to open a
592 URL.
593
594 Paste from the primary selection
595
596 mouse_map middle release ungrabbed paste_from_selection
597
598 Start selecting text
599
600 mouse_map left press ungrabbed mouse_selection normal
601
602 Start selecting text in a rectangle
603
604 mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle
605
606 Select a word
607
608 mouse_map left doublepress ungrabbed mouse_selection word
609
610 Select a line
611
612 mouse_map left triplepress ungrabbed mouse_selection line
613
614 Select line from point
615
616 mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point
617
618 Select from the clicked point to the end of the line.
619
620 Extend the current selection
621
622 mouse_map right press ungrabbed mouse_selection extend
623
624 If you want only the end of the selection to be moved instead of the
625 nearest boundary, use move-end instead of extend.
626
627 Paste from the primary selection even when grabbed
628
629 mouse_map shift+middle release ungrabbed,grabbed paste_selection
630 mouse_map shift+middle press grabbed discard_event
631
632 Start selecting text even when grabbed
633
634 mouse_map shift+left press ungrabbed,grabbed mouse_selection normal
635
636 Start selecting text in a rectangle even when grabbed
637
638 mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle
639
640 Select a word even when grabbed
641
642 mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word
643
644 Select a line even when grabbed
645
646 mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line
647
648 Select line from point even when grabbed
649
650 mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point
651
652 Select from the clicked point to the end of the line even when grabbed.
653
654 Extend the current selection even when grabbed
655
656 mouse_map shift+right press ungrabbed,grabbed mouse_selection extend
657
658 Show clicked command output in pager
659
660 mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output
661
662 Requires shell integration to work.
663
664 repaint_delay
665
666 repaint_delay 10
667
668 Delay between screen updates (in milliseconds). Decreasing it, in‐
669 creases frames-per-second (FPS) at the cost of more CPU usage. The de‐
670 fault value yields ~100 FPS which is more than sufficient for most
671 uses. Note that to actually achieve 100 FPS, you have to either set
672 sync_to_monitor to no or use a monitor with a high refresh rate. Also,
673 to minimize latency when there is pending input to be processed, this
674 option is ignored.
675
676 input_delay
677
678 input_delay 3
679
680 Delay before input from the program running in the terminal is pro‐
681 cessed (in milliseconds). Note that decreasing it will increase respon‐
682 siveness, but also increase CPU usage and might cause flicker in full
683 screen programs that redraw the entire screen on each loop, because
684 kitty is so fast that partial screen updates will be drawn.
685
686 sync_to_monitor
687
688 sync_to_monitor yes
689
690 Sync screen updates to the refresh rate of the monitor. This prevents
691 screen tearing when scrolling. However, it limits the rendering speed
692 to the refresh rate of your monitor. With a very high speed mouse/high
693 keyboard repeat rate, you may notice some slight input latency. If so,
694 set this to no.
695
696 enable_audio_bell
697
698 enable_audio_bell yes
699
700 The audio bell. Useful to disable it in environments that require si‐
701 lence.
702
703 visual_bell_duration
704
705 visual_bell_duration 0.0
706
707 The visual bell duration (in seconds). Flash the screen when a bell oc‐
708 curs for the specified number of seconds. Set to zero to disable.
709
710 visual_bell_color
711
712 visual_bell_color none
713
714 The color used by visual bell. Set to none will fall back to selection
715 background color. If you feel that the visual bell is too bright, you
716 can set it to a darker color.
717
718 window_alert_on_bell
719
720 window_alert_on_bell yes
721
722 Request window attention on bell. Makes the dock icon bounce on macOS
723 or the taskbar flash on linux.
724
725 bell_on_tab
726
727 bell_on_tab "🔔 "
728
729 Some text or a Unicode symbol to show on the tab if a window in the tab
730 that does not have focus has a bell. If you want to use leading or
731 trailing spaces, surround the text with quotes. See tab_title_template
732 for how this is rendered.
733
734 For backwards compatibility, values of yes, y and true are converted to
735 the default bell symbol and no, n, false and none are converted to the
736 empty string.
737
738 command_on_bell
739
740 command_on_bell none
741
742 Program to run when a bell occurs. The environment variable
743 KITTY_CHILD_CMDLINE can be used to get the program running in the win‐
744 dow in which the bell occurred.
745
746 bell_path
747
748 bell_path none
749
750 Path to a sound file to play as the bell sound. If set to none, the
751 system default bell sound is used. Must be in a format supported by the
752 operating systems sound API, such as WAV or OGA on Linux (libcanberra)
753 or AIFF, MP3 or WAV on macOS (NSSound)
754
755 remember_window_size, initial_window_width, initial_window_height
756
757 remember_window_size yes
758 initial_window_width 640
759 initial_window_height 400
760
761 If enabled, the window size will be remembered so that new instances of
762 kitty will have the same size as the previous instance. If disabled,
763 the window will initially have size configured by initial_win‐
764 dow_width/height, in pixels. You can use a suffix of "c" on the
765 width/height values to have them interpreted as number of cells instead
766 of pixels.
767
768 enabled_layouts
769
770 enabled_layouts *
771
772 The enabled window layouts. A comma separated list of layout names. The
773 special value all means all layouts. The first listed layout will be
774 used as the startup layout. Default configuration is all layouts in al‐
775 phabetical order. For a list of available layouts, see the Layouts.
776
777 window_resize_step_cells, window_resize_step_lines
778
779 window_resize_step_cells 2
780 window_resize_step_lines 2
781
782 The step size (in units of cell width/cell height) to use when resizing
783 kitty windows in a layout with the shortcut ctrl+shift+r. The cells
784 value is used for horizontal resizing, and the lines value is used for
785 vertical resizing.
786
787 window_border_width
788
789 window_border_width 0.5pt
790
791 The width of window borders. Can be either in pixels (px) or pts (pt).
792 Values in pts will be rounded to the nearest number of pixels based on
793 screen resolution. If not specified, the unit is assumed to be pts.
794 Note that borders are displayed only when more than one window is visi‐
795 ble. They are meant to separate multiple windows.
796
797 draw_minimal_borders
798
799 draw_minimal_borders yes
800
801 Draw only the minimum borders needed. This means that only the borders
802 that separate the inactive window from a neighbor are drawn. Note that
803 setting a non-zero window_margin_width overrides this and causes all
804 borders to be drawn.
805
806 window_margin_width
807
808 window_margin_width 0
809
810 The window margin (in pts) (blank area outside the border). A single
811 value sets all four sides. Two values set the vertical and horizontal
812 sides. Three values set top, horizontal and bottom. Four values set
813 top, right, bottom and left.
814
815 single_window_margin_width
816
817 single_window_margin_width -1
818
819 The window margin to use when only a single window is visible (in pts).
820 Negative values will cause the value of window_margin_width to be used
821 instead. A single value sets all four sides. Two values set the verti‐
822 cal and horizontal sides. Three values set top, horizontal and bottom.
823 Four values set top, right, bottom and left.
824
825 window_padding_width
826
827 window_padding_width 0
828
829 The window padding (in pts) (blank area between the text and the window
830 border). A single value sets all four sides. Two values set the verti‐
831 cal and horizontal sides. Three values set top, horizontal and bottom.
832 Four values set top, right, bottom and left.
833
834 placement_strategy
835
836 placement_strategy center
837
838 When the window size is not an exact multiple of the cell size, the
839 cell area of the terminal window will have some extra padding on the
840 sides. You can control how that padding is distributed with this op‐
841 tion. Using a value of center means the cell area will be placed cen‐
842 trally. A value of top-left means the padding will be only at the bot‐
843 tom and right edges.
844
845 active_border_color
846
847 active_border_color #00ff00
848
849 The color for the border of the active window. Set this to none to not
850 draw borders around the active window.
851
852 inactive_border_color
853
854 inactive_border_color #cccccc
855
856 The color for the border of inactive windows.
857
858 bell_border_color
859
860 bell_border_color #ff5a00
861
862 The color for the border of inactive windows in which a bell has oc‐
863 curred.
864
865 inactive_text_alpha
866
867 inactive_text_alpha 1.0
868
869 Fade the text in inactive windows by the specified amount (a number be‐
870 tween zero and one, with zero being fully faded).
871
872 hide_window_decorations
873
874 hide_window_decorations no
875
876 Hide the window decorations (title-bar and window borders) with yes. On
877 macOS, titlebar-only can be used to only hide the titlebar. Whether
878 this works and exactly what effect it has depends on the window man‐
879 ager/operating system. Note that the effects of changing this option
880 when reloading config are undefined.
881
882 window_logo_path
883
884 window_logo_path none
885
886 Path to a logo image. Must be in PNG format. Relative paths are inter‐
887 preted relative to the kitty config directory. The logo is displayed in
888 a corner of every kitty window. The position is controlled by
889 window_logo_position. Individual windows can be configured to have
890 different logos either using the launch action or the remote control
891 facility.
892
893 window_logo_position
894
895 window_logo_position bottom-right
896
897 Where to position the window logo in the window. The value can be one
898 of: top-left, top, top-right, left, center, right, bottom-left, bottom,
899 bottom-right.
900
901 window_logo_alpha
902
903 window_logo_alpha 0.5
904
905 The amount the logo should be faded into the background. With zero be‐
906 ing fully faded and one being fully opaque.
907
908 resize_debounce_time
909
910 resize_debounce_time 0.1
911
912 The time to wait before redrawing the screen when a resize event is re‐
913 ceived (in seconds). On platforms such as macOS, where the operating
914 system sends events corresponding to the start and end of a resize,
915 this number is ignored.
916
917 resize_draw_strategy
918
919 resize_draw_strategy static
920
921 Choose how kitty draws a window while a resize is in progress. A value
922 of static means draw the current window contents, mostly unchanged. A
923 value of scale means draw the current window contents scaled. A value
924 of blank means draw a blank window. A value of size means show the win‐
925 dow size in cells.
926
927 resize_in_steps
928
929 resize_in_steps no
930
931 Resize the OS window in steps as large as the cells, instead of with
932 the usual pixel accuracy. Combined with initial_window_width and
933 initial_window_height in number of cells, this option can be used to
934 keep the margins as small as possible when resizing the OS window. Note
935 that this does not currently work on Wayland.
936
937 visual_window_select_characters
938
939 visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
940
941 The list of characters for visual window selection. For example, for
942 selecting a window to focus on with ctrl+shift+f7. The value should be
943 a series of unique numbers or alphabets, case insensitive, from the set
944 [0-9A-Z]. Specify your preference as a string of characters.
945
946 confirm_os_window_close
947
948 confirm_os_window_close -1
949
950 Ask for confirmation when closing an OS window or a tab with at least
951 this number of kitty windows in it by window manager (e.g. clicking the
952 window close button or pressing the operating system shortcut to close
953 windows) or by the close_tab action. A value of zero disables confirma‐
954 tion. This confirmation also applies to requests to quit the entire ap‐
955 plication (all OS windows, via the quit action). Negative values are
956 converted to positive ones, however, with shell_integration enabled,
957 using negative values means windows sitting at a shell prompt are not
958 counted, only windows where some command is currently running. Note
959 that if you want confirmation when closing individual windows, you can
960 map the close_window_with_confirmation action.
961
962 tab_bar_edge
963
964 tab_bar_edge bottom
965
966 The edge to show the tab bar on, top or bottom.
967
968 tab_bar_margin_width
969
970 tab_bar_margin_width 0.0
971
972 The margin to the left and right of the tab bar (in pts).
973
974 tab_bar_margin_height
975
976 tab_bar_margin_height 0.0 0.0
977
978 The margin above and below the tab bar (in pts). The first number is
979 the margin between the edge of the OS Window and the tab bar. The sec‐
980 ond number is the margin between the tab bar and the contents of the
981 current tab.
982
983 tab_bar_style
984
985 tab_bar_style fade
986
987 The tab bar style, can be one of:
988
989 fade Each tab's edges fade into the background color. (See also
990 tab_fade)
991
992 slant Tabs look like the tabs in a physical file.
993
994 separator
995 Tabs are separated by a configurable separator. (See also
996 tab_separator)
997
998 powerline
999 Tabs are shown as a continuous line with "fancy" separators.
1000 (See also tab_powerline_style)
1001
1002 custom A user-supplied Python function called draw_tab is loaded from
1003 the file tab_bar.py in the kitty config directory. For examples
1004 of how to write such a function, see the functions named
1005 draw_tab_with_* in kitty's source code: kitty/tab_bar.py. See
1006 also this discussion for examples from kitty users.
1007
1008 hidden The tab bar is hidden. If you use this, you might want to create
1009 a mapping for the select_tab action which presents you with a
1010 list of tabs and allows for easy switching to a tab.
1011
1012 tab_bar_align
1013
1014 tab_bar_align left
1015
1016 The horizontal alignment of the tab bar, can be one of: left, center,
1017 right.
1018
1019 tab_bar_min_tabs
1020
1021 tab_bar_min_tabs 2
1022
1023 The minimum number of tabs that must exist before the tab bar is shown.
1024
1025 tab_switch_strategy
1026
1027 tab_switch_strategy previous
1028
1029 The algorithm to use when switching to a tab when the current tab is
1030 closed. The default of previous will switch to the last used tab. A
1031 value of left will switch to the tab to the left of the closed tab. A
1032 value of right will switch to the tab to the right of the closed tab. A
1033 value of last will switch to the right-most tab.
1034
1035 tab_fade
1036
1037 tab_fade 0.25 0.5 0.75 1
1038
1039 Control how each tab fades into the background when using fade for the
1040 tab_bar_style. Each number is an alpha (between zero and one) that con‐
1041 trols how much the corresponding cell fades into the background, with
1042 zero being no fade and one being full fade. You can change the number
1043 of cells used by adding/removing entries to this list.
1044
1045 tab_separator
1046
1047 tab_separator " ┇"
1048
1049 The separator between tabs in the tab bar when using separator as the
1050 tab_bar_style.
1051
1052 tab_powerline_style
1053
1054 tab_powerline_style angled
1055
1056 The powerline separator style between tabs in the tab bar when using
1057 powerline as the tab_bar_style, can be one of: angled, slanted, round.
1058
1059 tab_activity_symbol
1060
1061 tab_activity_symbol none
1062
1063 Some text or a Unicode symbol to show on the tab if a window in the tab
1064 that does not have focus has some activity. If you want to use leading
1065 or trailing spaces, surround the text with quotes. See
1066 tab_title_template for how this is rendered.
1067
1068 tab_title_template
1069
1070 tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}"
1071
1072 A template to render the tab title. The default just renders the title
1073 with optional symbols for bell and activity. If you wish to include the
1074 tab-index as well, use something like: {index}:{title}. Useful if you
1075 have shortcuts mapped for goto_tab N. If you prefer to see the index as
1076 a superscript, use {sup.index}. All data available is:
1077
1078 title The current tab title.
1079
1080 index The tab index useable with goto_tab N shortcuts.
1081
1082 layout_name
1083 The current layout name.
1084
1085 num_windows
1086 The number of windows in the tab.
1087
1088 num_window_groups
1089 The number of window groups (not counting overlay windows) in
1090 the tab.
1091
1092 tab.active_wd
1093 The working directory of the currently active window in the tab
1094 (expensive, requires syscall).
1095
1096 max_title_length
1097 The maximum title length available.
1098
1099 Note that formatting is done by Python's string formatting machinery,
1100 so you can use, for instance, {layout_name[:2].upper()} to show only
1101 the first two letters of the layout name, upper-cased. If you want to
1102 style the text, you can use styling directives, for example:
1103 {fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}.
1104 Similarly, for bold and italic: {fmt.bold}bold{fmt.nobold}nor‐
1105 mal{fmt.italic}italic{fmt.noitalic}. Note that for backward compati‐
1106 bility, if {bell_symbol} or {activity_symbol} are not present in the
1107 template, they are prepended to it.
1108
1109 active_tab_title_template
1110
1111 active_tab_title_template none
1112
1113 Template to use for active tabs. If not specified falls back to
1114 tab_title_template.
1115
1116 active_tab_foreground, active_tab_background, active_tab_font_style,
1117 inactive_tab_foreground, inactive_tab_background, inac‐
1118 tive_tab_font_style
1119
1120 active_tab_foreground #000
1121 active_tab_background #eee
1122 active_tab_font_style bold-italic
1123 inactive_tab_foreground #444
1124 inactive_tab_background #999
1125 inactive_tab_font_style normal
1126
1127 Tab bar colors and styles.
1128
1129 tab_bar_background
1130
1131 tab_bar_background none
1132
1133 Background color for the tab bar. Defaults to using the terminal back‐
1134 ground color.
1135
1136 tab_bar_margin_color
1137
1138 tab_bar_margin_color none
1139
1140 Color for the tab bar margin area. Defaults to using the terminal back‐
1141 ground color.
1142
1143 foreground, background
1144
1145 foreground #dddddd
1146 background #000000
1147
1148 The foreground and background colors.
1149
1150 background_opacity
1151
1152 background_opacity 1.0
1153
1154 The opacity of the background. A number between zero and one, where one
1155 is opaque and zero is fully transparent. This will only work if sup‐
1156 ported by the OS (for instance, when using a compositor under X11).
1157 Note that it only sets the background color's opacity in cells that
1158 have the same background color as the default terminal background, so
1159 that things like the status bar in vim, powerline prompts, etc. still
1160 look good. But it means that if you use a color theme with a background
1161 color in your editor, it will not be rendered as transparent. Instead
1162 you should change the default background color in your kitty config and
1163 not use a background color in the editor color scheme. Or use the es‐
1164 cape codes to set the terminals default colors in a shell script to
1165 launch your editor. Be aware that using a value less than 1.0 is a
1166 (possibly significant) performance hit. If you want to dynamically
1167 change transparency of windows, set dynamic_background_opacity to yes
1168 (this is off by default as it has a performance cost). Changing this
1169 option when reloading the config will only work if
1170 dynamic_background_opacity was enabled in the original config.
1171
1172 background_image
1173
1174 background_image none
1175
1176 Path to a background image. Must be in PNG format.
1177
1178 background_image_layout
1179
1180 background_image_layout tiled
1181
1182 Whether to tile, scale or clamp the background image. The value can be
1183 one of tiled, mirror-tiled, scaled, clamped or centered.
1184
1185 background_image_linear
1186
1187 background_image_linear no
1188
1189 When background image is scaled, whether linear interpolation should be
1190 used.
1191
1192 dynamic_background_opacity
1193
1194 dynamic_background_opacity no
1195
1196 Allow changing of the background_opacity dynamically, using either key‐
1197 board shortcuts (ctrl+shift+a>m and ctrl+shift+a>l) or the remote con‐
1198 trol facility. Changing this option by reloading the config is not sup‐
1199 ported.
1200
1201 background_tint
1202
1203 background_tint 0.0
1204
1205 How much to tint the background image by the background color. This
1206 option makes it easier to read the text. Tinting is done using the cur‐
1207 rent background color for each window. This option applies only if
1208 background_opacity is set and transparent windows are supported or
1209 background_image is set.
1210
1211 dim_opacity
1212
1213 dim_opacity 0.75
1214
1215 How much to dim text that has the DIM/FAINT attribute set. One means no
1216 dimming and zero means fully dimmed (i.e. invisible).
1217
1218 selection_foreground, selection_background
1219
1220 selection_foreground #000000
1221 selection_background #fffacd
1222
1223 The foreground and background colors for text selected with the mouse.
1224 Setting both of these to none will cause a "reverse video" effect for
1225 selections, where the selection will be the cell text color and the
1226 text will become the cell background color. Setting only selec‐
1227 tion_foreground to none will cause the foreground color to be used un‐
1228 changed. Note that these colors can be overridden by the program run‐
1229 ning in the terminal.
1230
1232 The 256 terminal colors. There are 8 basic colors, each color has a
1233 dull and bright version, for the first 16 colors. You can set the re‐
1234 maining 240 colors as color16 to color255.
1235
1236 color0, color8
1237
1238 color0 #000000
1239 color8 #767676
1240
1241 black
1242
1243 color1, color9
1244
1245 color1 #cc0403
1246 color9 #f2201f
1247
1248 red
1249
1250 color2, color10
1251
1252 color2 #19cb00
1253 color10 #23fd00
1254
1255 green
1256
1257 color3, color11
1258
1259 color3 #cecb00
1260 color11 #fffd00
1261
1262 yellow
1263
1264 color4, color12
1265
1266 color4 #0d73cc
1267 color12 #1a8fff
1268
1269 blue
1270
1271 color5, color13
1272
1273 color5 #cb1ed1
1274 color13 #fd28ff
1275
1276 magenta
1277
1278 color6, color14
1279
1280 color6 #0dcdcd
1281 color14 #14ffff
1282
1283 cyan
1284
1285 color7, color15
1286
1287 color7 #dddddd
1288 color15 #ffffff
1289
1290 white
1291
1292 mark1_foreground
1293
1294 mark1_foreground black
1295
1296 Color for marks of type 1
1297
1298 mark1_background
1299
1300 mark1_background #98d3cb
1301
1302 Color for marks of type 1 (light steel blue)
1303
1304 mark2_foreground
1305
1306 mark2_foreground black
1307
1308 Color for marks of type 2
1309
1310 mark2_background
1311
1312 mark2_background #f2dcd3
1313
1314 Color for marks of type 1 (beige)
1315
1316 mark3_foreground
1317
1318 mark3_foreground black
1319
1320 Color for marks of type 3
1321
1322 mark3_background
1323
1324 mark3_background #f274bc
1325
1326 Color for marks of type 3 (violet)
1327
1328 shell
1329
1330 shell .
1331
1332 The shell program to execute. The default value of . means to use what‐
1333 ever shell is set as the default shell for the current user. Note that
1334 on macOS if you change this, you might need to add --login and --inter‐
1335 active to ensure that the shell starts in interactive mode and reads
1336 its startup rc files.
1337
1338 editor
1339
1340 editor .
1341
1342 The terminal based text editor (such as vim or nano) to use when edit‐
1343 ing the kitty config file or similar tasks.
1344
1345 The default value of . means to use the environment variables VISUAL
1346 and EDITOR in that order. If these variables aren't set, kitty will run
1347 your shell ($SHELL -l -i -c env) to see if your shell startup rc files
1348 set VISUAL or EDITOR. If that doesn't work, kitty will cycle through
1349 various known editors (vim, emacs, etc.) and take the first one that
1350 exists on your system.
1351
1352 close_on_child_death
1353
1354 close_on_child_death no
1355
1356 Close the window when the child process (shell) exits. With the default
1357 value no, the terminal will remain open when the child exits as long as
1358 there are still processes outputting to the terminal (for example dis‐
1359 owned or backgrounded processes). When enabled with yes, the window
1360 will close as soon as the child process exits. Note that setting it to
1361 yes means that any background processes still using the terminal can
1362 fail silently because their stdout/stderr/stdin no longer work.
1363
1364 remote_control_password
1365
1366 remote_control_password
1367
1368 Allow other programs to control kitty using passwords. This option can
1369 be specified multiple times to add multiple passwords. If no passwords
1370 are present kitty will ask the user for permission if a program tries
1371 to use remote control with a password. A password can also optionally
1372 be associated with a set of allowed remote control actions. For exam‐
1373 ple:
1374
1375 remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab
1376
1377 Only the specified actions will be allowed when using this password.
1378 Glob patterns can be used too, for example:
1379
1380 remote_control_password "my passphrase" set-tab-* resize-*
1381
1382 To get a list of available actions, run:
1383
1384 kitty @ --help
1385
1386 A set of actions to be allowed when no password is sent can be speci‐
1387 fied by using an empty password, for example:
1388
1389 remote_control_password "" *-colors
1390
1391 Finally, the path to a python module can be specified that provides a
1392 function is_cmd_allowed that is used to check every remote control com‐
1393 mand. See Customizing authorization with your own program for details.
1394 For example:
1395
1396 remote_control_password "my passphrase" my_rc_command_checker.py
1397
1398 Relative paths are resolved from the kitty configuration directory.
1399
1400 allow_remote_control
1401
1402 allow_remote_control no
1403
1404 Allow other programs to control kitty. If you turn this on, other pro‐
1405 grams can control all aspects of kitty, including sending text to kitty
1406 windows, opening new windows, closing windows, reading the content of
1407 windows, etc. Note that this even works over SSH connections. The de‐
1408 fault setting of no prevents any form of remote control. The meaning of
1409 the various values are:
1410
1411 password
1412 Remote control requests received over both the TTY device and
1413 the socket are confirmed based on passwords, see
1414 remote_control_password.
1415
1416 socket-only
1417 Remote control requests received over a socket are accepted un‐
1418 conditionally. Requests received over the TTY are denied. See
1419 listen_on.
1420
1421 socket Remote control requests received over a socket are accepted un‐
1422 conditionally. Requests received over the TTY are confirmed
1423 based on password.
1424
1425 no Remote control is completely disabled.
1426
1427 yes Remote control requests are always accepted.
1428
1429 listen_on
1430
1431 listen_on none
1432
1433 Listen to the specified UNIX socket for remote control connections.
1434 Note that this will apply to all kitty instances. It can be overridden
1435 by the kitty --listen-on command line option, which also supports lis‐
1436 tening on a TCP socket. This option accepts only UNIX sockets, such as
1437 unix:${TEMP}/mykitty or unix:@mykitty (on Linux). Environment variables
1438 are expanded and relative paths are resolved with respect to the tempo‐
1439 rary directory. If {kitty_pid} is present, then it is replaced by the
1440 PID of the kitty process, otherwise the PID of the kitty process is ap‐
1441 pended to the value, with a hyphen. See the help for kitty --listen-on
1442 for more details. Note that this will be ignored unless
1443 allow_remote_control is set to either: yes, socket or socket-only.
1444 Changing this option by reloading the config is not supported.
1445
1446 env
1447
1448 env
1449
1450 Specify the environment variables to be set in all child processes. Us‐
1451 ing the name with an equal sign (e.g. env VAR=) will set it to the
1452 empty string. Specifying only the name (e.g. env VAR) will remove the
1453 variable from the child process' environment. Note that environment
1454 variables are expanded recursively, for example:
1455
1456 env VAR1=a
1457 env VAR2=${HOME}/${VAR1}/b
1458
1459 The value of VAR2 will be <path to home directory>/a/b.
1460
1461 watcher
1462
1463 watcher
1464
1465 Path to python file which will be loaded for Watching launched windows.
1466 Can be specified more than once to load multiple watchers. The watchers
1467 will be added to every kitty window. Relative paths are resolved rela‐
1468 tive to the kitty config directory. Note that reloading the config will
1469 only affect windows created after the reload.
1470
1471 exe_search_path
1472
1473 exe_search_path
1474
1475 Control where kitty finds the programs to run. The default search order
1476 is: First search the system wide PATH, then ~/.local/bin and ~/bin. If
1477 still not found, the PATH defined in the login shell after sourcing all
1478 its startup files is tried. Finally, if present, the PATH specified by
1479 the env option is tried.
1480
1481 This option allows you to prepend, append, or remove paths from this
1482 search order. It can be specified multiple times for multiple paths. A
1483 simple path will be prepended to the search order. A path that starts
1484 with the + sign will be append to the search order, after ~/bin above.
1485 A path that starts with the - sign will be removed from the entire
1486 search order. For example:
1487
1488 exe_search_path /some/prepended/path
1489 exe_search_path +/some/appended/path
1490 exe_search_path -/some/excluded/path
1491
1492 update_check_interval
1493
1494 update_check_interval 24
1495
1496 The interval to periodically check if an update to kitty is available
1497 (in hours). If an update is found, a system notification is displayed
1498 informing you of the available update. The default is to check every 24
1499 hours, set to zero to disable. Update checking is only done by the of‐
1500 ficial binary builds. Distro packages or source builds do not do update
1501 checking. Changing this option by reloading the config is not sup‐
1502 ported.
1503
1504 startup_session
1505
1506 startup_session none
1507
1508 Path to a session file to use for all kitty instances. Can be overrid‐
1509 den by using the kitty --session command line option for individual in‐
1510 stances. See Startup Sessions in the kitty documentation for details.
1511 Note that relative paths are interpreted with respect to the kitty con‐
1512 fig directory. Environment variables in the path are expanded. Chang‐
1513 ing this option by reloading the config is not supported.
1514
1515 clipboard_control
1516
1517 clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask
1518
1519 Allow programs running in kitty to read and write from the clipboard.
1520 You can control exactly which actions are allowed. The possible actions
1521 are: write-clipboard, read-clipboard, write-primary, read-primary,
1522 read-clipboard-ask, read-primary-ask. The default is to allow writing
1523 to the clipboard and primary selection and to ask for permission when a
1524 program tries to read from the clipboard. Note that disabling the read
1525 confirmation is a security risk as it means that any program, even the
1526 ones running on a remote server via SSH can read your clipboard. See
1527 also clipboard_max_size.
1528
1529 clipboard_max_size
1530
1531 clipboard_max_size 64
1532
1533 The maximum size (in MB) of data from programs running in kitty that
1534 will be stored for writing to the system clipboard. A value of zero
1535 means no size limit is applied. See also clipboard_control.
1536
1537 file_transfer_confirmation_bypass
1538
1539 file_transfer_confirmation_bypass
1540
1541 The password that can be supplied to the file transfer kitten to skip
1542 the transfer confirmation prompt. This should only be used when initi‐
1543 ating transfers from trusted computers, over trusted networks or en‐
1544 crypted transports, as it allows any programs running on the remote ma‐
1545 chine to read/write to the local filesystem, without permission.
1546
1547 allow_hyperlinks
1548
1549 allow_hyperlinks yes
1550
1551 Process hyperlink escape sequences (OSC 8). If disabled OSC 8 escape
1552 sequences are ignored. Otherwise they become clickable links, that you
1553 can click with the mouse or by using the hints kitten. The special
1554 value of ask means that kitty will ask before opening the link when
1555 clicked.
1556
1557 shell_integration
1558
1559 shell_integration enabled
1560
1561 Enable shell integration on supported shells. This enables features
1562 such as jumping to previous prompts, browsing the output of the previ‐
1563 ous command in a pager, etc. on supported shells. Set to disabled to
1564 turn off shell integration, completely. It is also possible to disable
1565 individual features, set to a space separated list of these values:
1566 no-rc, no-cursor, no-title, no-cwd, no-prompt-mark, no-complete. See
1567 Shell integration for details.
1568
1569 allow_cloning
1570
1571 allow_cloning ask
1572
1573 Control whether programs running in the terminal can request new win‐
1574 dows to be created. The canonical example is clone-in-kitty. By de‐
1575 fault, kitty will ask for permission for each clone request. Allowing
1576 cloning unconditionally gives programs running in the terminal (includ‐
1577 ing over SSH) permission to execute arbitrary code, as the user who is
1578 running the terminal, on the computer that the terminal is running on.
1579
1580 clone_source_strategies
1581
1582 clone_source_strategies venv,conda,env_var,path
1583
1584 Control what shell code is sourced when running clone-in-kitty in the
1585 newly cloned window. The supported strategies are:
1586
1587 venv Source the file $VIRTUAL_ENV/bin/activate. This is used by the
1588 Python stdlib venv module and allows cloning venvs automati‐
1589 cally.
1590
1591 conda Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual
1592 environments created by conda.
1593
1594 env_var
1595 Execute the contents of the environment variable
1596 KITTY_CLONE_SOURCE_CODE with eval.
1597
1598 path Source the file pointed to by the environment variable
1599 KITTY_CLONE_SOURCE_PATH.
1600
1601 This option must be a comma separated list of the above values. This
1602 only source the first valid one in the above order.
1603
1604 term
1605
1606 term xterm-kitty
1607
1608 The value of the TERM environment variable to set. Changing this can
1609 break many terminal programs, only change it if you know what you are
1610 doing, not because you read some advice on "Stack Overflow" to change
1611 it. The TERM variable is used by various programs to get information
1612 about the capabilities and behavior of the terminal. If you change it,
1613 depending on what programs you run, and how different the terminal you
1614 are changing it to is, various things from key-presses, to colors, to
1615 various advanced features may not work. Changing this option by reload‐
1616 ing the config will only affect newly created windows.
1617
1618 wayland_titlebar_color
1619
1620 wayland_titlebar_color system
1621
1622 The color of the kitty window's titlebar on Wayland systems with client
1623 side window decorations such as GNOME. A value of system means to use
1624 the default system color, a value of background means to use the back‐
1625 ground color of the currently active window and finally you can use an
1626 arbitrary color, such as #12af59 or red.
1627
1628 macos_titlebar_color
1629
1630 macos_titlebar_color system
1631
1632 The color of the kitty window's titlebar on macOS. A value of system
1633 means to use the default system color, light or dark can also be used
1634 to set it explicitly. A value of background means to use the background
1635 color of the currently active window and finally you can use an arbi‐
1636 trary color, such as #12af59 or red. WARNING: This option works by us‐
1637 ing a hack when arbitrary color (or background) is configured, as there
1638 is no proper Cocoa API for it. It sets the background color of the en‐
1639 tire window and makes the titlebar transparent. As such it is incompat‐
1640 ible with background_opacity. If you want to use both, you are probably
1641 better off just hiding the titlebar with hide_window_decorations.
1642
1643 macos_option_as_alt
1644
1645 macos_option_as_alt no
1646
1647 Use the Option key as an Alt key on macOS. With this set to no, kitty
1648 will use the macOS native Option+Key to enter Unicode character behav‐
1649 ior. This will break any Alt+Key keyboard shortcuts in your terminal
1650 programs, but you can use the macOS Unicode input technique. You can
1651 use the values: left, right or both to use only the left, right or both
1652 Option keys as Alt, instead. Note that kitty itself always treats Op‐
1653 tion the same as Alt. This means you cannot use this option to config‐
1654 ure different kitty shortcuts for Option+Key vs. Alt+Key. Also, any
1655 kitty shortcuts using Option/Alt+Key will take priority, so that any
1656 such key presses will not be passed to terminal programs running inside
1657 kitty. Changing this option by reloading the config is not supported.
1658
1659 macos_hide_from_tasks
1660
1661 macos_hide_from_tasks no
1662
1663 Hide the kitty window from running tasks on macOS (⌘+Tab and the Dock).
1664 Changing this option by reloading the config is not supported.
1665
1666 macos_quit_when_last_window_closed
1667
1668 macos_quit_when_last_window_closed no
1669
1670 Have kitty quit when all the top-level windows are closed on macOS. By
1671 default, kitty will stay running, even with no open windows, as is the
1672 expected behavior on macOS.
1673
1674 macos_window_resizable
1675
1676 macos_window_resizable yes
1677
1678 Disable this if you want kitty top-level OS windows to not be resizable
1679 on macOS. Changing this option by reloading the config will only affect
1680 newly created OS windows.
1681
1682 macos_thicken_font
1683
1684 macos_thicken_font 0
1685
1686 Draw an extra border around the font with the given width, to increase
1687 legibility at small font sizes on macOS. For example, a value of 0.75
1688 will result in rendering that looks similar to sub-pixel antialiasing
1689 at common font sizes.
1690
1691 macos_traditional_fullscreen
1692
1693 macos_traditional_fullscreen no
1694
1695 Use the macOS traditional full-screen transition, that is faster, but
1696 less pretty.
1697
1698 macos_show_window_title_in
1699
1700 macos_show_window_title_in all
1701
1702 Control where the window title is displayed on macOS. A value of window
1703 will show the title of the currently active window at the top of the
1704 macOS window. A value of menubar will show the title of the currently
1705 active window in the macOS global menu bar, making use of otherwise
1706 wasted space. A value of all will show the title in both places, and
1707 none hides the title. See macos_menubar_title_max_length for how to
1708 control the length of the title in the menu bar.
1709
1710 macos_menubar_title_max_length
1711
1712 macos_menubar_title_max_length 0
1713
1714 The maximum number of characters from the window title to show in the
1715 macOS global menu bar. Values less than one means that there is no max‐
1716 imum limit.
1717
1718 macos_custom_beam_cursor
1719
1720 macos_custom_beam_cursor no
1721
1722 Use a custom mouse cursor for macOS that is easier to see on both light
1723 and dark backgrounds. Nowadays, the default macOS cursor already comes
1724 with a white border. WARNING: this might make your mouse cursor invisi‐
1725 ble on dual GPU machines. Changing this option by reloading the config
1726 is not supported.
1727
1728 macos_colorspace
1729
1730 macos_colorspace srgb
1731
1732 The colorspace in which to interpret terminal colors. The default of
1733 srgb will cause colors to match those seen in web browsers. The value
1734 of default will use whatever the native colorspace of the display is.
1735 The value of displayp3 will use Apple's special snowflake display P3
1736 color space, which will result in over saturated (brighter) colors with
1737 some color shift. Reloading configuration will change this value only
1738 for newly created OS windows.
1739
1740 linux_display_server
1741
1742 linux_display_server auto
1743
1744 Choose between Wayland and X11 backends. By default, an appropriate
1745 backend based on the system state is chosen automatically. Set it to
1746 x11 or wayland to force the choice. Changing this option by reloading
1747 the config is not supported.
1748
1749 Keys are identified simply by their lowercase Unicode characters. For
1750 example: a for the A key, [ for the left square bracket key, etc. For
1751 functional keys, such as Enter or Escape, the names are present at
1752 Functional key definitions. For modifier keys, the names are ctrl (con‐
1753 trol, ⌃), shift (⇧), alt (opt, option, ⌥), super (cmd, command, ⌘).
1754 See also: GLFW mods
1755
1756 On Linux you can also use XKB key names to bind keys that are not sup‐
1757 ported by GLFW. See XKB keys for a list of key names. The name to use
1758 is the part after the XKB_KEY_ prefix. Note that you can only use an
1759 XKB key name for keys that are not known as GLFW keys.
1760
1761 Finally, you can use raw system key codes to map keys, again only for
1762 keys that are not known as GLFW keys. To see the system key code for a
1763 key, start kitty with the kitty --debug-input option, kitty will output
1764 some debug text for every key event. In that text look for native_code,
1765 the value of that becomes the key name in the shortcut. For example:
1766
1767 on_key_input: glfw key: 0x61 native_code: 0x61 action: PRESS mods: none text: 'a'
1768
1769 Here, the key name for the A key is 0x61 and you can use it with:
1770
1771 map ctrl+0x61 something
1772
1773 to map Ctrl+A to something.
1774
1775 You can use the special action no_op to unmap a keyboard shortcut that
1776 is assigned in the default configuration:
1777
1778 map kitty_mod+space no_op
1779
1780 If you would like kitty to completely ignore a key event, not even
1781 sending it to the program running in the terminal, map it to
1782 discard_event:
1783
1784 map kitty_mod+f1 discard_event
1785
1786 You can combine multiple actions to be triggered by a single shortcut
1787 with combine action, using the syntax below:
1788
1789 map key combine <separator> action1 <separator> action2 <separator> action3 ...
1790
1791 For example:
1792
1793 map kitty_mod+e combine : new_window : next_layout
1794
1795 This will create a new window and switch to the next available layout.
1796
1797 You can use multi-key shortcuts with the syntax shown below:
1798
1799 map key1>key2>key3 action
1800
1801 For example:
1802
1803 map ctrl+f>2 set_font_size 20
1804
1805 The full list of actions that can be mapped to key presses is available
1806 here.
1807
1808 kitty_mod
1809
1810 kitty_mod ctrl+shift
1811
1812 Special modifier key alias for default shortcuts. You can change the
1813 value of this option to alter all default shortcuts that use kitty_mod.
1814
1815 clear_all_shortcuts
1816
1817 clear_all_shortcuts no
1818
1819 Remove all shortcut definitions up to this point. Useful, for instance,
1820 to remove the default shortcuts.
1821
1822 action_alias
1823
1824 action_alias launch_tab launch --type=tab --cwd=current
1825
1826 Define action aliases to avoid repeating the same options in multiple
1827 mappings. Aliases can be defined for any action and will be expanded
1828 recursively. For example, the above alias allows you to create mappings
1829 to launch a new tab in the current working directory without duplica‐
1830 tion:
1831
1832 map f1 launch_tab vim
1833 map f2 launch_tab emacs
1834
1835 Similarly, to alias kitten invocation:
1836
1837 action_alias hints kitten hints --hints-offset=0
1838
1839 kitten_alias
1840
1841 kitten_alias hints hints --hints-offset=0
1842
1843 Like action_alias above, but specifically for kittens. Generally, pre‐
1844 fer to use action_alias. This option is a legacy version, present for
1845 backwards compatibility. It causes all invocations of the aliased kit‐
1846 ten to be substituted. So the example above will cause all invocations
1847 of the hints kitten to have the --hints-offset=0 option applied.
1848
1850 Copy to clipboard
1851
1852 map ctrl+shift+c copy_to_clipboard
1853 map cmd+c copy_to_clipboard 🍎
1854
1855 There is also a copy_or_interrupt action that can be optionally mapped
1856 to Ctrl+C. It will copy only if there is a selection and send an inter‐
1857 rupt otherwise. Similarly, copy_and_clear_or_interrupt will copy and
1858 clear the selection or send an interrupt if there is no selection.
1859
1860 Paste from clipboard
1861
1862 map ctrl+shift+v paste_from_clipboard
1863 map cmd+v paste_from_clipboard 🍎
1864
1865 Paste from selection
1866
1867 map ctrl+shift+s paste_from_selection
1868 map shift+insert paste_from_selection
1869
1870 Pass selection to program
1871
1872 map ctrl+shift+o pass_selection_to_program
1873
1874 You can also pass the contents of the current selection to any program
1875 with pass_selection_to_program. By default, the system's open program
1876 is used, but you can specify your own, the selection will be passed as
1877 a command line argument to the program. For example:
1878
1879 map kitty_mod+o pass_selection_to_program firefox
1880
1881 You can pass the current selection to a terminal program running in a
1882 new kitty window, by using the @selection placeholder:
1883
1884 map kitty_mod+y new_window less @selection
1885
1887 Scroll line up
1888
1889 map ctrl+shift+up scroll_line_up
1890 map ctrl+shift+k scroll_line_up
1891 map opt+cmd+page_up scroll_line_up 🍎
1892 map cmd+up scroll_line_up 🍎
1893
1894 Scroll line down
1895
1896 map ctrl+shift+down scroll_line_down
1897 map ctrl+shift+j scroll_line_down
1898 map opt+cmd+page_down scroll_line_down 🍎
1899 map cmd+down scroll_line_down 🍎
1900
1901 Scroll page up
1902
1903 map ctrl+shift+page_up scroll_page_up
1904 map cmd+page_up scroll_page_up 🍎
1905
1906 Scroll page down
1907
1908 map ctrl+shift+page_down scroll_page_down
1909 map cmd+page_down scroll_page_down 🍎
1910
1911 Scroll to top
1912
1913 map ctrl+shift+home scroll_home
1914 map cmd+home scroll_home 🍎
1915
1916 Scroll to bottom
1917
1918 map ctrl+shift+end scroll_end
1919 map cmd+end scroll_end 🍎
1920
1921 Scroll to previous shell prompt
1922
1923 map ctrl+shift+z scroll_to_prompt -1
1924
1925 Use a parameter of 0 for scroll_to_prompt to scroll to the last jumped
1926 to or the last clicked position. Requires shell integration to work.
1927
1928 Scroll to next shell prompt
1929
1930 map ctrl+shift+x scroll_to_prompt 1
1931
1932 Browse scrollback buffer in pager
1933
1934 map ctrl+shift+h show_scrollback
1935
1936 You can pipe the contents of the current screen and history buffer as
1937 STDIN to an arbitrary program using launch --stdin-source. For exam‐
1938 ple, the following opens the scrollback buffer in less in an overlay
1939 window:
1940
1941 map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R
1942
1943 For more details on piping screen and buffer contents to external pro‐
1944 grams, see The launch command.
1945
1946 Browse output of the last shell command in pager
1947
1948 map ctrl+shift+g show_last_command_output
1949
1950 You can also define additional shortcuts to get the command output.
1951 For example, to get the first command output on screen:
1952
1953 map f1 show_first_command_output_on_screen
1954
1955 To get the command output that was last accessed by a keyboard action
1956 or mouse action:
1957
1958 map f1 show_last_visited_command_output
1959
1960 You can pipe the output of the last command run in the shell using the
1961 launch action. For example, the following opens the output in less in
1962 an overlay window:
1963
1964 map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R
1965
1966 To get the output of the first command on the screen, use
1967 @first_cmd_output_on_screen. To get the output of the last jumped to
1968 command, use @last_visited_cmd_output.
1969
1970 Requires shell integration to work.
1971
1973 New window
1974
1975 map ctrl+shift+enter new_window
1976 map cmd+enter new_window 🍎
1977
1978 You can open a new kitty window running an arbitrary program, for exam‐
1979 ple:
1980
1981 map kitty_mod+y launch mutt
1982
1983 You can open a new window with the current working directory set to the
1984 working directory of the current window using:
1985
1986 map ctrl+alt+enter launch --cwd=current
1987
1988 You can open a new window that is allowed to control kitty via the
1989 kitty remote control facility with launch --allow-remote-control. Any
1990 programs running in that window will be allowed to control kitty. For
1991 example:
1992
1993 map ctrl+enter launch --allow-remote-control some_program
1994
1995 You can open a new window next to the currently active window or as the
1996 first window, with:
1997
1998 map ctrl+n launch --location=neighbor
1999 map ctrl+f launch --location=first
2000
2001 For more details, see The launch command.
2002
2003 New OS window
2004
2005 map ctrl+shift+n new_os_window
2006 map cmd+n new_os_window 🍎
2007
2008 Works like new_window above, except that it opens a top-level OS win‐
2009 dow. In particular you can use new_os_window_with_cwd to open a window
2010 with the current working directory.
2011
2012 Close window
2013
2014 map ctrl+shift+w close_window
2015 map shift+cmd+d close_window 🍎
2016
2017 Next window
2018
2019 map ctrl+shift+] next_window
2020
2021 Previous window
2022
2023 map ctrl+shift+[ previous_window
2024
2025 Move window forward
2026
2027 map ctrl+shift+f move_window_forward
2028
2029 Move window backward
2030
2031 map ctrl+shift+b move_window_backward
2032
2033 Move window to top
2034
2035 map ctrl+shift+` move_window_to_top
2036
2037 Start resizing window
2038
2039 map ctrl+shift+r start_resizing_window
2040 map cmd+r start_resizing_window 🍎
2041
2042 First window
2043
2044 map ctrl+shift+1 first_window
2045 map cmd+1 first_window 🍎
2046
2047 Second window
2048
2049 map ctrl+shift+2 second_window
2050 map cmd+2 second_window 🍎
2051
2052 Third window
2053
2054 map ctrl+shift+3 third_window
2055 map cmd+3 third_window 🍎
2056
2057 Fourth window
2058
2059 map ctrl+shift+4 fourth_window
2060 map cmd+4 fourth_window 🍎
2061
2062 Fifth window
2063
2064 map ctrl+shift+5 fifth_window
2065 map cmd+5 fifth_window 🍎
2066
2067 Sixth window
2068
2069 map ctrl+shift+6 sixth_window
2070 map cmd+6 sixth_window 🍎
2071
2072 Seventh window
2073
2074 map ctrl+shift+7 seventh_window
2075 map cmd+7 seventh_window 🍎
2076
2077 Eight window
2078
2079 map ctrl+shift+8 eighth_window
2080 map cmd+8 eighth_window 🍎
2081
2082 Ninth window
2083
2084 map ctrl+shift+9 ninth_window
2085 map cmd+9 ninth_window 🍎
2086
2087 Tenth window
2088
2089 map ctrl+shift+0 tenth_window
2090
2091 Visually select and focus window
2092
2093 map ctrl+shift+f7 focus_visible_window
2094
2095 Display overlay numbers and alphabets on the window, and switch the fo‐
2096 cus to the window when you press the key. When there are only two win‐
2097 dows, the focus will be switched directly without displaying the over‐
2098 lay. You can change the overlay characters and their order with option
2099 visual_window_select_characters.
2100
2101 Visually swap window with another
2102
2103 map ctrl+shift+f8 swap_with_window
2104
2105 Works like focus_visible_window above, but swaps the window.
2106
2108 Next tab
2109
2110 map ctrl+shift+right next_tab
2111 map shift+cmd+] next_tab 🍎
2112 map ctrl+tab next_tab
2113
2114 Previous tab
2115
2116 map ctrl+shift+left previous_tab
2117 map shift+cmd+[ previous_tab 🍎
2118 map ctrl+shift+tab previous_tab
2119
2120 New tab
2121
2122 map ctrl+shift+t new_tab
2123 map cmd+t new_tab 🍎
2124
2125 Close tab
2126
2127 map ctrl+shift+q close_tab
2128 map cmd+w close_tab 🍎
2129
2130 Close OS window
2131
2132 map shift+cmd+w close_os_window 🍎
2133
2134 Move tab forward
2135
2136 map ctrl+shift+. move_tab_forward
2137
2138 Move tab backward
2139
2140 map ctrl+shift+, move_tab_backward
2141
2142 Set tab title
2143
2144 map ctrl+shift+alt+t set_tab_title
2145 map shift+cmd+i set_tab_title 🍎
2146
2147 You can also create shortcuts to go to specific tabs, with 1 being the
2148 first tab, 2 the second tab and -1 being the previously active tab, and
2149 any number larger than the last tab being the last tab:
2150
2151 map ctrl+alt+1 goto_tab 1
2152 map ctrl+alt+2 goto_tab 2
2153
2154 Just as with new_window above, you can also pass the name of arbitrary
2155 commands to run when using new_tab and new_tab_with_cwd. Finally, if
2156 you want the new tab to open next to the current tab rather than at the
2157 end of the tabs list, use:
2158
2159 map ctrl+t new_tab !neighbor [optional cmd to run]
2160
2162 Next layout
2163
2164 map ctrl+shift+l next_layout
2165
2166 You can also create shortcuts to switch to specific layouts:
2167
2168 map ctrl+alt+t goto_layout tall
2169 map ctrl+alt+s goto_layout stack
2170
2171 Similarly, to switch back to the previous layout:
2172
2173 map ctrl+alt+p last_used_layout
2174
2175 There is also a toggle_layout action that switches to the named layout
2176 or back to the previous layout if in the named layout. Useful to tempo‐
2177 rarily "zoom" the active window by switching to the stack layout:
2178
2179 map ctrl+alt+z toggle_layout stack
2180
2182 You can change the font size for all top-level kitty OS windows at a
2183 time or only the current one.
2184
2185 Increase font size
2186
2187 map ctrl+shift+equal change_font_size all +2.0
2188 map ctrl+shift+plus change_font_size all +2.0
2189 map ctrl+shift+kp_add change_font_size all +2.0
2190 map cmd+plus change_font_size all +2.0 🍎
2191 map cmd+equal change_font_size all +2.0 🍎
2192 map shift+cmd+equal change_font_size all +2.0 🍎
2193
2194 Decrease font size
2195
2196 map ctrl+shift+minus change_font_size all -2.0
2197 map ctrl+shift+kp_subtract change_font_size all -2.0
2198 map cmd+minus change_font_size all -2.0 🍎
2199 map shift+cmd+minus change_font_size all -2.0 🍎
2200
2201 Reset font size
2202
2203 map ctrl+shift+backspace change_font_size all 0
2204 map cmd+0 change_font_size all 0 🍎
2205
2206 To setup shortcuts for specific font sizes:
2207
2208 map kitty_mod+f6 change_font_size all 10.0
2209
2210 To setup shortcuts to change only the current OS window's font size:
2211
2212 map kitty_mod+f6 change_font_size current 10.0
2213
2215 Use the hints kitten to select text and either pass it to an external
2216 program or insert it into the terminal or copy it to the clipboard.
2217
2218 Open URL
2219
2220 map ctrl+shift+e open_url_with_hints
2221
2222 Open a currently visible URL using the keyboard. The program used to
2223 open the URL is specified in open_url_with.
2224
2225 Insert selected path
2226
2227 map ctrl+shift+p>f kitten hints --type path --program -
2228
2229 Select a path/filename and insert it into the terminal. Useful, for in‐
2230 stance to run git commands on a filename output from a previous git
2231 command.
2232
2233 Open selected path
2234
2235 map ctrl+shift+p>shift+f kitten hints --type path
2236
2237 Select a path/filename and open it with the default open program.
2238
2239 Insert selected line
2240
2241 map ctrl+shift+p>l kitten hints --type line --program -
2242
2243 Select a line of text and insert it into the terminal. Useful for the
2244 output of things like: ls -1.
2245
2246 Insert selected word
2247
2248 map ctrl+shift+p>w kitten hints --type word --program -
2249
2250 Select words and insert into terminal.
2251
2252 Insert selected hash
2253
2254 map ctrl+shift+p>h kitten hints --type hash --program -
2255
2256 Select something that looks like a hash and insert it into the termi‐
2257 nal. Useful with git, which uses SHA1 hashes to identify commits.
2258
2259 Open the selected file at the selected line
2260
2261 map ctrl+shift+p>n kitten hints --type linenum
2262
2263 Select something that looks like filename:linenum and open it in vim at
2264 the specified line number.
2265
2266 Open the selected hyperlink
2267
2268 map ctrl+shift+p>y kitten hints --type hyperlink
2269
2270 Select a hyperlink (i.e. a URL that has been marked as such by the ter‐
2271 minal program, for example, by ls --hyperlink=auto).
2272
2273 The hints kitten has many more modes of operation that you can map to
2274 different shortcuts. For a full description see hints kitten.
2275
2277 Show documentation
2278
2279 map ctrl+shift+f1 show_kitty_doc overview
2280
2281 Toggle fullscreen
2282
2283 map ctrl+shift+f11 toggle_fullscreen
2284 map ctrl+cmd+f toggle_fullscreen 🍎
2285
2286 Toggle maximized
2287
2288 map ctrl+shift+f10 toggle_maximized
2289
2290 Toggle macOS secure keyboard entry
2291
2292 map opt+cmd+s toggle_macos_secure_keyboard_entry 🍎
2293
2294 Unicode input
2295
2296 map ctrl+shift+u kitten unicode_input
2297 map ctrl+cmd+space kitten unicode_input 🍎
2298
2299 Edit config file
2300
2301 map ctrl+shift+f2 edit_config_file
2302 map cmd+, edit_config_file 🍎
2303
2304 Open the kitty command shell
2305
2306 map ctrl+shift+escape kitty_shell window
2307
2308 Open the kitty shell in a new window / tab / overlay / os_window to
2309 control kitty using commands.
2310
2311 Increase background opacity
2312
2313 map ctrl+shift+a>m set_background_opacity +0.1
2314
2315 Decrease background opacity
2316
2317 map ctrl+shift+a>l set_background_opacity -0.1
2318
2319 Make background fully opaque
2320
2321 map ctrl+shift+a>1 set_background_opacity 1
2322
2323 Reset background opacity
2324
2325 map ctrl+shift+a>d set_background_opacity default
2326
2327 Reset the terminal
2328
2329 map ctrl+shift+delete clear_terminal reset active
2330 map opt+cmd+r clear_terminal reset active 🍎
2331
2332 You can create shortcuts to clear/reset the terminal. For example:
2333
2334 # Reset the terminal
2335 map f1 clear_terminal reset active
2336 # Clear the terminal screen by erasing all contents
2337 map f1 clear_terminal clear active
2338 # Clear the terminal scrollback by erasing it
2339 map f1 clear_terminal scrollback active
2340 # Scroll the contents of the screen into the scrollback
2341 map f1 clear_terminal scroll active
2342 # Clear everything up to the line with the cursor
2343 map f1 clear_terminal to_cursor active
2344
2345 If you want to operate on all kitty windows instead of just the current
2346 one, use all instead of active.
2347
2348 It is also possible to remap Ctrl+L to both scroll the current screen
2349 contents into the scrollback buffer and clear the screen, instead of
2350 just clearing the screen, for example, for ZSH add the following to
2351 ~/.zshrc:
2352
2353 scroll-and-clear-screen() {
2354 printf '\n%.0s' {1..$LINES}
2355 zle clear-screen
2356 }
2357 zle -N scroll-and-clear-screen
2358 bindkey '^l' scroll-and-clear-screen
2359
2360 Clear up to cursor line
2361
2362 map cmd+k clear_terminal to_cursor active 🍎
2363
2364 Reload kitty.conf
2365
2366 map ctrl+shift+f5 load_config_file
2367 map ctrl+cmd+, load_config_file 🍎
2368
2369 Reload kitty.conf, applying any changes since the last time it was
2370 loaded. Note that a handful of options cannot be dynamically changed
2371 and require a full restart of kitty. Particularly, when changing short‐
2372 cuts for actions located on the macOS global menu bar, a full restart
2373 is needed. You can also map a keybinding to load a different config
2374 file, for example:
2375
2376 map f5 load_config /path/to/alternative/kitty.conf
2377
2378 Note that all options from the original kitty.conf are discarded, in
2379 other words the new configuration replace the old ones.
2380
2381 Debug kitty configuration
2382
2383 map ctrl+shift+f6 debug_config
2384 map opt+cmd+, debug_config 🍎
2385
2386 Show details about exactly what configuration kitty is running with and
2387 its host environment. Useful for debugging issues.
2388
2389 Send arbitrary text on key presses
2390
2391 You can tell kitty to send arbitrary (UTF-8) encoded text to the client
2392 program when pressing specified shortcut keys. For example:
2393
2394 map ctrl+alt+a send_text all Special text
2395
2396 This will send "Special text" when you press the Ctrl+Alt+A key combi‐
2397 nation. The text to be sent is a python string literal so you can use
2398 escapes like x1b to send control codes or u21fb to send Unicode charac‐
2399 ters (or you can just input the Unicode characters directly as UTF-8
2400 text). You can use kitty +kitten show_key to get the key escape codes
2401 you want to emulate.
2402
2403 The first argument to send_text is the keyboard modes in which to acti‐
2404 vate the shortcut. The possible values are normal, application, kitty
2405 or a comma separated combination of them. The modes normal and appli‐
2406 cation refer to the DECCKM cursor key mode for terminals, and kitty
2407 refers to the kitty extended keyboard protocol. The special value all
2408 means all of them.
2409
2410 Some more examples:
2411
2412 # Output a word and move the cursor to the start of the line (like typing and pressing Home)
2413 map ctrl+alt+a send_text normal Word\x1b[H
2414 map ctrl+alt+a send_text application Word\x1bOH
2415 # Run a command at a shell prompt (like typing the command and pressing Enter)
2416 map ctrl+alt+a send_text normal,application some command with arguments\r
2417
2418 Open kitty Website
2419
2420 map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/ 🍎
2421
2422 You can edit a fully commented sample kitty.conf by pressing the
2423 ctrl+shift+f2 shortcut in kitty. This will generate a config file with
2424 full documentation and all settings commented out. If you have a
2425 pre-existing kitty.conf, then that will be used instead, delete it to
2426 see the sample file.
2427
2428 See the list of all the things you can make kitty can do.
2429
2431 The actions described below can be mapped to any key press or mouse ac‐
2432 tion using the map and mouse_map directives in kitty.conf. For configu‐
2433 ration examples, see the default shortcut links for each action.
2434
2436 clear_selection
2437
2438 Clear the current selection
2439
2440 copy_and_clear_or_interrupt
2441
2442 Copy the selected text from the active window to the clipboard and
2443 clear selection, if no selection, send SIGINT (aka ctrl+c)
2444
2445 copy_ansi_to_clipboard
2446
2447 Copy the selected text from the active window to the clipboard with
2448 ANSI formatting codes
2449
2450 copy_or_interrupt
2451
2452 Copy the selected text from the active window to the clipboard, if no
2453 selection, send SIGINT (aka ctrl+c)
2454
2455 copy_to_clipboard
2456
2457 Copy the selected text from the active window to the clipboard
2458
2459 Default shortcuts using this action: ctrl+shift+c
2460
2461 pass_selection_to_program
2462
2463 Pass the selected text from the active window to the specified program
2464
2465 Default shortcuts using this action: ctrl+shift+o
2466
2467 paste
2468
2469 Paste the specified text into the current window
2470
2471 show_first_command_output_on_screen
2472
2473 Show output from the first shell command on screen in a pager like less
2474
2475 Requires Shell integration to work
2476
2477 show_last_command_output
2478
2479 Show output from the last shell command in a pager like less
2480
2481 Requires Shell integration to work
2482
2483 Default shortcuts using this action: ctrl+shift+g
2484
2485 show_last_non_empty_command_output
2486
2487 Show the last non-empty output from a shell command in a pager like
2488 less
2489
2490 Requires Shell integration to work
2491
2492 show_last_visited_command_output
2493
2494 Show the first command output below the last scrolled position via
2495 scroll_to_prompt
2496
2497 or the last mouse clicked command output in a pager like less
2498
2499 Requires Shell integration to work
2500
2501 show_scrollback
2502
2503 Show scrollback in a pager like less
2504
2505 Default shortcuts using this action: ctrl+shift+h
2506
2507 copy_to_buffer
2508
2509 Copy the selection from the active window to the specified buffer
2510
2511 See Multiple copy/paste buffers for details.
2512
2513 paste_from_buffer
2514
2515 Paste from the specified buffer to the active window
2516
2517 See Multiple copy/paste buffers for details.
2518
2519 paste_from_clipboard
2520
2521 Paste from the clipboard to the active window
2522
2523 Default shortcuts using this action: ctrl+shift+v
2524
2525 paste_from_selection
2526
2527 Paste from the primary selection, if present, otherwise the clipboard
2528 to the active window
2529
2530 Default shortcuts using this action: ctrl+shift+s
2531
2533 dump_lines_with_attrs
2534
2535 Show a dump of the current lines in the scrollback + screen with their
2536 line attributes
2537
2538 close_shared_ssh_connections
2539
2540 Close all shared SSH connections
2541
2542 See share_connections for details.
2543
2544 debug_config
2545
2546 Show the effective configuration kitty is running with
2547
2548 Default shortcuts using this action: ctrl+shift+f6
2549
2550 show_kitty_env_vars
2551
2552 Show the environment variables that the kitty process sees
2553
2555 goto_layout
2556
2557 Switch to the named layout
2558
2559 For example:
2560
2561 map f1 goto_layout tall
2562
2563 last_used_layout
2564
2565 Go to the previously used layout
2566
2567 layout_action
2568
2569 Perform a layout specific action. See Arrange windows for details
2570
2571 next_layout
2572
2573 Go to the next enabled layout
2574
2575 Default shortcuts using this action: ctrl+shift+l
2576
2577 toggle_layout
2578
2579 Toggle the named layout
2580
2581 Switches to the named layout if another layout is current, otherwise
2582 switches to the last used layout. Useful to "zoom" a window temporarily
2583 by switching to the stack layout. For example:
2584
2585 map f1 toggle_layout stack
2586
2588 remove_marker
2589
2590 Remove a previously created marker
2591
2592 scroll_to_mark
2593
2594 Scroll to the next or previous mark of the specified type
2595
2596 toggle_marker
2597
2598 Toggle the current marker on/off
2599
2600 create_marker
2601
2602 Create a new marker
2603
2605 send_text
2606
2607 Send the specified text to the active window
2608
2609 See send_text for details.
2610
2611 Default shortcuts using this action: ctrl+shift+alt+h
2612
2613 show_kitty_doc
2614
2615 Display the specified kitty documentation, preferring a local copy, if
2616 found.
2617
2618 For example:
2619
2620 # show the config docs
2621 map f1 show_kitty_doc conf
2622 # show the ssh kitten docs
2623 map f1 show_kitty_doc kittens/ssh
2624
2625 Default shortcuts using this action: ctrl+shift+f1
2626
2627 signal_child
2628
2629 Send the specified SIGNAL to the foreground process in the active win‐
2630 dow
2631
2632 For example:
2633
2634 map f1 signal_child SIGTERM
2635
2636 clear_terminal
2637
2638 Clear the terminal
2639
2640 See reset_terminal for details. For example:
2641
2642 # Reset the terminal
2643 map f1 clear_terminal reset active
2644 # Clear the terminal screen by erasing all contents
2645 map f1 clear_terminal clear active
2646 # Clear the terminal scrollback by erasing it
2647 map f1 clear_terminal scrollback active
2648 # Scroll the contents of the screen into the scrollback
2649 map f1 clear_terminal scroll active
2650 # Clear everything up to the line with the cursor
2651 map f1 clear_terminal to_cursor active
2652
2653 Default shortcuts using this action: cmd+k, ctrl+shift+delete
2654
2655 combine
2656
2657 Combine multiple actions and map to a single keypress
2658
2659 The syntax is:
2660
2661 map key combine <separator> action1 <separator> action2 <separator> action3 ...
2662
2663 For example:
2664
2665 map kitty_mod+e combine : new_window : next_layout
2666
2667 disable_ligatures_in
2668
2669 Turn on/off ligatures in the specified window
2670
2671 See disable_ligatures for details
2672
2673 discard_event
2674
2675 Discard this event completely ignoring it
2676
2677 edit_config_file
2678
2679 Edit the kitty.conf config file in your favorite text editor
2680
2681 Default shortcuts using this action: ctrl+shift+f2
2682
2683 input_unicode_character
2684
2685 Input an arbitrary unicode character. See Unicode input for details.
2686
2687 kitten
2688
2689 Run the specified kitten. See Custom kittens for details
2690
2691 Default shortcuts using this action:
2692
2693 • Hints - ctrl+shift+p>h Insert selected hash
2694
2695 • Hints - ctrl+shift+p>l Insert selected line
2696
2697 • Hints - ctrl+shift+p>f Insert selected path
2698
2699 • Hints - ctrl+shift+p>w Insert selected word
2700
2701 • Hints - ctrl+shift+p>shift+f Open selected path
2702
2703 • Hints - ctrl+shift+p>n Open the selected file at the selected line
2704
2705 • Hints - ctrl+shift+p>y Open the selected hyperlink
2706
2707 • Unicode input - ctrl+shift+u Unicode input
2708
2709 kitty_shell
2710
2711 Run the kitty shell to control kitty with commands
2712
2713 Default shortcuts using this action: ctrl+shift+escape
2714
2715 launch
2716
2717 Launch the specified program in a new window/tab/etc.
2718
2719 See The launch command for details
2720
2721 load_config_file
2722
2723 Reload the config file
2724
2725 If mapped without arguments reloads the default config file, otherwise
2726 loads the specified config files, in order. Loading a config file re‐
2727 places all config options. For example:
2728
2729 map f5 load_config_file /path/to/some/kitty.conf
2730
2731 Default shortcuts using this action: ctrl+shift+f5
2732
2733 open_url
2734
2735 Open the specified URL
2736
2737 Default shortcuts using this action: shift+cmd+/
2738
2739 open_url_with_hints
2740
2741 Click a URL using the keyboard
2742
2743 Default shortcuts using this action: ctrl+shift+e
2744
2745 remote_control
2746
2747 Run a remote control command
2748
2749 For example:
2750
2751 map f1 remote_control set-spacing margin=30
2752
2753 See Mapping key presses to remote control commands for details.
2754
2755 set_colors
2756
2757 Change colors in the specified windows
2758
2759 For details, see kitty @ set-colors. For example:
2760
2761 map f5 set_colors --configured /path/to/some/config/file/colors.conf
2762
2763 toggle_macos_secure_keyboard_entry
2764
2765 Toggle macOS secure keyboard entry
2766
2767 Default shortcuts using this action: opt+cmd+s
2768
2769 no_op
2770
2771 Unbind a shortcut
2772
2773 Mapping a shortcut to no_op causes kitty to not intercept the key
2774 stroke anymore, instead passing it to the program running inside it.
2775
2777 mouse_click_url
2778
2779 Click the URL under the mouse
2780
2781 mouse_click_url_or_select
2782
2783 Click the URL under the mouse only if the screen has no selection
2784
2785 mouse_handle_click
2786
2787 Handle a mouse click
2788
2789 Try to perform the specified actions one after the other till one of
2790 them is successful. Supported actions are:
2791
2792 selection - check for a selection and if one exists abort processing
2793 link - if a link exists under the mouse, click it
2794 prompt - if the mouse click happens at a shell prompt move the cursor to the mouse location
2795
2796 For examples, see Mouse actions
2797
2798 mouse_select_command_output
2799
2800 Select clicked command output
2801
2802 Requires Shell integration to work
2803
2804 mouse_selection
2805
2806 Manipulate the selection based on the current mouse position
2807
2808 For examples, see Mouse actions
2809
2810 mouse_show_command_output
2811
2812 Show clicked command output in a pager like less
2813
2814 Requires Shell integration to work
2815
2816 paste_selection
2817
2818 Paste the current primary selection
2819
2820 paste_selection_or_clipboard
2821
2822 Paste the current primary selection or the clipboard if no selection is
2823 present
2824
2826 scroll_end
2827
2828 Scroll to the bottom of the scrollback buffer
2829
2830 Default shortcuts using this action: ctrl+shift+end
2831
2832 scroll_home
2833
2834 Scroll to the top of the scrollback buffer
2835
2836 Default shortcuts using this action: ctrl+shift+home
2837
2838 scroll_line_down
2839
2840 Scroll down by one line
2841
2842 Default shortcuts using this action: ctrl+shift+down
2843
2844 scroll_line_up
2845
2846 Scroll up by one line
2847
2848 Default shortcuts using this action: ctrl+shift+up
2849
2850 scroll_page_down
2851
2852 Scroll down by one page
2853
2854 Default shortcuts using this action: ctrl+shift+page_down
2855
2856 scroll_page_up
2857
2858 Scroll up by one page
2859
2860 Default shortcuts using this action: ctrl+shift+page_up
2861
2862 scroll_prompt_to_bottom
2863
2864 Scroll prompt to the bottom of the screen, filling in extra lines from
2865 the scrollback buffer
2866
2867 scroll_prompt_to_top
2868
2869 Scroll prompt to the top of the screen, filling screen with empty lines
2870
2871 scroll_to_prompt
2872
2873 Scroll to the previous/next shell command prompt
2874
2875 Allows easy jumping from one command to the next. Requires working
2876 Shell integration. Takes a single, optional, number as argument which
2877 is the number of prompts to jump, negative values jump up and positive
2878 values jump down. A value of zero will jump to the last prompt visited
2879 by this action. For example:
2880
2881 map ctrl+p scroll_to_prompt -1 # jump to previous
2882 map ctrl+n scroll_to_prompt 1 # jump to next
2883 map ctrl+o scroll_to_prompt 0 # jump to last visited
2884
2885 Default shortcuts using this action: ctrl+shift+x, ctrl+shift+z
2886
2888 close_other_tabs_in_os_window
2889
2890 Close all the tabs in the current OS window other than the currently
2891 active tab
2892
2893 close_tab
2894
2895 Close the current tab
2896
2897 Default shortcuts using this action: ctrl+shift+q
2898
2899 detach_tab
2900
2901 Detach a tab, moving it to another OS Window
2902
2903 See detaching windows for details.
2904
2905 goto_tab
2906
2907 Go to the specified tab, by number, starting with 1
2908
2909 Zero and negative numbers go to previously active tabs
2910
2911 move_tab_backward
2912
2913 Move the active tab backward
2914
2915 Default shortcuts using this action: ctrl+shift+,
2916
2917 move_tab_forward
2918
2919 Move the active tab forward
2920
2921 Default shortcuts using this action: ctrl+shift+.
2922
2923 new_tab
2924
2925 Create a new tab
2926
2927 Default shortcuts using this action: ctrl+shift+t
2928
2929 new_tab_with_cwd
2930
2931 Create a new tab with working directory for the window in it set to the
2932 same as the active window
2933
2934 next_tab
2935
2936 Make the next tab active
2937
2938 Default shortcuts using this action: ctrl+shift+right
2939
2940 previous_tab
2941
2942 Make the previous tab active
2943
2944 Default shortcuts using this action: ctrl+shift+left
2945
2946 select_tab
2947
2948 Interactively select a tab to switch to
2949
2950 set_tab_title
2951
2952 Change the title of the active tab interactively, by typing in the new
2953 title.
2954
2955 If you specify an argument to this action then that is used as the ti‐
2956 tle instead of asking for it. Use the empty string ("") to reset the
2957 title to default. For example:
2958
2959 # interactive usage
2960 map f1 set_tab_title
2961 # set a specific title
2962 map f2 set_tab_title some title
2963 # reset to default
2964 map f3 set_tab_title ""
2965
2966 Default shortcuts using this action: ctrl+shift+alt+t
2967
2969 close_other_windows_in_tab
2970
2971 Close all windows in the tab other than the currently active window
2972
2973 eighth_window
2974
2975 Focus the eighth window
2976
2977 Default shortcuts using this action: ctrl+shift+8
2978
2979 fifth_window
2980
2981 Focus the fifth window
2982
2983 Default shortcuts using this action: ctrl+shift+5
2984
2985 first_window
2986
2987 Focus the first window
2988
2989 Default shortcuts using this action: ctrl+shift+1
2990
2991 focus_visible_window
2992
2993 Focus a visible window by pressing the number of the window. Window
2994 numbers are displayed
2995
2996 over the windows for easy selection in this mode. See
2997 visual_window_select_characters.
2998
2999 Default shortcuts using this action: ctrl+shift+f7
3000
3001 fourth_window
3002
3003 Focus the fourth window
3004
3005 Default shortcuts using this action: ctrl+shift+4
3006
3007 move_window
3008
3009 Move the window in the specified direction
3010
3011 For example:
3012
3013 map ctrl+left move_window left
3014 map ctrl+down move_window bottom
3015
3016 move_window_backward
3017
3018 Move active window backward (swap it with the previous window)
3019
3020 Default shortcuts using this action: ctrl+shift+b
3021
3022 move_window_forward
3023
3024 Move active window forward (swap it with the next window)
3025
3026 Default shortcuts using this action: ctrl+shift+f
3027
3028 move_window_to_top
3029
3030 Move active window to the top (make it the first window)
3031
3032 Default shortcuts using this action: ctrl+shift+`
3033
3034 neighboring_window
3035
3036 Focus the neighboring window in the current tab
3037
3038 For example:
3039
3040 map ctrl+left neighboring_window left
3041 map ctrl+down neighboring_window bottom
3042
3043 next_window
3044
3045 Focus the next window in the current tab
3046
3047 Default shortcuts using this action: ctrl+shift+]
3048
3049 ninth_window
3050
3051 Focus the ninth window
3052
3053 Default shortcuts using this action: ctrl+shift+9
3054
3055 nth_window
3056
3057 Focus the nth window if positive or the previously active windows if
3058 negative. When the number is larger
3059
3060 than the number of windows focus the last window. For example:
3061
3062 # focus the previously active window
3063 map ctrl+p nth_window -1
3064 # focus the first window
3065 map ctrl+1 nth_window 0
3066
3067 previous_window
3068
3069 Focus the previous window in the current tab
3070
3071 Default shortcuts using this action: ctrl+shift+[
3072
3073 reset_window_sizes
3074
3075 Reset window sizes undoing any dynamic resizing of windows
3076
3077 resize_window
3078
3079 Resize the active window by the specified amount
3080
3081 See Resizing windows for details.
3082
3083 second_window
3084
3085 Focus the second window
3086
3087 Default shortcuts using this action: ctrl+shift+2
3088
3089 seventh_window
3090
3091 Focus the seventh window
3092
3093 Default shortcuts using this action: ctrl+shift+7
3094
3095 sixth_window
3096
3097 Focus the sixth window
3098
3099 Default shortcuts using this action: ctrl+shift+6
3100
3101 swap_with_window
3102
3103 Swap the current window with another window in the current tab, se‐
3104 lected visually. See visual_window_select_characters
3105
3106 Default shortcuts using this action: ctrl+shift+f8
3107
3108 tenth_window
3109
3110 Focus the tenth window
3111
3112 Default shortcuts using this action: ctrl+shift+0
3113
3114 third_window
3115
3116 Focus the third window
3117
3118 Default shortcuts using this action: ctrl+shift+3
3119
3120 change_font_size
3121
3122 Change the font size for the current or all OS Windows
3123
3124 See Font sizes for details.
3125
3126 Default shortcuts using this action: ctrl+shift+minus,
3127 ctrl+shift+equal, ctrl+shift+backspace
3128
3129 close_os_window
3130
3131 Close the currently active OS Window
3132
3133 Default shortcuts using this action: shift+cmd+w
3134
3135 close_window
3136
3137 Close the currently active window
3138
3139 Default shortcuts using this action: ctrl+shift+w
3140
3141 close_window_with_confirmation
3142
3143 Close window with confirmation
3144
3145 Asks for confirmation before closing the window. If you don't want the
3146 confirmation when the window is sitting at a shell prompt (requires
3147 Shell integration), use:
3148
3149 map f1 close_window_with_confirmation ignore-shell
3150
3151 detach_window
3152
3153 Detach a window, moving it to another tab or OS Window
3154
3155 See detaching windows for details.
3156
3157 new_os_window
3158
3159 New OS Window
3160
3161 Default shortcuts using this action: ctrl+shift+n
3162
3163 new_os_window_with_cwd
3164
3165 New OS Window with the same working directory as the currently active
3166 window
3167
3168 new_window
3169
3170 Create a new window
3171
3172 Default shortcuts using this action: ctrl+shift+enter
3173
3174 new_window_with_cwd
3175
3176 Create a new window with working directory same as that of the active
3177 window
3178
3179 nth_os_window
3180
3181 Focus the nth OS window
3182
3183 quit
3184
3185 Quit, closing all windows
3186
3187 set_background_opacity
3188
3189 Set the background opacity for the active OS Window
3190
3191 For example:
3192
3193 map f1 set_background_opacity +0.1
3194 map f2 set_background_opacity -0.1
3195 map f3 set_background_opacity 0.5
3196
3197 Default shortcuts using this action: ctrl+shift+a>l, ctrl+shift+a>1,
3198 ctrl+shift+a>m, ctrl+shift+a>d
3199
3200 start_resizing_window
3201
3202 Resize the active window interactively
3203
3204 See Resizing windows for details.
3205
3206 Default shortcuts using this action: ctrl+shift+r
3207
3208 toggle_fullscreen
3209
3210 Toggle the fullscreen status of the active OS Window
3211
3212 Default shortcuts using this action: ctrl+shift+f11
3213
3214 toggle_maximized
3215
3216 Toggle the maximized status of the active OS Window
3217
3218 Default shortcuts using this action: ctrl+shift+f10
3219
3221 Kovid Goyal
3222
3224 2022, Kovid Goyal
3225
3226
3227
3228
32290.26.5 Nov 07, 2022 KITTY.CONF(5)