# ExRatatui v0.10.0 - 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) - [Rendering to Non-Terminal Surfaces](cell_session.md) - [Images](images.md) - [Packaging with Burrito](packaging_with_burrito.md) - Cheatsheets - [Widgets Cheatsheet](widgets.md) ## Modules - Core - [ExRatatui](ExRatatui.md): Elixir bindings for the Rust [ratatui](https://ratatui.rs) terminal UI library. - [ExRatatui.CellSession](ExRatatui.CellSession.md): A per-connection terminal session that surfaces ratatui's rendered cell buffer instead of ANSI bytes. - [ExRatatui.CellSession.Cell](ExRatatui.CellSession.Cell.md): A single rendered cell of an `ExRatatui.CellSession`'s buffer. - [ExRatatui.CellSession.Diff](ExRatatui.CellSession.Diff.md): Delta payload returned by `ExRatatui.CellSession.take_cells_diff/1`. - [ExRatatui.CellSession.Snapshot](ExRatatui.CellSession.Snapshot.md): Full-buffer snapshot returned by `ExRatatui.CellSession.take_cells/1`. - [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. - Widgets: Image - [ExRatatui.Image](ExRatatui.Image.md): Construct image widgets from raw image bytes. - [ExRatatui.Widgets.Image](ExRatatui.Widgets.Image.md): A widget that renders a real image (PNG/JPEG/GIF/WebP/BMP) inside a TUI. - Widgets: BigText - [ExRatatui.BigText](ExRatatui.BigText.md): Build oversized 8×8-pixel text widgets for slide titles and banners. - [ExRatatui.Widgets.BigText](ExRatatui.Widgets.BigText.md): An oversized 8×8-pixel text widget for slide titles and banners. - Widgets: Code - [ExRatatui.CodeBlock](ExRatatui.CodeBlock.md): Helpers for syntax-highlighted code, complementing the `ExRatatui.Widgets.CodeBlock` widget. - [ExRatatui.Widgets.CodeBlock](ExRatatui.Widgets.CodeBlock.md): A syntax-highlighted code display widget. - 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. ## Mix Tasks - [mix ex_ratatui.gen.burrito](Mix.Tasks.ExRatatui.Gen.Burrito.md): Patches the current project to ship as a single-file native binary via [Burrito](https://github.com/burrito-elixir/burrito).