Contents Menu Expand Light mode Dark mode Auto light/dark mode
kitty
Logo
  • Quickstart
    • Install kitty
      • Binary install
      • Manually installing
      • Desktop integration on Linux
      • Customizing the installation
      • Uninstalling
      • Building from source
    • Build from source
      • Building in debug mode
        • Building the documentation
        • Dependencies
        • Build and run from source with Nix
        • Notes for Linux/macOS packagers
        • Cross compilation
  • Overview
    • Design philosophy
    • Tabs and Windows
      • Scrolling
      • Tabs
      • Windows
    • Other keyboard shortcuts
    • Configuring kitty
      • kitty.conf
        • Fonts
        • Cursor customization
        • Scrollback
        • Mouse
          • Mouse actions
        • Performance tuning
        • Terminal bell
        • Window layout
        • Tab bar
        • Color scheme
          • The color table
        • Advanced
        • OS specific tweaks
        • Keyboard shortcuts
          • Clipboard
          • Scrolling
          • Window management
          • Tab management
          • Layout management
          • Font sizes
          • Select and act on visible text
          • Miscellaneous
        • Sample kitty.conf
        • All mappable actions
          • Mappable actions
          • Copy/paste
          • Debugging
          • Layouts
          • Marks
          • Miscellaneous
          • Mouse actions
          • Scrolling
          • Tab management
          • Window management
    • Layouts
      • Arrange windows
      • The Stack Layout
      • The Tall Layout
      • The Fat Layout
      • The Grid Layout
      • The Splits Layout
      • The Horizontal Layout
      • The Vertical Layout
      • Resizing windows
    • Extending kitty
      • Extend with kittens
        • icat
          • Source code for icat
          • Command Line Interface
            • Options
        • kitty-diff
          • Major Features
          • Installation
          • Usage
          • Keyboard controls
          • Integrating with git
          • Why does this work only in kitty?
          • Configuration
          • Diffing
          • Colors
          • Keyboard shortcuts
          • Source code for diff
          • Command Line Interface
            • Options
          • Sample diff.conf
        • Unicode input
          • Source code for unicode_input
          • Command Line Interface
            • Options
        • Changing kitty colors
          • How it works
          • Using your own themes
          • Contributing new themes
          • Changing the theme non-interactively
          • Source code for themes
          • Command Line Interface
            • Options
        • Hints
          • Completely customizing the matching and actions of the kitten
          • Source code for hints
          • Command Line Interface
            • Options
        • Remote files
        • Hyperlinked grep
        • Transfer files
          • Basic usage
          • Avoiding the confirmation prompt
          • Delta transfers
          • Source code for transfer
          • Command Line Interface
            • Options
        • Truly convenient SSH
          • A real world example
          • How it works
          • Host bootstrap configuration
          • Login shell environment
          • SSH configuration
          • The copy command
            • Options
          • Copying terminfo files manually
        • Custom kittens
          • kitty API to use with kittens
          • Passing arguments to kittens
          • Passing the contents of the screen to the kitten
          • Using kittens to script kitty, without any terminal UI
          • Sending mouse events
          • Debugging kittens
          • Adding options to kittens
          • Kittens created by kitty users
        • broadcast
          • Source code for broadcast
          • Command Line Interface
            • Options
        • clipboard
          • Source code for clipboard
          • Command Line Interface
            • Options
        • Draw a GPU accelerated dock panel on your desktop
          • Source code for panel
          • Command Line Interface
            • Options
        • Query terminal
          • Source code for query_terminal
          • Command Line Interface
            • Options
    • Remote control
      • Control kitty from scripts
      • Tutorial
      • Remote control via a socket
      • The builtin kitty shell
      • Allowing only some windows to control kitty
      • Fine grained permissions for remote control
        • Customizing authorization with your own program
      • Mapping key presses to remote control commands
      • Broadcasting what you type to all kitty windows
      • The remote control protocol
      • Matching windows and tabs
        • The kitty remote control protocol
          • Encrypted communication
          • Async and streaming requests
          • close-tab
          • close-window
          • create-marker
          • detach-tab
          • detach-window
          • disable-ligatures
          • env
          • focus-tab
          • focus-window
          • get-colors
          • get-text
          • goto-layout
          • kitten
          • last-used-layout
          • launch
          • ls
          • new-window
          • remove-marker
          • resize-os-window
          • resize-window
          • scroll-window
          • select-window
          • send-text
          • set-background-image
          • set-background-opacity
          • set-colors
          • set-enabled-layouts
          • set-font-size
          • set-spacing
          • set-tab-color
          • set-tab-title
          • set-user-vars
          • set-window-logo
          • set-window-title
          • signal-child
      • kitten @
        • Options
      • kitten @ close-tab
        • Options
      • kitten @ close-window
        • Options
      • kitten @ create-marker
        • Options
      • kitten @ detach-tab
        • Options
      • kitten @ detach-window
        • Options
      • kitten @ disable-ligatures
        • Options
      • kitten @ env
      • kitten @ focus-tab
        • Options
      • kitten @ focus-window
        • Options
      • kitten @ get-colors
        • Options
      • kitten @ get-text
        • Options
      • kitten @ goto-layout
        • Options
      • kitten @ kitten
        • Options
      • kitten @ last-used-layout
        • Options
      • kitten @ launch
        • Options
      • kitten @ ls
        • Options
      • kitten @ new-window
        • Options
      • kitten @ remove-marker
        • Options
      • kitten @ resize-os-window
        • Options
      • kitten @ resize-window
        • Options
      • kitten @ scroll-window
        • Options
      • kitten @ select-window
        • Options
      • kitten @ send-text
        • Options
      • kitten @ set-background-image
        • Options
      • kitten @ set-background-opacity
        • Options
      • kitten @ set-colors
        • Options
      • kitten @ set-enabled-layouts
        • Options
      • kitten @ set-font-size
        • Options
      • kitten @ set-spacing
        • Options
      • kitten @ set-tab-color
        • Options
      • kitten @ set-tab-title
        • Options
      • kitten @ set-user-vars
        • Options
      • kitten @ set-window-logo
        • Options
      • kitten @ set-window-title
        • Options
      • kitten @ signal-child
        • Options
    • Startup Sessions
    • Creating tabs/windows
      • The launch command
      • The piping environment
      • Special arguments
      • Watching launched windows
      • Finding executables
      • Syntax reference
        • Options
    • Mouse features
      • Scripting the mouse click
        • Matching criteria
        • Scripting the opening of files with kitty on macOS
    • Font control
    • The scrollback buffer
    • Integration with shells
      • Shell integration
      • Features
      • Configuration
        • More ways to browse command output
      • How it works
      • Shell integration over SSH
      • Shell integration in a container
      • Clone the current shell into a new window
      • Edit files in new kitty windows even over SSH
      • Using shell integration in sub-shells, containers, etc.
      • Manual shell integration
      • Integration with other shells
      • Notes for shell developers
    • Multiple copy/paste buffers
    • Marks
      • Mark text on screen
      • Examples
      • Creating markers dynamically
      • Scrolling to marks
      • The full syntax for creating marks
      • Arbitrary marker functions
  • Frequently Asked Questions
    • Some special symbols are rendered small/truncated in kitty?
    • Using a color theme with a background color does not work well in vim?
    • I get errors about the terminal being unknown or opening the terminal failing or functional keys like arrow keys don’t work?
    • I cannot use the key combination X in program Y?
    • How do I change the colors in a running kitty instance?
    • How do I specify command line options for kitty on macOS?
    • I catted a binary file and now kitty is hung?
    • kitty is not able to use my favorite font?
    • How can I assign a single global shortcut to bring up the kitty terminal?
    • I do not like the kitty icon!
    • How do I map key presses in kitty to different keys in the terminal program?
    • How do I open a new window or tab with the same working directory as the current window?
    • Things behave differently when running kitty from system launcher vs. from another terminal?
    • I am using tmux and have a problem
    • I opened and closed a lot of windows/tabs and top shows kitty’s memory usage is very high?
    • Why does kitty sometimes start slowly on my Linux system?
  • Support kitty development ❤️
  • Performance
  • Changelog
    • Recent major new features
      • File transfer over the tty device
      • Truly convenient SSH
    • Detailed list of changes
      • 0.31.0 [2023-11-08]
      • 0.30.1 [2023-10-05]
      • 0.30.0 [2023-09-18]
      • 0.29.2 [2023-07-27]
      • 0.29.1 [2023-07-17]
      • 0.29.0 [2023-07-10]
      • 0.28.1 [2023-04-21]
      • 0.28.0 [2023-04-15]
      • 0.27.1 [2023-02-07]
      • 0.27.0 [2023-01-31]
      • 0.26.5 [2022-11-07]
      • 0.26.4 [2022-10-17]
      • 0.26.3 [2022-09-22]
      • 0.26.2 [2022-09-05]
      • 0.26.1 [2022-08-30]
      • 0.26.0 [2022-08-29]
      • 0.25.2 [2022-06-07]
      • 0.25.1 [2022-05-26]
      • 0.25.0 [2022-04-11]
      • 0.24.4 [2022-03-03]
      • 0.24.3 [2022-02-28]
      • 0.24.2 [2022-02-03]
      • 0.24.1 [2022-01-06]
      • 0.24.0 [2022-01-04]
      • 0.23.1 [2021-08-17]
      • 0.23.0 [2021-08-16]
      • 0.22.2 [2021-08-02]
      • 0.22.1 [2021-07-31]
      • 0.22.0 [2021-07-26]
      • 0.21.2 [2021-06-28]
      • 0.21.1 [2021-06-14]
      • 0.21.0 [2021-06-12]
      • 0.20.3 [2021-05-06]
      • 0.20.2 [2021-04-28]
      • 0.20.1 [2021-04-19]
      • 0.20.0 [2021-04-19]
      • 0.19.3 [2020-12-19]
      • 0.19.2 [2020-11-13]
      • 0.19.1 [2020-10-06]
      • 0.19.0 [2020-10-04]
      • 0.18.3 [2020-08-11]
      • 0.18.2 [2020-07-28]
      • 0.18.1 [2020-06-23]
      • 0.18.0 [2020-06-20]
      • 0.17.4 [2020-05-09]
      • 0.17.3 [2020-04-23]
      • 0.17.2 [2020-03-29]
      • 0.17.1 [2020-03-24]
      • 0.17.0 [2020-03-24]
      • 0.16.0 [2020-01-28]
      • 0.15.1 [2019-12-21]
      • 0.15.0 [2019-11-27]
      • 0.14.6 [2019-09-25]
      • 0.14.5 [2019-09-23]
      • 0.14.4 [2019-08-31]
      • 0.14.3 [2019-07-29]
      • 0.14.2 [2019-06-09]
      • 0.14.1 [2019-05-29]
      • 0.14.0 [2019-05-24]
      • 0.13.3 [2019-01-19]
      • 0.13.2 [2019-01-04]
      • 0.13.1 [2018-12-06]
      • 0.13.0 [2018-12-05]
      • 0.12.3 [2018-09-29]
      • 0.12.2 [2018-09-24]
      • 0.12.1 [2018-09-08]
      • 0.12.0 [2018-09-01]
      • 0.11.3 [2018-07-10]
      • 0.11.2 [2018-07-01]
      • 0.11.1 [2018-06-17]
      • 0.11.0 [2018-06-12]
      • 0.10.1 [2018-05-24]
      • 0.10.0 [2018-05-21]
      • 0.9.1 [2018-05-05]
      • 0.9.0 [2018-04-15]
      • 0.8.4 [2018-03-31]
      • 0.8.3 [2018-03-29]
      • 0.8.2 [2018-03-17]
      • 0.8.1 [2018-03-09]
      • 0.8.0 [2018-02-24]
      • 0.7.1 [2018-01-31]
      • 0.7.0 [2018-01-24]
      • 0.6.1 [2017-12-28]
      • 0.6.0 [2017-12-18]
      • 0.5.1 [2017-12-01]
      • 0.5.0 [2017-11-19]
      • 0.4.2 [2017-10-23]
      • 0.4.0 [2017-10-22]
  • Integrations with other tools
    • Image and document viewers
    • System and data visualisation tools
    • Editor integration
    • Scrollback manipulation
    • Miscellaneous
  • Terminal protocol extensions
    • Colored and styled underlines
    • Terminal graphics protocol
      • Getting the window size
      • A minimal example
      • The graphics escape code
      • Transferring pixel data
        • RGB and RGBA data
        • PNG data
        • Compression
        • The transmission medium
          • Local client
          • Remote client
        • Querying support and available transmission mediums
      • Display images on screen
        • Controlling displayed image layout
        • Unicode placeholders
        • Relative placements
      • Deleting images
      • Suppressing responses from the terminal
      • Requesting image ids from the terminal
      • Animation
        • Transferring animation frame data
        • Controlling animations
        • Composing animation frames
      • Image persistence and storage quotas
      • Control data reference
      • Interaction with other terminal actions
    • Comprehensive keyboard handling in terminals
      • Quickstart
      • An overview
        • Key codes
        • Modifiers
        • Event types
        • Text as code points
        • Non-Unicode keys
      • Progressive enhancement
        • Disambiguate escape codes
        • Report event types
        • Report alternate keys
        • Report all keys as escape codes
        • Report associated text
      • Detection of support for this protocol
      • Legacy key event encoding
        • Legacy functional keys
        • Legacy text keys
      • Functional key definitions
      • Legacy ctrl mapping of ASCII keys
      • Bugs in fixterms
      • Why xterm’s modifyOtherKeys should not be used
    • File transfer over the TTY
      • Overall design
        • Sending files to the computer running the terminal emulator
        • Receiving files from the computer running terminal emulator
      • Canceling a session
      • Quieting responses from the terminal
      • File metadata
      • Symbolic and hard links
        • Sending links to the terminal emulator
        • Receiving links from the terminal emulator
      • Transmitting binary deltas
        • Sending to the terminal emulator
        • Receiving from the terminal emulator
        • The format of signatures and deltas
      • Compression
      • Bypassing explicit user authorization
      • Encoding of transfer commands as escape codes
    • Desktop notifications
    • Mouse pointer shapes
      • Setting the pointer shape
      • Pushing and popping shapes onto the stack
      • Querying support
      • Interaction with other terminal features
      • Pointer shape names
      • Legacy xterm compatibility
    • Unscrolling the screen
    • Saving and restoring colors
    • Setting text styles/colors in arbitrary regions of the screen
    • Copying all data types to the clipboard
      • Reading data from the system clipboard
      • Writing data to the system clipboard
      • Support for terminal multiplexers
  • Press mentions of kitty
    • Video reviews
Back to top

Press mentions of kitty#

Python Bytes 272 (Feb 2022)

A podcast demoing some of kitty’s coolness

Console #88 (Jan 2022)

An interview with Kovid about kitty

Video reviews#

Review (Jan 2021)

A kitty review by distrotube

Review (Dec 2020)

A kitty review/intro by TechHut

Previous
Copying all data types to the clipboard
Copyright © 2023, Kovid Goyal
Made with Furo
On this page
  • Press mentions of kitty
    • Video reviews