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.4.1 released

This release fixes a bug in the length computation in t3_win_clrtoeol when the current paint position is in the middle of a double-width character. This could cause segmentation faults.

29-Jan-2022

libt3window version 0.4.0 released

This release allows explicitly unsetting the binary attributes when combining attributes using t3_term_combine_attrs.

30-Nov-2019

libt3window version 0.3.2 released

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

25-Nov-2018

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-2022 G.P. Halkes
libt3window is distributed under the GNU General Public License version 3.