https://sw.kovidgoyal.net/kitty/ [ ] [ ] Hide navigation sidebar Hide table of contents sidebar Toggle site navigation sidebar kitty Toggle Light / Dark / Auto color theme Toggle table of contents sidebar Logo [ ] * Quickstart[ ] Toggle child pages in navigation + Install kitty[ ] Toggle child pages in navigation o Binary install o Manually installing o Desktop integration on Linux o Customizing the installation o Uninstalling o Building from source + Build from source[ ] Toggle child pages in navigation o Dependencies o Install and run from source o Building kitty.app on macOS from source o Build and run from source with Nix o Notes for Linux/macOS packagers[ ] Toggle child pages in navigation # Changing defaults for packages * Overview[ ] Toggle child pages in navigation + Design philosophy + Tabs and Windows[ ] Toggle child pages in navigation o Scrolling o Tabs o Windows + Other keyboard shortcuts + Configuring kitty[ ] Toggle child pages in navigation o kitty.conf o Fonts o Cursor customization o Scrollback o Mouse[ ] Toggle child pages in navigation # Mouse actions o Performance tuning o Terminal bell o Window layout o Tab bar o Color scheme[ ] Toggle child pages in navigation # The color table o Advanced o OS specific tweaks o Keyboard shortcuts[ ] Toggle child pages in navigation # Clipboard # Scrolling # Window management # Tab management # Layout management # Font sizes # Select and act on visible text # Miscellaneous o Sample kitty.conf o All mappable actions[ ] Toggle child pages in navigation # Mappable actions # Copy/paste # Debugging # Layouts # Marks # Miscellaneous # Mouse actions # Scrolling # Tab management # Window management + Layouts[ ] Toggle child pages in navigation o Arrange windows o The Stack Layout o The Tall Layout o The Fat Layout o The Grid Layout o The Splits Layout o The Horizontal Layout o The Vertical Layout o Resizing windows + Extending kitty[ ] Toggle child pages in navigation o Extend with kittens[ ] Toggle child pages in navigation # icat[ ] Toggle child pages in navigation @ Source code for icat @ Command Line Interface[ ] Toggle child pages in navigation - Options # kitty-diff[ ] Toggle child pages in navigation @ 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[ ] Toggle child pages in navigation - Options @ Sample diff.conf # Unicode input[ ] Toggle child pages in navigation @ Source code for unicode_input @ Command Line Interface[ ] Toggle child pages in navigation - Options # Changing kitty colors[ ] Toggle child pages in navigation @ How it works @ Using your own themes @ Contributing new themes @ Changing the theme non-interactively @ Source code for themes @ Command Line Interface[ ] Toggle child pages in navigation - Options # Hints[ ] Toggle child pages in navigation @ Completely customizing the matching and actions of the kitten @ Source code for hints @ Command Line Interface[ ] Toggle child pages in navigation - Options # Remote files # Hyperlinked grep # Transfer files[ ] Toggle child pages in navigation @ Basic usage @ Avoiding the confirmation prompt @ Delta transfers @ Source code for transfer @ Command Line Interface[ ] Toggle child pages in navigation - Options # Custom kittens[ ] Toggle child pages in navigation @ 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[ ] Toggle child pages in navigation @ Source code for broadcast @ Command Line Interface[ ] Toggle child pages in navigation - Options # clipboard[ ] Toggle child pages in navigation @ Source code for clipboard @ Command Line Interface[ ] Toggle child pages in navigation - Options # Draw a GPU accelerated dock panel on your desktop[ ] Toggle child pages in navigation @ Source code for panel @ Command Line Interface[ ] Toggle child pages in navigation - Options # Query terminal[ ] Toggle child pages in navigation @ Source code for query_terminal @ Command Line Interface[ ] Toggle child pages in navigation - Options + Remote control[ ] Toggle child pages in navigation o Control kitty from scripts o Tutorial o The builtin kitty shell o Allowing only some windows to control kitty o Mapping key presses to remote control commands o Broadcasting what you type to all kitty windows o The remote control protocol[ ] Toggle child pages in navigation # The kitty remote control protocol[ ] Toggle child pages in navigation @ 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 o kitty @[ ] Toggle child pages in navigation # Options o kitty @ close-tab[ ] Toggle child pages in navigation # Options o kitty @ close-window[ ] Toggle child pages in navigation # Options o kitty @ create-marker[ ] Toggle child pages in navigation # Options o kitty @ detach-tab[ ] Toggle child pages in navigation # Options o kitty @ detach-window[ ] Toggle child pages in navigation # Options o kitty @ disable-ligatures[ ] Toggle child pages in navigation # Options o kitty @ env o kitty @ focus-tab[ ] Toggle child pages in navigation # Options o kitty @ focus-window[ ] Toggle child pages in navigation # Options o kitty @ get-colors[ ] Toggle child pages in navigation # Options o kitty @ get-text[ ] Toggle child pages in navigation # Options o kitty @ goto-layout[ ] Toggle child pages in navigation # Options o kitty @ kitten[ ] Toggle child pages in navigation # Options o kitty @ last-used-layout[ ] Toggle child pages in navigation # Options o kitty @ launch[ ] Toggle child pages in navigation # Options o kitty @ ls[ ] Toggle child pages in navigation # Options o kitty @ new-window[ ] Toggle child pages in navigation # Options o kitty @ remove-marker[ ] Toggle child pages in navigation # Options o kitty @ resize-os-window[ ] Toggle child pages in navigation # Options o kitty @ resize-window[ ] Toggle child pages in navigation # Options o kitty @ scroll-window[ ] Toggle child pages in navigation # Options o kitty @ select-window[ ] Toggle child pages in navigation # Options o kitty @ send-text[ ] Toggle child pages in navigation # Options o kitty @ set-background-image[ ] Toggle child pages in navigation # Options o kitty @ set-background-opacity[ ] Toggle child pages in navigation # Options o kitty @ set-colors[ ] Toggle child pages in navigation # Options o kitty @ set-enabled-layouts[ ] Toggle child pages in navigation # Options o kitty @ set-font-size[ ] Toggle child pages in navigation # Options o kitty @ set-spacing[ ] Toggle child pages in navigation # Options o kitty @ set-tab-color[ ] Toggle child pages in navigation # Options o kitty @ set-tab-title[ ] Toggle child pages in navigation # Options o kitty @ set-window-logo[ ] Toggle child pages in navigation # Options o kitty @ set-window-title[ ] Toggle child pages in navigation # Options o kitty @ signal-child[ ] Toggle child pages in navigation # Options + Startup Sessions + Creating tabs/windows[ ] Toggle child pages in navigation o The launch command o The piping environment o Special arguments o Watching launched windows o Finding executables o Syntax reference[ ] Toggle child pages in navigation # Options + Mouse features[ ] Toggle child pages in navigation o Scripting the mouse click[ ] Toggle child pages in navigation # Matching criteria # Scripting the opening of files with kitty on macOS + Font control + The scrollback buffer + Integration with shells[ ] Toggle child pages in navigation o Shell integration o Features o Configuration[ ] Toggle child pages in navigation # More ways to browse command output o How it works o Manual shell integration o Integration with other shells o Notes for shell developers + Multiple copy/paste buffers + Marks[ ] Toggle child pages in navigation o Mark text on screen o Examples o Creating markers dynamically o Scrolling to marks o The full syntax for creating marks o Arbitrary marker functions * Frequently Asked Questions[ ] Toggle child pages in navigation + 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 when SSHing into a different computer? + Keys such as arrow keys, backspace, delete, home/end, etc. do not work when using su or sudo? + 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[ ] Toggle child pages in navigation + Recent major new features[ ] Toggle child pages in navigation o A demo video o Shell integration o Logos for windows o Visual keyboard based window select + Detailed list of changes[ ] Toggle child pages in navigation o 0.24.4 [2022-03-03] o 0.24.3 [2022-02-28] o 0.24.2 [2022-02-03] o 0.24.1 [2022-01-06] o 0.24.0 [2022-01-04] o 0.23.1 [2021-08-17] o 0.23.0 [2021-08-16] o 0.22.2 [2021-08-02] o 0.22.1 [2021-07-31] o 0.22.0 [2021-07-26] o 0.21.2 [2021-06-28] o 0.21.1 [2021-06-14] o 0.21.0 [2021-06-12] o 0.20.3 [2021-05-06] o 0.20.2 [2021-04-28] o 0.20.1 [2021-04-19] o 0.20.0 [2021-04-19] o 0.19.3 [2020-12-19] o 0.19.2 [2020-11-13] o 0.19.1 [2020-10-06] o 0.19.0 [2020-10-04] o 0.18.3 [2020-08-11] o 0.18.2 [2020-07-28] o 0.18.1 [2020-06-23] o 0.18.0 [2020-06-20] o 0.17.4 [2020-05-09] o 0.17.3 [2020-04-23] o 0.17.2 [2020-03-29] o 0.17.1 [2020-03-24] o 0.17.0 [2020-03-24] o 0.16.0 [2020-01-28] o 0.15.1 [2019-12-21] o 0.15.0 [2019-11-27] o 0.14.6 [2019-09-25] o 0.14.5 [2019-09-23] o 0.14.4 [2019-08-31] o 0.14.3 [2019-07-29] o 0.14.2 [2019-06-09] o 0.14.1 [2019-05-29] o 0.14.0 [2019-05-24] o 0.13.3 [2019-01-19] o 0.13.2 [2019-01-04] o 0.13.1 [2018-12-06] o 0.13.0 [2018-12-05] o 0.12.3 [2018-09-29] o 0.12.2 [2018-09-24] o 0.12.1 [2018-09-08] o 0.12.0 [2018-09-01] o 0.11.3 [2018-07-10] o 0.11.2 [2018-07-01] o 0.11.1 [2018-06-17] o 0.11.0 [2018-06-12] o 0.10.1 [2018-05-24] o 0.10.0 [2018-05-21] o 0.9.1 [2018-05-05] o 0.9.0 [2018-04-15] o 0.8.4 [2018-03-31] o 0.8.3 [2018-03-29] o 0.8.2 [2018-03-17] o 0.8.1 [2018-03-09] o 0.8.0 [2018-02-24] o 0.7.1 [2018-01-31] o 0.7.0 [2018-01-24] o 0.6.1 [2017-12-28] o 0.6.0 [2017-12-18] o 0.5.1 [2017-12-01] o 0.5.0 [2017-11-19] o 0.4.2 [2017-10-23] o 0.4.0 [2017-10-22] * Integrations with other tools[ ] Toggle child pages in navigation + Image and document viewers + System and data visualisation tools + Editor integration + Scrollback manipulation + Miscellaneous * Terminal protocol extensions[ ] Toggle child pages in navigation + Colored and styled underlines + Terminal graphics protocol[ ] Toggle child pages in navigation o Getting the window size o A minimal example o The graphics escape code o Transferring pixel data[ ] Toggle child pages in navigation # RGB and RGBA data # PNG data # Compression # The transmission medium[ ] Toggle child pages in navigation @ Local client @ Remote client # Querying support and available transmission mediums o Display images on screen[ ] Toggle child pages in navigation # Controlling displayed image layout o Deleting images o Suppressing responses from the terminal o Requesting image ids from the terminal o Animation[ ] Toggle child pages in navigation # Transferring animation frame data # Controlling animations # Composing animation frames o Image persistence and storage quotas o Control data reference o Interaction with other terminal actions + Comprehensive keyboard handling in terminals[ ] Toggle child pages in navigation o Quickstart o An overview[ ] Toggle child pages in navigation # Key codes # Modifiers # Event types # Text as code points # Non-Unicode keys o Progressive enhancement[ ] Toggle child pages in navigation # Disambiguate escape codes # Report event types # Report alternate keys # Report all keys as escape codes # Report associated text o Detection of support for this protocol o Legacy key event encoding[ ] Toggle child pages in navigation # Legacy functional keys # Legacy text keys o Functional key definitions o Legacy ctrl mapping of ASCII keys o Bugs in fixterms + File transfer over the TTY[ ] Toggle child pages in navigation o Overall design[ ] Toggle child pages in navigation # Sending files to the computer running the terminal emulator # Receiving files from the computer running terminal emulator o Canceling a session o Quieting responses from the terminal o File metadata o Symbolic and hard links[ ] Toggle child pages in navigation # Sending links to the terminal emulator # Receiving links from the terminal emulator o Transmitting binary deltas[ ] Toggle child pages in navigation # Sending to the terminal emulator # Receiving from the terminal emulator # The format of signatures and deltas o Compression o Bypassing explicit user authorization o 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 * Press mentions of kitty[ ] Toggle child pages in navigation + Video reviews Back to top Toggle Light / Dark / Auto color theme Toggle table of contents sidebar kitty# The fast, feature-rich, GPU based terminal emulator (*)Fast * Offloads rendering to the GPU for lower system load * Uses threaded rendering for absolutely minimal latency * Performance tradeoffs can be tuned ( )Capable * Graphics, with images and animations * Ligatures and emoji, with per glyph font substitution * Hyperlinks, with configurable actions ( )Scriptable * Control from scripts or the shell * Extend with kittens using the Python language * Use startup sessions to specify working environments ( )Composable * Programmable tabs, splits and multiple layouts to manage windows * Browse the entire history or the output from the last command comfortably in pagers and editors * Edit or download remote files in an existing SSH session ( )Cross-platform * Linux * macOS * Various BSDs ( )Innovative Pioneered various extensions to move the entire terminal ecosystem forward * Terminal graphics protocol * Comprehensive keyboard handling in terminals * Lots more in Terminal protocol extensions Watch kitty in action! To get started see Quickstart. Next Quickstart Copyright (c) 2022, Kovid Goyal Made with Furo