Glossary

os_window

kitty has two kinds of windows. Operating System windows, refered to as OS Window, and kitty windows. An OS Window consists of one or more kitty tabs. Each tab in turn consists of one or more kitty windows organized in a layout.

tab

A tab refers to a group of kitty windows, organized in a layout. Every OS Window contains one or more tabs.

layout

A layout is a system of organizing kitty windows in groups inside a tab. The layout automatically maintains the size and position of the windows, think of a layout as a tiling window manager for the terminal. See Arrange windows for details.

window

kitty has two kinds of windows. Operating System windows, refered to as OS Window, and kitty windows. An OS Window consists of one or more kitty tabs. Each tab in turn consists of one or more kitty windows organized in a layout.

overlay

An overlay window is a kitty window that is placed on top of an existing kitty window, entirely covering it. Overlays are used throught kitty, for example, to display the the scrollback buffer, to display hints, for unicode input etc.

Terminals can have hyperlinks, just like the internet. In kitty you can control exactly what happens when clicking on a hyperlink, based on the type of link and its URL.

Environment variables

Variables that influence kitty behavior

KITTY_CONFIG_DIRECTORY

Controls where kitty looks for kitty.conf and other configuration files. Defaults to ~/.config/kitty. For full details of the config directory lookup mechanism see, kitty --config.

VISUAL

The terminal editor (such as vi or nano) kitty uses, when, for instance, opening kitty.conf in response to ctrl+shift+f2.

EDITOR

Same as VISUAL. Used if VISUAL is not set.

Variables that kitty sets when running child programs

LANG

This is set only on macOS, and only if the country and language from the macOS user settings form a valid locale.

KITTY_WINDOW_ID

An integer that is the id for the kitty window the program is running in. Can be used with the kitty remote control facility.

KITTY_PID

An integer that is the process id for the kitty process in which the program is running. Allows programs to tell kitty to reload its config by sending it the SIGUSR1 signal.

WINDOWID

The id for the OS Window the program is running in. Only available on platforms that have ids for their windows, such as X11 and macOS.

TERM

The name of the terminal, defaults to xterm-kitty. See term.

TERMINFO

Path to a directory containing the kitty terminfo database.

COLORTERM

Set to the value truecolor to indicate that kitty supports 16 million colors.

KITTY_LISTEN_ON

Set when the remote control facility is enabled and the a socket is used for control via kitty --listen-on or listen_on. Contains the path to the socket. Avoids needs to use kitty @ --to when issuing remote control commands.

KITTY_PIPE_DATA

Set to data describing the layout of the screen when running child programs using launch --stdin-source with the contents of the screen/scrollback piped to them.

KITTY_CHILD_CMDLINE

Set to the command line of the child process running in the kitty window when calling the notification callback program on terminal bell, see command_on_bell.

KITTY_COMMON_OPTS

Set with the values of some common kitty options when running kittens, so kittens can use them without needing to load kitty.conf.