Yves Biener c29c60bd89 WIP make example interactive
Handle inputs as per usual (which however is a bit weak, is it goes through
key by key and not the entire line), batch all events such that all events
are handled before the next frame is rendered. For this the `App.start`
function needs to become configurable, such that it changes the termios as
configured (hence it is currently all commented out for testing).
2026-01-20 11:54:28 +01:00
2026-01-20 11:54:28 +01:00
2026-01-20 11:54:28 +01:00
2024-11-09 19:07:10 +01:00
2024-11-13 19:01:53 +01:00

zterm TUI Library

zterm is a terminal user interface library (tui) to implement terminal (fullscreen or inline) applications.

Demo

Clone this repository and run zig build --help to see the available examples. Run a given example as follows:

zig build --release=safe -Dexample=demo run

Tip

Every example application can be quit using ctrl+c.

See the wiki for a showcase of the examples and the further details.

Usage

To add or update zterm as a dependency in your project run the following command:

zig fetch --save git+https://gitea.yves-biener.de/yves-biener/zterm

Add the dependency to your module as follows in your build.zig:

const zterm: *Dependency = b.dependency("zterm", .{
    .target = target,
    .optimize = optimize,
});

Documentation

A wiki should be created containing a bright overview of the structure and usage of the library. For details it should refer to the examples. The documentation should be minimal in terms of updateability in case the library changes. Maybe some documentation could be derived from the code documentation (there is a tool for this if I recall correctly).

Description
Terminal User Interface Library for TUI applications written in zig.
Readme MIT 2.9 MiB
Languages
Zig 100%