Yves Biener 1ad7bf0d48 WIP: exec element with initial implementation
Problem is that the main application actually does not create a pty and
instead uses the current one (for better compatability for ssh based
hosting).

The current problem is the fact that the child process should not
take over (and never give back too) the input / output handling of the
current pts. Such that both applications can receive inputs accordingly
(in best case actually controlled by the main application).
2025-07-12 20:26:47 +02:00
2024-11-09 19:07:10 +01:00
2025-07-11 22:38:47 +02:00
2024-11-13 19:01:53 +01:00
2025-02-28 15:58:46 +01:00

zterm TUI Library

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

Caution

Only builds using the zig master version are tested to work.

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,
});
// ...
exe.root_module.addImport("zterm", zterm.module("zterm"));

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%