https://sw.kovidgoyal.net/kitty/integrations/ [ ] [ ] 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 Debug builds o Notes for Linux/macOS packagers * 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 # Truly convenient SSH[ ] Toggle child pages in navigation @ A real world example @ How it works @ Host bootstrap configuration @ Login shell environment @ SSH configuration @ The copy command[ ] Toggle child pages in navigation - Options # Custom kittens[ ] Toggle child pages in navigation @ 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[ ] 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 Remote control via a socket o The builtin kitty shell o Allowing only some windows to control kitty o Fine grained permissions for remote control[ ] Toggle child pages in navigation # Customizing authorization with your own program o Mapping key presses to remote control commands o Broadcasting what you type to all kitty windows o The remote control protocol o Matching windows and tabs[ ] Toggle child pages in navigation # The kitty remote control protocol[ ] Toggle child pages in navigation @ 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-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 Shell integration over SSH o Clone the current shell into a new window o Edit files in new kitty windows even over SSH 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 Truly convenient SSH o Shell integration + Detailed list of changes[ ] Toggle child pages in navigation o 0.26.3 [2022-09-22] o 0.26.2 [2022-09-05] o 0.26.1 [2022-08-30] o 0.26.0 [2022-08-29] o 0.25.2 [2022-06-07] o 0.25.1 [2022-05-26] o 0.25.0 [2022-04-11] 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 Integrations with other tools# kitty provides extremely powerful interfaces such as Control kitty from scripts and Custom kittens and icat that allow it to be integrated with other tools seamlessly. Image and document viewers# Powered by kitty's Terminal graphics protocol there exist many tools for viewing images and other types of documents directly in your terminal, even over SSH. termpdf.py# A terminal PDF/DJVU/CBR viewer mdcat# Display markdown files nicely formatted with images in the terminal ranger# A terminal file manager, with previews of file contents powered by kitty's graphics protocol. nnn# Another terminal file manager, with previews of file contents powered by kitty's graphics protocol. hunter# Another terminal file manager, with previews of file contents powered by kitty's graphics protocol. term-image# Tool to browse images in a terminal using kitty's graphics protocol. koneko# Browse images from the pixiv artist community directly in kitty. viu# View images in the terminal, similar to kitty's icat. nb# Command line and local web note-taking, bookmarking, archiving, and knowledge base application that uses kitty's graphics protocol for images. w3m# A text mode WWW browser that supports kitty's graphics protocol to display images. timg# A terminal image and video viewer, that displays static and animated images or plays videos. Fast multi-threaded loading, JPEG exif rotation, grid view and connecting to the webcam make it a versatile terminal utility. System and data visualisation tools# neofetch# A command line system information tool that shows images using kitty's graphics protocol matplotlib# Show matplotlib plots directly in kitty KittyTerminalImages.jl# Show images from Julia directly in kitty euporie# A text-based user interface for running and editing Jupyter notebooks, powered by kitty's graphics protocol for displaying plots gnuplot# A graphing and data visualization tool that can be made to display its output in kitty with the following bash snippet: function iplot { cat <