Last Updated on August 11, 2021
Other Features
kitty has bags of features.
There’s support for running multiple programs organized into tabs and windows. There’s the option to control how many tabs must be present before the tab-bar is displayed. You can even use the software’s remote control feature to navigate kitty windows. Sadly there’s no support for saving tabs.
kitty supports modern terminal features including displaying images in the kitty terminal, OpenType ligatures, mouse protocol, focus tracking, bracketed paste, Unicode, and true-color support.
It extends existing text formatting escape codes, to add support for features not available elsewhere, such as colored and styled (curly) underlines.
You can control kitty from scripts or from the shell prompt. That’s really useful for automation purposes.
One of the features I find the most useful is Kittens. They are small terminal programs written in Python that extend kitty’s functionality. They are used both to add features to kitty itself and to create useful standalone programs.
There’s also support for startup sessions, so you can dictate the window/tab layout, working directories, and programs to execute on startup. Create a session file, and start kitty with the kitty –session command line flag. There’s also auto-completion available.
Here’s a chart showing how much memory kitty and other selected terminal emulators consume at startup.
Memory usage of a terminal emulator is largely determined by the size of the scrollback buffer. Reducing its size can make significant savings.
Hyper has not been included in the chart only because it gobbles up much memory and distort the above graph. About 240MB of RAM it consumes which is a crazy amount of memory for a terminal emulator.
Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Other Features
Page 4 – Summary
Well written review.
Some other points to consider …
“kitty can only use monospace fonts”
For actual doing work in a terminal (not just something to look pretty in a screenshot) why would anybody want other than a monospaced font?
Even In the simplest of cases, vis file listing (eg ls -aFl), columns of information would no longer line up.
Is the xterm on your memory usage graph with or without TeK window support which it has been claimed in the past causes xterm to be more of a memory hog?
And why not also include rxvt (original version not the same as unicode-rxvt urxvt) which always claimed in its manual page as being one of the most memory efficient of terminal emulators.
Also urxvt (unicode-rxvt) is not so bad for running multiple urxvt windows as would seem from the single instance because it comes with a urxvtd (daemon) with which multiple urxvtc (client) instances can be fired up.