kitty - A terminal emulator
Major features:
- Uses OpenGL+FreeType for rendering, does not depend on any GUI toolkits.
- Supports tiling multiple terminal windows side by side in different layouts without needing to use an extra program like tmux
- Supports all modern terminal features: unicode, true-color, mouse protocol, focus tracking, bracketed paste and so on.
- Easily hackable (UI layer written in python, inner loops in C for speed). Less than ten thousand lines of code.
- Rendering of text is done in an actual character grid, so the common problems with most Terminals when using wide characters/complex scripts do not occur. The downside is that scripts with complex glyph layout, such as Arabic do not render well.
Installation
kitty is designed to run from source, for easy hackability. Make sure the following dependencies are installed first:
* python >= 3.5
* glew >= 2.0
* glfw-dev >= 3.2
* freetype
* fontconfig
* gcc (required for building, clang should also work, but it is not tested)
* pkg-config (required for building)
Install kitty with:
git clone https://github.com/kovidgoyal/kitty && cd kitty
Now build the C parts of kitty with the following command:
python3 setup.py build
You can run kitty, as:
python3 /path/to/kitty/folder
Configuration
kitty is highly customizable, everything from keyboard shortcuts, to painting
frames-per-second. See the heavily commented default config file.
By default kitty looks for a config file in the OS
config directory (usually ~/.config/kitty/kitty.conf on linux) but you can pass
a specific path via the --config option.
Resources on terminal behavior
http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
Description
Languages
Python
43.6%
C
28.3%
Go
20%
Objective-C
6%
Shell
1.5%
Other
0.5%