mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-11-14 22:57:37 +03:00
233 lines
8.4 KiB
ReStructuredText
233 lines
8.4 KiB
ReStructuredText
:orphan:
|
|
|
|
Glossary
|
|
=========
|
|
|
|
.. glossary::
|
|
|
|
os_window
|
|
kitty has two kinds of windows. Operating System windows, referred to as :term:`OS
|
|
Window <os_window>`, and *kitty windows*. An OS Window consists of one or more kitty
|
|
:term:`tabs <tab>`. Each tab in turn consists of one or more *kitty
|
|
windows* organized in a :term:`layout`.
|
|
|
|
tab
|
|
A *tab* refers to a group of :term:`kitty windows <window>`, organized in
|
|
a :term:`layout`. Every :term:`OS Window <os_window>` contains one or more tabs.
|
|
|
|
layout
|
|
A *layout* is a system of organizing :term:`kitty windows <window>` 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 :doc:`layouts` for details.
|
|
|
|
window
|
|
kitty has two kinds of windows. Operating System windows, referred to as :term:`OS
|
|
Window <os_window>`, and *kitty windows*. An OS Window consists of one or more kitty
|
|
:term:`tabs <tab>`. Each tab in turn consists of one or more *kitty
|
|
windows* organized in a :term:`layout`.
|
|
|
|
overlay
|
|
An *overlay window* is a :term:`kitty window <window>` that is placed on
|
|
top of an existing kitty window, entirely covering it. Overlays are used
|
|
throughout kitty, for example, to display the :ref:`the scrollback buffer <scrollback>`,
|
|
to display :doc:`hints </kittens/hints>`, for :doc:`unicode input
|
|
</kittens/unicode_input>` etc. Normal overlays are meant for short
|
|
duration popups and so are not considered the :italic:`active window`
|
|
when determining the current working directory or getting input text for
|
|
kittens, launch commands, etc. To create an overlay considered as a
|
|
:italic:`main window` use the :code:`overlay-main` argument to
|
|
:doc:`launch`.
|
|
|
|
hyperlinks
|
|
Terminals can have hyperlinks, just like the internet. In kitty you can
|
|
:doc:`control exactly what happens <open_actions>` when clicking on a
|
|
hyperlink, based on the type of link and its URL. See also `Hyperlinks in terminal
|
|
emulators <https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda>`__.
|
|
|
|
kittens
|
|
Small, independent statically compiled command line programs that are designed to run
|
|
inside kitty windows and provide it with lots of powerful and flexible
|
|
features such as viewing images, connecting conveniently to remote
|
|
computers, transferring files, inputting unicode characters, etc.
|
|
|
|
.. _env_vars:
|
|
|
|
Environment variables
|
|
------------------------
|
|
|
|
Variables that influence kitty behavior
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. envvar:: KITTY_CONFIG_DIRECTORY
|
|
|
|
Controls where kitty looks for :file:`kitty.conf` and other configuration
|
|
files. Defaults to :file:`~/.config/kitty`. For full details of the config
|
|
directory lookup mechanism see, :option:`kitty --config`.
|
|
|
|
.. envvar:: KITTY_CACHE_DIRECTORY
|
|
|
|
Controls where kitty stores cache files. Defaults to :file:`~/.cache/kitty`
|
|
or :file:`~/Library/Caches/kitty` on macOS.
|
|
|
|
.. envvar:: KITTY_RUNTIME_DIRECTORY
|
|
|
|
Controls where kitty stores runtime files like sockets. Defaults to
|
|
the :code:`XDG_RUNTIME_DIR` environment variable if that is defined
|
|
otherwise the run directory inside the kitty cache directory is used.
|
|
|
|
.. envvar:: VISUAL
|
|
|
|
The terminal based text editor (such as :program:`vi` or :program:`nano`)
|
|
kitty uses, when, for instance, opening :file:`kitty.conf` in response to
|
|
:sc:`edit_config_file`.
|
|
|
|
.. envvar:: EDITOR
|
|
|
|
Same as :envvar:`VISUAL`. Used if :envvar:`VISUAL` is not set.
|
|
|
|
.. envvar:: GLFW_IM_MODULE
|
|
|
|
Set this to ``ibus`` to enable support for IME under X11.
|
|
|
|
.. envvar:: KITTY_WAYLAND_DETECT_MODIFIERS
|
|
|
|
When set to a non-empty value, kitty attempts to autodiscover XKB modifiers
|
|
under Wayland. This is useful if using non-standard modifiers like hyper. It
|
|
is possible for the autodiscovery to fail; the default Wayland XKB mappings
|
|
are used in this case. See :pull:`3943` for details.
|
|
|
|
.. envvar:: SSH_ASKPASS
|
|
|
|
Specify the program for SSH to ask for passwords. When this is set, :doc:`ssh
|
|
kitten </kittens/ssh>` will use this environment variable by default. See
|
|
:opt:`askpass <kitten-ssh.askpass>` for details.
|
|
|
|
.. envvar:: KITTY_CLONE_SOURCE_CODE
|
|
|
|
Set this to some shell code that will be executed in the cloned window with
|
|
:code:`eval` when :ref:`clone-in-kitty <clone_shell>` is used.
|
|
|
|
.. envvar:: KITTY_CLONE_SOURCE_PATH
|
|
|
|
Set this to the path of a file that will be sourced in the cloned window when
|
|
:ref:`clone-in-kitty <clone_shell>` is used.
|
|
|
|
.. envvar:: KITTY_DEVELOP_FROM
|
|
|
|
Set this to the directory path of the kitty source code and its Python code
|
|
will be loaded from there. Only works with official binary builds.
|
|
|
|
.. envvar:: KITTY_RC_PASSWORD
|
|
|
|
Set this to a pass phrase to use the ``kitten @`` remote control command with
|
|
:opt:`remote_control_password`.
|
|
|
|
|
|
Variables that kitty sets when running child programs
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. envvar:: LANG
|
|
|
|
This is only set on macOS. If the country and language from the macOS user
|
|
settings form an invalid locale, it will be set to :code:`en_US.UTF-8`.
|
|
|
|
.. envvar:: PATH
|
|
|
|
kitty prepends itself to the PATH of its own environment to ensure the
|
|
functions calling :program:`kitty` will work properly.
|
|
|
|
.. envvar:: KITTY_WINDOW_ID
|
|
|
|
An integer that is the id for the kitty :term:`window` the program is running in.
|
|
Can be used with the :doc:`kitty remote control facility <remote-control>`.
|
|
|
|
.. envvar:: 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.
|
|
|
|
.. envvar:: KITTY_PUBLIC_KEY
|
|
|
|
A public key that programs can use to communicate securely with kitty using
|
|
the remote control protocol. The format is: :code:`protocol:key data`.
|
|
|
|
.. envvar:: WINDOWID
|
|
|
|
The id for the :term:`OS Window <os_window>` the program is running in. Only available
|
|
on platforms that have ids for their windows, such as X11 and macOS.
|
|
|
|
.. envvar:: TERM
|
|
|
|
The name of the terminal, defaults to ``xterm-kitty``. See :opt:`term`.
|
|
|
|
.. envvar:: TERMINFO
|
|
|
|
Path to a directory containing the kitty terminfo database.
|
|
|
|
.. envvar:: KITTY_INSTALLATION_DIR
|
|
|
|
Path to the kitty installation directory.
|
|
|
|
.. envvar:: COLORTERM
|
|
|
|
Set to the value ``truecolor`` to indicate that kitty supports 16 million
|
|
colors.
|
|
|
|
.. envvar:: KITTY_LISTEN_ON
|
|
|
|
Set when the :doc:`remote control <remote-control>` facility is enabled and
|
|
the a socket is used for control via :option:`kitty --listen-on` or :opt:`listen_on`.
|
|
Contains the path to the socket. Avoid the need to use :option:`kitten @ --to` when
|
|
issuing remote control commands. Can also be a file descriptor of the form
|
|
fd:num instead of a socket address, in which case, remote control
|
|
communication should proceed over the specified file descriptor.
|
|
|
|
.. envvar:: KITTY_PIPE_DATA
|
|
|
|
Set to data describing the layout of the screen when running child
|
|
programs using :option:`launch --stdin-source` with the contents of the
|
|
screen/scrollback piped to them.
|
|
|
|
.. envvar:: 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
|
|
:opt:`command_on_bell`.
|
|
|
|
.. envvar:: KITTY_COMMON_OPTS
|
|
|
|
Set with the values of some common kitty options when running
|
|
kittens, so kittens can use them without needing to load :file:`kitty.conf`.
|
|
|
|
.. envvar:: KITTY_SHELL_INTEGRATION
|
|
|
|
Set when enabling :ref:`shell_integration`. It is automatically removed by
|
|
the shell integration scripts.
|
|
|
|
.. envvar:: ZDOTDIR
|
|
|
|
Set when enabling :ref:`shell_integration` with :program:`zsh`, allowing
|
|
:program:`zsh` to automatically load the integration script.
|
|
|
|
.. envvar:: XDG_DATA_DIRS
|
|
|
|
Set when enabling :ref:`shell_integration` with :program:`fish`, allowing
|
|
:program:`fish` to automatically load the integration script.
|
|
|
|
.. envvar:: ENV
|
|
|
|
Set when enabling :ref:`shell_integration` with :program:`bash`, allowing
|
|
:program:`bash` to automatically load the integration script.
|
|
|
|
.. envvar:: KITTY_OS
|
|
|
|
Set when using the include directive in kitty.conf. Can take values:
|
|
``linux``, ``macos``, ``bsd``.
|
|
|
|
.. envvar:: KITTY_HOLD
|
|
|
|
Set to ``1`` when kitty is running a shell because of the ``--hold`` flag. Can
|
|
be used to specialize shell behavior in the shell rc files as desired.
|