Terminal renderer library written in C++.
README.md

Terminus #

Terminus is a terminal emulator rendering library.

Why? #

Terminus offers a deterministic screen size and appearance, a high level of flexibility, full-screen, and an API that doesn't require the use of ANSI escape codes and I/O streams in general.

How? #

Terminus is written in C++ (there's also a C API for FFI and people who like C) and makes use of SDL3 for rendering and input handling.

Building (Linux) #

First, clone the repo and make sure Meson and and SDL_ttf are installed. Then, create a build directory:

mkdir build

run the following command to set up the build system:

meson setup build

And finally, to build:

meson compile -C build

The compiled library is located in build/src/libterminus.a and the test executable in build/test/terminus_test.

Cross-Compiling To Windows #

The x86_64-w64-mingw32.txt cross file can be used if MinGW is installed:

meson setup --cross-file=x86_64-w64-mingw32.txt build

Building (Windows) #

You're on your own. Use Cygwin or something.

Some More Details #

  • Terminus is licensed under LGPL v2 (or later), so you can use it in proprietary applications in an unmodified form with no worries about license terms.
  • Custom fonts are supported!
  • The C API may lag behind the C++ API, though it should match the C++ API in general.
  • Bindings for .NET exist, but like the C API, these can lag behind the C++ API.
  • A Doxygen site will also be made soon™.
  • Terminus is not a header-only library.
  • Terminus makes use of the Meson build system.