Yves Biener 97a240c54d mod: example shows how dynamic sizing is achived that can be independent form the reported terminal size
Setting the cursor with the `Direct` handler will cause the rendering
to halt at that point and leave the cursor at point.

Due to not enabling *raw mode* with the newly introduced `App.start`
configuration options corresponding inputs are only visible to `zterm`
once the input has been completed with a newline. With this it is not
necessary for the renderer to know nothing more than the width of the
terminal (which is implied through the `Container` sizes). Making it
very trivial to implement.
2026-01-20 13:57:55 +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%