API Reference tuix v#0.1.0

Copy Markdown View Source

Modules

Tuix is a terminal UI framework for Elixir, inspired by OpenTUI.

The behaviour for Tuix applications, modeled after Phoenix LiveView.

A 2D grid of Tuix.Cells representing one terminal frame.

A single terminal cell: one grapheme plus its styling.

Color parsing and SGR code generation.

Functions and macros for building the element tree returned by Tuix.App.render/1.

A node in the declarative UI tree.

Events delivered to a Tuix.App's Tuix.App.handle_event/2 callback.

A keyboard event.

A terminal resize event.

Reads raw bytes from stdin in a blocking loop and sends parsed key events to the runtime as {:tuix_input, %Tuix.Event.Key{}} messages.

Incremental parser turning raw terminal input bytes into Tuix.Event.Key structs.

Flexbox-subset layout engine.

An element resolved to an absolute rectangle.

Paints a placed element tree into a Tuix.Buffer and serializes frames (or frame diffs) into ANSI iodata.

The event loop: holds the Tuix.App state, dispatches input and resize events to the app's callbacks, and re-renders after every state change.

Owns the terminal: switches it into raw mode and the alternate screen on start, and restores it on shutdown — including crash shutdowns.

Builders for the ANSI escape sequences on the frame-rendering hot path.

Renders element trees (or whole apps) to buffers and text snapshots without touching the terminal. The Tuix analog of OpenTUI's createTestRenderer.