ghalkes:~# command line tools

Tilde Terminal Toolkit

libt3window

The libt3window library provides functions for manipulating the terminal and for creating (possibly overlapping) windows on a terminal. libt3window can be used instead of (n)curses for drawing on the terminal. libt3window provides the following features:

  • (Overlapping) windows for drawing. Overlapping windows hide windows deeper in the window stack.
  • Clipping of windows to the size of the parent window.
  • UTF-8 used internally, which is converted to the terminal encoding before output. libt3window depends on libunistring for UTF-8 processing and libtranscript for character set conversion.
  • Provides easy access to the most needed terminal functionality.
  • Small code size.

News

libt3window version 0.3.2 released

This release fixes the build on pre-C++11 compilers.

25-Nov-2018

libt3window version 0.3.1 released

This release adds a C++ wrapper class and a few extra functions for determining the display width of a string.

19-Nov-2018

libt3window version 0.3.0 released

This release contains several improvements with respect to line-drawing characters, and updates the internal Unicode tables to Unicode 10.0. It also fixes a number of small bugs.

04-Feb-2017

Documentation

The documentation for libt3window can be generated using doxygen, using the doxygen.conf file in the source package. Documentation for the latest version can also be found here.

Download

The source for libt3window is available here (signature). Older releases are available here. All releases are signed with the GPG key for gpg@ghalkes.nl (0x5A22F7B45F39DE51).

libt3window requires GNU libtool to be compiled. Furthermore, it requires (n)curses or ncurses's libtinfo for access to the terminfo database, libtranscript and libunistring.

Binary packages for libt3window are available from the Tilde repositories.

Contact

You can reach me at: libt3window @ REMOVE ghalkes.nl.

Copyright Notice

Copyright © 2011-2018 G.P. Halkes
libt3window is distributed under the GNU General Public License version 3.