ConnectOnionConnectOnion
DocsTUI Components

TUI Components

Terminal UI components from connectonion.tui

Quick Start

main.py
1from connectonion.tui import pick, Input, StatusBar 2from rich.console import Console 3 4console = Console() 5 6# Single-select menu 7choice = pick("Select model:", ["gpt-4", "claude-3", "gemini-pro"]) 8 9# Text input with file autocomplete 10from connectonion.tui import FileProvider 11text = Input(triggers={"@": FileProvider()}).run() 12 13# Status bar 14status = StatusBar([ 15 ("model", "gpt-4", "magenta"), 16 ("tokens", "1.2k", "green"), 17]) 18console.print(status.render())

Architecture

User Input → TUI Component → Terminal (Rich) → User
     ↑                              ↓
     └──── Keyboard Events ────────┘

Components use Rich for terminal rendering, raw mode for keyboard capture, and ANSI codes for styling.

Quick Reference

ComponentPurposeImport
ChatFull chat interface with agentfrom connectonion.tui import Chat
InputText input with autocompletefrom connectonion.tui import Input
pickSingle-select menufrom connectonion.tui import pick
DropdownDropdown menusfrom connectonion.tui import Dropdown
StatusBarPowerline-style statusfrom connectonion.tui import StatusBar
FooterFooter with help textfrom connectonion.tui import Footer
DividerVisual dividersfrom connectonion.tui import Divider
fuzzyFuzzy matchingfrom connectonion.tui import fuzzy_match
keysKeyboard inputfrom connectonion.tui import getch
providersAutocomplete data sourcesfrom connectonion.tui import FileProvider