❯dart_tui
ComponentsBlocksExamplesGuides

Guides

  • Installation
  • Model–Update–View
  • Commands
  • Program options
  • Styling
  • Colors & gradients
  • Text & layout
  • Readline keys
  • File logging
  • Architecture notes
  • Examples

Components

  • Spinner
  • Progress bar
  • Text input
  • Text area
  • Select list
  • List (fuzzy filter)new
  • Tabs
  • Table
  • Tree
  • Multi-selectnew
  • Cursor
  • Viewport
  • Timer
  • Stopwatch
  • Paginator
  • Help
  • File picker
  • Spring

Blocks

  • Formsnew
  • Prompts
  • Gum helpers
  • Canvas compositing
  • Package manager
  • Showcase gallery

Examples

  • Multiple views
  • Shopping list
  • Real-time updates
  • Program.send()
  • Sequenced commands
  • Prevent quit
  • Focus & blur
  • Print key
  • Window size
  • Fullscreen
  • Alt-screen toggle
  • Set window title
  • Cursor style
  • Piped input
  • Vanish
  • Chained prompts

Examples

Examples

Small, runnable recipes — real programs showing a single runtime feature end to end, with full source you can copy.

16 entries

Multiple views preview

Multiple views

Switch between screens — a task list into a download progress view.

Shopping list preview

Shopping list

The Bubble Tea shopping-list tutorial, ported to Dart.

Real-time updates preview

Real-time updates

Feed background async work back into the UI as messages.

Program.send() preview

Program.send()

Inject messages into a running program from the outside.

Sequenced commands preview

Sequenced commands

Run commands strictly one after another with sequence().

Prevent quit preview

Prevent quit

Intercept quit and ask for confirmation before exiting.

Focus & blur preview

Focus & blur

React to the terminal gaining or losing focus.

Print key preview

Print key

Inspect the decoded name of every key press.

Window size preview

Window size

Read terminal dimensions and respond to resizes.

Fullscreen preview

Fullscreen

A full-screen alt-screen app with a countdown.

Alt-screen toggle preview

Alt-screen toggle

Switch between the primary and alternate screen at runtime.

Set window title preview

Set window title

Set the terminal window/tab title from your view.

Cursor style preview

Cursor style

Configure the real terminal cursor's shape and blink.

Piped input preview

Piped input

Seed a program from piped stdin.

Vanish preview

Vanish

A single keystroke, then a clean exit with no trace.

Chained prompts preview

Chained prompts

Run promptSelect → promptConfirm → promptInput in sequence.

❯dart_tui

Elm-style terminal UI framework for Dart. Inspired by Bubble Tea & Lipgloss, built in pure Dart.

Components

  • Spinner
  • Progress bar
  • Text input
  • Text area
  • Select list
  • List (fuzzy filter)

Blocks

  • Forms
  • Prompts
  • Gum helpers
  • Canvas compositing
  • Package manager
  • Showcase gallery

Examples

  • Multiple views
  • Shopping list
  • Real-time updates
  • Program.send()
  • Sequenced commands
  • Prevent quit

Guides

  • Installation
  • Model–Update–View
  • Commands
  • Program options
  • Styling
  • Colors & gradients

Resources

  • GitHub
  • pub.dev
  • Bubble Tea
  • Lipgloss

Released under the MIT License. © 2026 dart_tui.

v1.4.0 · built with Next.js on Vercel