kitten-quick-access-terminal(1) kitty kitten-quick-access-terminal(1)

kitten-quick-access-terminal - A quick access terminal window that you can bring up instantly with a keypress or a command.

Added in version 0.42.0: See here for what platforms it works on.

This kitten can be used to make a quick access terminal, that appears and disappears at a key press. To do so use the following command:

kitten quick-access-terminal

Run this command in a terminal, and a quick access kitty window will show up at the top of your screen. Run it again, and the window will be hidden.

To make the terminal appear and disappear at a key press:

In Linux, simply assign the above command to a global shortcut in your window manager. In macOS, go to System Preferences->Keyboard->Keyboard Shortcuts->Services->General and set a shortcut for the Quick access to kitty entry.

You can configure the appearance and behavior of the quick access window by creating a quick-access-terminal.conf file in your kitty config folder. In particular, you can use the kitty_conf option to change various kitty settings, just for the quick access window.

NOTE:

This kitten uses the panel kitten under the hood. You can use the techniques described there for remote controlling the quick access window, remember to add kitty_override allow_remote_control=socket-only and kitty_override listen_on=unix:/tmp/whatever to quick-access-terminal.conf.

See below for the supported configuration directives:

lines 25

The number of lines shown in the window, when the window is along the top or bottom edges of the screen. If it has the suffix px then it sets the height of the window in pixels instead of lines.

columns 80

The number of columns shown in the window, when the window is along the left or right edges of the screen. If it has the suffix px then it sets the width of the window in pixels instead of columns.

edge top

Which edge of the screen to place the window along

background_opacity 0.85

The background opacity of the window. This works the same as the kitty option of the same name, it is present here as it has a different default value for the quick access terminal.

hide_on_focus_loss no

Hide the window when it loses keyboard focus automatically. Using this option will force focus_policy to on-demand.

margin_left 0

Set the left margin for the window, in pixels. Has no effect for windows on the right edge of the screen.

margin_right 0

Set the right margin for the window, in pixels. Has no effect for windows on the left edge of the screen.

margin_top 0

Set the top margin for the window, in pixels. Has no effect for windows on the bottom edge of the screen.

margin_bottom 0

Set the bottom margin for the window, in pixels. Has no effect for windows on the top edge of the screen.

Path to config file to use for kitty when drawing the window. Can be specified multiple times. By default, the normal kitty.conf is used. Relative paths are resolved with respect to the kitty config directory.

Override individual kitty configuration options, can be specified multiple times. Syntax: name=value. For example: font_size=20.

app_id kitty-quick-access

The Wayland APP_ID assigned to the quick access window (Linux only)

start_as_hidden no

Whether to start the quick access terminal hidden. Useful if you are starting it as part of system startup.

focus_policy exclusive

How to manage window focus. A value of exclusive means prevent other windows from getting focus. However, whether this works is entirely dependent on the compositor/desktop environment. It does not have any effect on macOS and KDE, for example. Note that on sway using on-demand means the compositor will not focus the window when it appears until you click on it, which is why the default is set to exclusive.

The source code for this kitten is available on GitHub.

kitten quick_access_terminal [options] [cmdline-to-run ...]

A quick access terminal window that you can bring up instantly with a keypress or a command.

Specify a path to the configuration file(s) to use. All configuration files are merged onto the builtin quick-access-terminal.conf, overriding the builtin values. This option can be specified multiple times to read multiple configuration files in sequence, which are merged. Use the special value NONE to not load any config file.

If this option is not specified, config files are searched for in the order: $XDG_CONFIG_HOME/kitty/quick-access-terminal.conf, ~/.config/kitty/quick-access-terminal.conf, $XDG_CONFIG_DIRS/kitty/quick-access-terminal.conf. The first one that exists is used as the config file.

If the environment variable KITTY_CONFIG_DIRECTORY is specified, that directory is always used and the above searching does not happen.

If /etc/xdg/kitty/quick-access-terminal.conf exists, it is merged before (i.e. with lower priority) than any user config files. It can be used to specify system-wide defaults for all users. You can use either - or /dev/stdin to read the config from STDIN.

Override individual configuration options, can be specified multiple times. Syntax: name=value. For example: -o lines=12
Detach from the controlling terminal, if any, running in an independent child process, the parent process exits immediately.
Path to a log file to store STDOUT/STDERR when using --detach
The unique name of this quick access terminal Use a different name if you want multiple such terminals. Default: quick-access
For debugging interactions with the compositor/window manager.

You can download a sample quick-access-terminal.conf file with all default settings and comments describing each setting by clicking: sample quick-access-terminal.conf.

Kovid Goyal

2025, Kovid Goyal

May 11, 2025 0.42.0