Terminal UI toolkit for Ada

Own the model. Render the whole view.

Flyology TUI combines a serial Elm-style application loop with bounded components, Unicode-aware surfaces, responsive layout, mouse input, and render-time skins.

Dedicated Windows example rendered in the Charm skin
Build-generated Ada captureCharm
34 public componentsControls, editors, data views, docks, windows, and feedback.
4 render-time skinsSwitch appearance without moving theme identity into component state.
4 color profilesMonochrome, ANSI 16, ANSI 256, and truecolor degradation.
Application model

One owner, explicit effects.

The runner calls initialization, update, and presentation on one owner. Commands return detached typed messages. Components keep only bounded local state and never start hidden tasks.

  1. 01Receive an event

    Terminal input and application messages enter the same typed inbox.

  2. 02Update the model

    One transition mutates state, requests one command, or asks the runner to quit.

  3. 03Return a complete view

    A surface tree and terminal policy describe the next frame. The renderer emits only changed cells.

Component catalog

Bounded parts that compose.

Each page explains ownership, input routing, responsive behavior, and a minimal Ada path. Every skin preview is regenerated during the site build.

Open the full catalog