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
      • Dependencies
      • Install and run from source
      • Building kitty.app on macOS from source
      • Build and run from source with Nix
      • Debug builds
      • Notes for Linux/macOS packagers
  • 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
          • 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-window-logo
          • set-window-title
          • signal-child
      • kitty @
        • Options
      • kitty @ close-tab
        • Options
      • kitty @ close-window
        • Options
      • kitty @ create-marker
        • Options
      • kitty @ detach-tab
        • Options
      • kitty @ detach-window
        • Options
      • kitty @ disable-ligatures
        • Options
      • kitty @ env
      • kitty @ focus-tab
        • Options
      • kitty @ focus-window
        • Options
      • kitty @ get-colors
        • Options
      • kitty @ get-text
        • Options
      • kitty @ goto-layout
        • Options
      • kitty @ kitten
        • Options
      • kitty @ last-used-layout
        • Options
      • kitty @ launch
        • Options
      • kitty @ ls
        • Options
      • kitty @ new-window
        • Options
      • kitty @ remove-marker
        • Options
      • kitty @ resize-os-window
        • Options
      • kitty @ resize-window
        • Options
      • kitty @ scroll-window
        • Options
      • kitty @ select-window
        • Options
      • kitty @ send-text
        • Options
      • kitty @ set-background-image
        • Options
      • kitty @ set-background-opacity
        • Options
      • kitty @ set-colors
        • Options
      • kitty @ set-enabled-layouts
        • Options
      • kitty @ set-font-size
        • Options
      • kitty @ set-spacing
        • Options
      • kitty @ set-tab-color
        • Options
      • kitty @ set-tab-title
        • Options
      • kitty @ set-window-logo
        • Options
      • kitty @ set-window-title
        • Options
      • kitty @ 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
      • Clone the current shell into a new window
      • Edit files in new kitty windows even over SSH
      • 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
      • Truly convenient SSH
      • Shell integration
    • Detailed list of changes
      • 0.27.1 [future]
      • 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
      • 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
    • 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