- C 98%
- C++ 2%
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.