API Reference TermUI v#0.2.0

View Source

Modules

TermUI - A direct-mode Terminal UI framework for Elixir/BEAM.

ANSI escape sequence generation for terminal control.

Terminal capability detection and management.

Graceful degradation utilities for terminal capabilities.

Clipboard integration for TermUI applications.

Accumulates bracketed paste content.

Selection state management for clipboard operations.

Commands represent side effects to be performed by the runtime.

Executes commands asynchronously under a Task.Supervisor.

Base behaviour for all TermUI components.

Common helper functions and macros for TermUI components.

Supervision introspection tools for debugging and monitoring.

Represents a node in the render tree.

ETS-based state persistence for crash recovery.

ETS-based registry for component lookup.

GenServer that manages the lifecycle of a component.

Dynamic supervisor for managing component processes.

Behaviour for container components that manage children.

Central coordinator for development mode features.

Hot Reload integration for development mode.

Performance Monitor for development mode.

State Inspector panel for development mode.

UI Inspector overlay for development mode.

The Elm Architecture implementation for TermUI components.

Helper functions for Elm Architecture components.

Event type definitions for TermUI.

Application-defined custom event.

Focus change event.

Keyboard input event.

Mouse input event.

Clipboard paste event.

Event propagation utilities for the component tree.

Terminal resize event.

Timer tick event.

Event transformation utilities.

Central event routing for TermUI components.

Focus event utilities for terminal window focus tracking.

Focus indicator styles for visual focus feedback.

Focus state tracker with action registration.

Focus traversal utilities for calculating tab order.

Central focus management for TermUI components.

Flexbox-inspired alignment for positioning components within allocated space.

Layout cache with LRU eviction for caching constraint solver results.

Constraint types for the layout system.

Fill remaining space constraint.

Fixed size constraint in terminal cells.

Maximum size bound on another constraint.

Minimum size bound on another constraint.

Percentage of parent size constraint.

Proportional share of remaining space constraint.

Constraint solver for the layout system.

Message type conventions and helpers for component messages.

Message queue for batching multiple messages before rendering.

Mouse support utilities for terminal applications.

Routes mouse events to components based on position.

Tracks mouse state for drag and hover detection.

Escape sequence parser for terminal input.

Event struct definitions for parsed terminal input.

Represents a focus change event.

Represents a keyboard input event.

Represents a mouse input event.

Represents bracketed paste content.

Represents a terminal resize event.

Platform detection and abstraction for cross-platform terminal support.

Unix-specific terminal handling for Linux and macOS.

Windows-specific terminal handling stubs.

ETS-based screen buffer for storing cells.

GenServer managing double-buffered screen rendering.

Represents a single cell in the terminal screen buffer.

Optimizes cursor movement by selecting the cheapest movement option.

Differential rendering algorithm for terminal UI.

Calculates display width of Unicode characters and strings.

Caps rendering to a maximum FPS with dirty flag coalescing.

Batches escape sequences for efficient terminal output.

Represents visual styling for text and cells.

The central runtime orchestrator for TermUI applications.

Converts render trees to buffer cells for terminal output.

State struct for the Runtime GenServer.

Keyboard shortcut registry and matching.

Spatial index for fast component lookup by screen position.

Behaviour for stateful, interactive components.

Style system for consistent visual presentation.

Main terminal management GenServer for TermUI.

Parses terminal escape sequences into Event structs.

GenServer that reads keyboard input from stdin and sends events to a target process.

Terminal state structure tracking raw mode status, original settings, and active features (mouse tracking, bracketed paste, alternate screen).

TUI-specific assertion helpers for testing.

Test harness for isolated component testing.

Event simulation for testing TUI components.

Test renderer that captures output to a buffer for inspection.

Theme system for application-wide visual consistency.

View memoization cache for skipping renders when state is unchanged.

A container widget that draws a border around its content.

An interactive button widget.

A stateless widget for displaying text.

A scrollable list widget with selection support.

A modal pick-list widget for selecting from a list of items.

A widget for displaying progress bars and spinners.

A single-line text input widget.

Alert dialog widget for standardized messages and confirmations.

Bar chart widget for displaying comparative values.

Canvas widget for custom drawing with direct buffer access.

ClusterDashboard widget for visualizing distributed Erlang clusters.

Simple command dropdown for filtering and selecting commands.

Context menu widget for displaying floating menus at cursor position.

Dialog widget for modal overlays.

FormBuilder widget for structured forms with multiple field types.

Gauge widget for displaying a single value within a range.

Line chart widget using Braille patterns for sub-character resolution.

LogViewer widget for displaying real-time logs with virtual scrolling.

Menu widget for displaying hierarchical actions.

ProcessMonitor widget for live BEAM process inspection.

Standalone scroll bar widget.

Sparkline widget for compact inline trend visualization.

SplitPane widget for resizable multi-pane layouts.

StreamWidget for displaying backpressure-aware streaming data.

GenStage consumer for StreamWidget.

SupervisionTreeViewer widget for OTP supervision hierarchy visualization.

Table widget for displaying tabular data.

Column specification for Table widget.

Tabs widget for organizing content into switchable panels.

TextInput widget for single-line and multi-line text input.

Toast notification widget for brief, auto-dismissing messages.

Manages multiple toast notifications with stacking.

TreeView widget for displaying hierarchical data with expand/collapse.

Viewport widget for scrollable content.

Shared utilities for visualization widgets (charts, gauges, sparklines).

Shared utilities for interactive widgets (forms, palettes, menus).