If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based. https://sw.kovidgoyal.net/kitty/
Find a file
2016-12-05 20:52:08 +05:30
kitty More refactoring 2016-12-05 20:52:08 +05:30
kitty_tests More charset fixes 2016-11-30 23:36:10 +05:30
terminfo Add the missing op terminfo code 2016-11-30 22:27:41 +05:30
.gitignore Infrastructure for building C extensions 2016-10-31 14:45:49 +05:30
.travis.yml Fix load og libglfw3.so on travis 2016-11-29 20:13:39 +05:30
=template.py Initial commit 2016-10-14 12:33:27 +05:30
__main__.py Initial commit 2016-10-14 12:33:27 +05:30
build-terminfo Make terminfo data available in program 2016-11-24 11:29:28 +05:30
generate-unicode-data.py ... 2016-12-05 09:41:59 +05:30
LICENSE Initial commit 2016-10-14 12:33:27 +05:30
README.md ... 2016-12-05 13:58:26 +05:30
session.vim Use the new native screen class 2016-11-18 15:30:59 +05:30
setup.cfg Initial commit 2016-10-14 12:33:27 +05:30
setup.py Get rid of glfw_constants 2016-11-29 14:20:21 +05:30
test.py Allow building with debug symbols 2016-11-07 13:23:03 +05:30

kitty - A terminal emulator

Build Status

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

https://en.wikipedia.org/wiki/C0_and_C1_control_codes

http://vt100.net/