# ExRatatui v0.8.2 - Table of Contents Elixir bindings for the Rust ratatui terminal UI library ## Pages - [Overview](readme.md) - [Contributing](contributing.md) - [Changelog](changelog.md) - Guides - [Getting Started](getting_started.md) - [Building UIs](building_uis.md) - [Callback Runtime](callback_runtime.md) - [Reducer Runtime](reducer_runtime.md) - [Custom Widgets](custom_widgets.md) - [State Machine Patterns](state_machines.md) - [Testing](testing.md) - [Debugging](debugging.md) - [Performance](performance.md) - [Telemetry](telemetry.md) - [Running TUIs over SSH](ssh_transport.md) - [Running TUIs over Erlang Distribution](distributed_transport.md) - [Custom Transports](custom_transports.md) - Cheatsheets - [Widgets Cheatsheet](widgets.md) ## Modules - Core - [ExRatatui](ExRatatui.md): Elixir bindings for the Rust [ratatui](https://ratatui.rs) terminal UI library. - [ExRatatui.Session](ExRatatui.Session.md): A per-connection terminal session backed by an in-memory writer. - Observability - [ExRatatui.Telemetry](ExRatatui.Telemetry.md): Telemetry integration for ExRatatui. - Application - [ExRatatui.App](ExRatatui.App.md): A behaviour for building supervised TUI applications. - Reducer Runtime - [ExRatatui.Command](ExRatatui.Command.md): Commands represent one-shot side effects scheduled by an `ExRatatui.App`. - [ExRatatui.Runtime](ExRatatui.Runtime.md): Runtime inspection and trace controls for supervised ExRatatui applications. - [ExRatatui.Subscription](ExRatatui.Subscription.md): Subscriptions represent ongoing or delayed self-messages owned by an app. - Layout - [ExRatatui.Frame](ExRatatui.Frame.md): Terminal frame information passed to `render/2` callbacks. - [ExRatatui.Layout](ExRatatui.Layout.md): Layout system for splitting areas into sub-regions. - [ExRatatui.Layout.Rect](ExRatatui.Layout.Rect.md): A rectangular area on the terminal screen. - Style - [ExRatatui.Style](ExRatatui.Style.md): Style configuration for widgets. - Rich Text - [ExRatatui.Text](ExRatatui.Text.md): Rich-text value composed of one or more `ExRatatui.Text.Line`s. - [ExRatatui.Text.Line](ExRatatui.Text.Line.md): A single line of text composed of one or more `ExRatatui.Text.Span`s. - [ExRatatui.Text.Span](ExRatatui.Text.Span.md): A single styled run of text — the smallest rich-text primitive. - Events - [ExRatatui.Event](ExRatatui.Event.md): Terminal event structs. - [ExRatatui.Event.Key](ExRatatui.Event.Key.md): A keyboard event. - [ExRatatui.Event.Mouse](ExRatatui.Event.Mouse.md): A mouse event. - [ExRatatui.Event.Resize](ExRatatui.Event.Resize.md): A terminal resize event. - Focus - [ExRatatui.Focus](ExRatatui.Focus.md): Focus management for multi-panel apps. - Widgets - [ExRatatui.Widgets.Block](ExRatatui.Widgets.Block.md): A container widget that provides borders and a title around other widgets. - [ExRatatui.Widgets.Calendar](ExRatatui.Widgets.Calendar.md): A monthly calendar widget that displays days in a 7-column grid. - [ExRatatui.Widgets.Checkbox](ExRatatui.Widgets.Checkbox.md): A checkbox widget for toggling boolean values. - [ExRatatui.Widgets.Clear](ExRatatui.Widgets.Clear.md): A widget that resets all cells in its area to empty (space) characters. - [ExRatatui.Widgets.Gauge](ExRatatui.Widgets.Gauge.md): A progress bar widget. - [ExRatatui.Widgets.LineGauge](ExRatatui.Widgets.LineGauge.md): A thin horizontal progress bar widget. - [ExRatatui.Widgets.List](ExRatatui.Widgets.List.md): A selectable list widget. - [ExRatatui.Widgets.Markdown](ExRatatui.Widgets.Markdown.md): A markdown rendering widget with syntax highlighting for code blocks. - [ExRatatui.Widgets.Paragraph](ExRatatui.Widgets.Paragraph.md): A text display widget with optional wrapping, alignment, and scrolling. - [ExRatatui.Widgets.Popup](ExRatatui.Widgets.Popup.md): A centered modal overlay widget. - [ExRatatui.Widgets.Scrollbar](ExRatatui.Widgets.Scrollbar.md): A scrollbar widget for indicating scroll position in content. - [ExRatatui.Widgets.Sparkline](ExRatatui.Widgets.Sparkline.md): A compact inline chart for a single data series. - [ExRatatui.Widgets.Table](ExRatatui.Widgets.Table.md): A table widget with headers, rows, and optional selection. - [ExRatatui.Widgets.Tabs](ExRatatui.Widgets.Tabs.md): A tab bar widget for switching between views. - [ExRatatui.Widgets.TextInput](ExRatatui.Widgets.TextInput.md): A single-line text input widget with cursor and viewport management. - [ExRatatui.Widgets.Textarea](ExRatatui.Widgets.Textarea.md): A multiline text editor widget with undo/redo, cursor movement, and selection. - [ExRatatui.Widgets.Throbber](ExRatatui.Widgets.Throbber.md): A loading spinner widget that animates through symbol sets. - [ExRatatui.Widgets.WidgetList](ExRatatui.Widgets.WidgetList.md): A vertical list of heterogeneous widgets with optional selection and scrolling. - Widgets: Bar Chart - [ExRatatui.Widgets.Bar](ExRatatui.Widgets.Bar.md): A single bar within a `ExRatatui.Widgets.BarChart`. - [ExRatatui.Widgets.BarChart](ExRatatui.Widgets.BarChart.md): A vertical or horizontal bar chart widget. - [ExRatatui.Widgets.BarGroup](ExRatatui.Widgets.BarGroup.md): A labelled cluster of `ExRatatui.Widgets.Bar` rendered together inside a `ExRatatui.Widgets.BarChart`. - Widgets: Canvas - [ExRatatui.Widgets.Canvas](ExRatatui.Widgets.Canvas.md): A 2D drawing surface for plotting shapes in arbitrary coordinate space. - [ExRatatui.Widgets.Canvas.Circle](ExRatatui.Widgets.Canvas.Circle.md): A circle outline to paint on a `ExRatatui.Widgets.Canvas`. - [ExRatatui.Widgets.Canvas.Label](ExRatatui.Widgets.Canvas.Label.md): A text annotation to print on a `ExRatatui.Widgets.Canvas`. - [ExRatatui.Widgets.Canvas.Line](ExRatatui.Widgets.Canvas.Line.md): A line segment to paint on a `ExRatatui.Widgets.Canvas`. - [ExRatatui.Widgets.Canvas.Map](ExRatatui.Widgets.Canvas.Map.md): A world map shape to paint on a `ExRatatui.Widgets.Canvas`. - [ExRatatui.Widgets.Canvas.Points](ExRatatui.Widgets.Canvas.Points.md): A collection of single-point markers to paint on a `ExRatatui.Widgets.Canvas`. - [ExRatatui.Widgets.Canvas.Rectangle](ExRatatui.Widgets.Canvas.Rectangle.md): A rectangle outline to paint on a `ExRatatui.Widgets.Canvas`. - Widgets: Chart - [ExRatatui.Widgets.Chart](ExRatatui.Widgets.Chart.md): An XY plotting widget for line, scatter, and bar visualizations. - [ExRatatui.Widgets.Chart.Axis](ExRatatui.Widgets.Chart.Axis.md): Configures one axis of a `ExRatatui.Widgets.Chart`. - [ExRatatui.Widgets.Chart.Dataset](ExRatatui.Widgets.Chart.Dataset.md): A single named series within a `ExRatatui.Widgets.Chart`. - Widgets: Slash Commands - [ExRatatui.Widgets.SlashCommands](ExRatatui.Widgets.SlashCommands.md): Slash command parsing and autocomplete popup rendering. - [ExRatatui.Widgets.SlashCommands.Command](ExRatatui.Widgets.SlashCommands.Command.md): A slash command definition with name, description, and optional aliases. - Custom Widgets - [ExRatatui.Widget](ExRatatui.Widget.md): Protocol for user-defined widgets that compose ExRatatui primitives. - Transport - [ExRatatui.Transport](ExRatatui.Transport.md): Shared protocol between the internal Server runtime and the modules that carry input/output bytes for a running `ExRatatui.App`. - [ExRatatui.Transport.ByteStream](ExRatatui.Transport.ByteStream.md): Helpers for transports that carry raw terminal bytes to and from a remote `ExRatatui.Session`. - SSH Transport - [ExRatatui.SSH](ExRatatui.SSH.md): OTP `:ssh_server_channel` implementation that serves an `ExRatatui.App` over a single SSH channel. - [ExRatatui.SSH.Daemon](ExRatatui.SSH.Daemon.md): GenServer that owns an OTP `:ssh.daemon/2` listening for TUI clients. - Distribution Transport - [ExRatatui.Distributed](ExRatatui.Distributed.md): Distribution-attach transport for `ExRatatui.App`. - [ExRatatui.Distributed.Listener](ExRatatui.Distributed.Listener.md): Supervisor for distribution-attach sessions on the app node.