BoxMux

YAML-driven terminal UI framework - Terminal applications and dashboards with data visualization, plugin system, and socket API.

Documentation

Set up your development environment and learn the fundamental concepts.

Setup and installation

Installation and basic configuration.

Get started

API reference

Socket API documentation and function reference.

API docs

Data Visualization

Charts, tables, and data display features.

Visualization guide

Plugin System

Dynamic component loading and plugin development.

Plugin guide

PTY Features

Interactive terminal emulation and process management.

PTY guide

Advanced Features

Mouse support, hot keys, streaming output, and enhanced navigation.

Advanced guide

Quick Installation

1

Install BoxMux

cargo install boxmux
2

Start building

# Try example configs
boxmux examples/dashboard.yaml

Key Features

Core functionality for building terminal interfaces.

Core Framework

YAML configuration system with multi-layout support, box hierarchy, and real-time rendering.

UI Components

Flexible box positioning, 16 ANSI colors, borders, text rendering, interactive menus, and focus management.

Scripting & Automation

Multi-threaded script execution, PTY support, and output redirection.

Socket API

Unix socket server for remote control - update boxes, switch layouts, manage refresh cycles.

Data Visualization

Unicode charts (bar/line/histogram), layout engine, table boxes with CSV/JSON parsing, sorting, filtering.

Variable System

Hierarchical variable substitution with precedence: environment > child > parent > layout > app > default.

Plugin System

Dynamic component loading with security validation, manifest parsing, and access control.

Enhanced Features

Mouse clicks, hot keys (F1-F24), clipboard integration (Ctrl+C), scrolling, proportional scrollbars.

Performance & Quality

527/528 tests passing, performance benchmarking, cross-platform compatibility (macOS/Linux).