This library provides an abstracted mechanism for building interactive full-screen terminal programs. It provides a full set of output drawing functions, and handles keyboard and mouse input events.
Using this library, applications can
Divide the terminal into a hierarchy of nested, possibly-
Render output content and react to input events independently in any window region
Use fully Unicode-aware string content, including non-BMP, fullwidth and combining characters
Draw line-art using Unicode box-drawing characters in a variety of styles
Operate synchronously or asynchronously via file descriptors, or abstractly via byte buffers
Recognise arbitrary keyboard input, including modifiers*
Make use of multiple terminals, if availble, from a single application
The following terminal features are supported:
Many rendering attributes; bold, italics*, underline, reverse, strikethough*, alternate font*
256 and 24-bit (16million) colours*
Mouse including mouse wheel and recognition of position reporting greater than 224 columns*
Arbitrary scrolling regions*
*: Not all terminals may support these features
Project information
- Maintainer:
- Tickit
- Driver:
- Paul "LeoNerd" Evans
- Licence:
- MIT / X / Expat Licence
View full history Series and milestones
trunk series is the current focus of development.
All packages Packages in Distributions
-
libtermkey source package in Xenial
Version 0.18-1 uploaded -
libtermkey source package in Questing
Version 0.22-2 uploaded -
libtermkey source package in Plucky
Version 0.22-2 uploaded -
libtermkey source package in Oracular
Version 0.22-2 uploaded -
libtermkey source package in Noble
Version 0.22-1 uploaded
All bugs Latest bugs reported
-
Bug #2060047: renderbuffer_text functions break on escape characters like newline
Reported -
Bug #1865502: tickit_utf8_count() miscounts width of certain emoji
Reported -
Bug #1863182: tickit_term_await_started_msec(tt, -1) segfaults
Reported -
Bug #1861640: t/15term-input.t fails on Debian/kfreebsd-amd64
Reported -
Bug #1857166: get_termkey can segfault from accessing NULL
Reported
All blueprints Latest blueprints
-
Use the COLORTERM environment variable
Registered -
Prebuilt event loop integrations
Registered -
Support URL encoding
Registered -
Experiment with S8C1T
Registered -
Allow user code to add new named colours
Registered