Skip to main content
The -tui command launches an interactive terminal user interface (TUI) that provides visual access to all CLI features in a single, easy-to-navigate interface.

Usage

termy-cli -tui

What It Does

The TUI provides a split-pane interface with:
  • Left panel: Menu of all available features
  • Right panel: Content display for the selected feature
  • Keyboard navigation: Quick access without typing commands

Interface Overview

┌─────────────────────────┬──────────────────────────────────────────┐
│ Termy CLI              │ Description                             │
│                        │                                          │
│ > Show Config          │ Display current configuration settings   │
│   List Fonts           │                                          │
│   List Themes          │                                          │
│   List Colors          │                                          │
│   List Keybindings     │                                          │
│   List Actions         │                                          │
│   Validate Config      │                                          │
│   Edit Config          │                                          │
│                        │                                          │
└────────────────────────┴──────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────┐
│ Content                                                         │
│                                                                  │
│ Config file: /Users/username/.config/termy/config              │
│                                                                  │
│ theme = "nord"                                                  │
│ font = "JetBrains Mono"                                         │
│ font_size = 14                                                  │
│ cursor_blink = true                                             │
│ ...                                                             │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘
 q/Esc: Quit | j/k or Up/Down: Navigate | PgUp/PgDn: Scroll

Available Features

The TUI provides access to eight key features:

1. Show Config

Displays your current configuration file contents.
  • Shows the config file path
  • Displays all settings
  • Indicates if using defaults (when file doesn’t exist)

2. List Fonts

Shows all available monospace fonts on your system.
  • Platform-specific font enumeration
  • Sorted alphabetically
  • Ready to copy into your config

3. List Themes

Browses all built-in color themes.
  • Complete list of theme identifiers
  • Use these names in theme = "name" config

4. List Colors

Displays the color palette for your active theme.
  • Theme name
  • All ANSI colors with hex codes
  • Foreground, background, and cursor colors

5. List Keybindings

Shows all active keyboard shortcuts.
  • Key combination and action pairs
  • Availability status
  • Tmux requirements
  • Restart requirements

6. List Actions

Displays all available actions for keybinding.
  • Complete action names
  • Availability metadata
  • Use these in keybind = key=action config

7. Validate Config

Checks your configuration for errors.
  • Live validation feedback
  • Error messages with line numbers
  • Warning messages for potential issues
  • “Valid” or “Invalid” result

8. Edit Config

Opens your configuration file in an editor.
  • Press Enter on this menu item
  • TUI exits and launches your editor
  • Uses $EDITOR or platform default

Keyboard Navigation

KeyAction
j or Move down in menu
k or Move up in menu
EnterSelect item (used for Edit Config)

Content Scrolling

KeyAction
PgUpScroll content up (5 lines)
PgDnScroll content down (5 lines)

General

KeyAction
qQuit TUI
EscQuit TUI
Use j and k for Vim-style navigation, or arrow keys for traditional navigation.

Use Cases

Exploring Configuration Options

Before editing your config, explore what’s available:
1

Launch TUI

termy-cli -tui
2

Browse resources

Navigate to:
  • List Fonts: See available fonts
  • List Themes: Find a theme you like
  • List Actions: Discover keybinding actions
3

Edit config

Select “Edit Config” and press Enter to make changes

Validating Changes

Check your configuration without leaving the TUI:
1

View current config

Select “Show Config” to see current settings
2

Exit and edit

Press q to exit, then:
termy-cli -edit-config
3

Validate in TUI

Relaunch TUI and select “Validate Config”:
termy-cli -tui

Discovering Keybindings

Quickly look up keyboard shortcuts:
  1. Launch TUI: termy-cli -tui
  2. Navigate to “List Keybindings”
  3. Use PgUp/PgDn to scroll through all bindings
  4. Find the action you’re looking for

Theme Selection Workflow

Visually compare themes:
1

List available themes

Select “List Themes” to see all options
2

Note a theme name

Remember or copy a theme identifier (e.g., “nord”)
3

Edit config

Select “Edit Config”, set theme = "nord"
4

View colors

Relaunch TUI, select “List Colors” to see the palette

Benefits Over Individual Commands

Access all features without remembering individual command names:
# Instead of:
termy-cli -list-fonts
termy-cli -list-themes
termy-cli -list-keybinds
termy-cli -validate-config

# Just use:
termy-cli -tui
  • Structured layout for easier reading
  • Scrollable content for long outputs
  • Clear organization of information
  • Browse resources without typing commands
  • Quick navigation between features
  • Learn what’s available interactively
  • See validation results visually
  • Errors and warnings clearly formatted
  • Easy to read line numbers and messages

Technical Details

Implementation

The TUI is built using:
  • ratatui: Terminal UI framework
  • crossterm: Cross-platform terminal manipulation
  • Supports all major platforms (macOS, Linux, Windows)

Performance

The TUI:
  • Loads data on-demand when selecting menu items
  • Responds to input in real-time
  • Minimal resource usage

Compatibility

Works in:
  • Standard terminal emulators
  • SSH sessions
  • Tmux/screen sessions
  • Windows Terminal, iTerm2, GNOME Terminal, etc.
The TUI requires a terminal with basic color and navigation support. It works in virtually all modern terminal emulators.

Exiting the TUI

There are two ways to exit:
  1. Normal exit: Press q or Esc
    • Returns to your shell
    • Exit code 0
  2. Edit Config exit: Press Enter on “Edit Config”
    • TUI exits
    • Opens your config in editor
    • Returns to shell when editor closes

TUI vs. Direct Commands

ScenarioRecommended
Quick lookup (one thing)Direct command (termy-cli -list-fonts)
Exploring multiple featuresTUI (termy-cli -tui)
Scripting/automationDirect commands
Learning TermyTUI
Validation + browsingTUI
CI/CD pipelinesDirect commands

Example Workflow

Here’s a complete workflow using the TUI:
1

Launch TUI

termy-cli -tui
2

Check current config

Navigate to “Show Config” with arrow keys to see your settings
3

Browse fonts

Navigate to “List Fonts” to find a new font
4

Browse themes

Navigate to “List Themes” to discover a new theme
5

Exit TUI

Press q to exit
6

Edit config

termy-cli -edit-config
Update:
theme = "tokyo-night"
font = "JetBrains Mono"
7

Validate with TUI

termy-cli -tui
Navigate to “Validate Config” to check for errors
8

Preview colors

Navigate to “List Colors” to see the new theme’s palette
9

Restart Termy

Exit TUI and restart Termy to see your changes

Troubleshooting

Your terminal might not support the required features. Try:
# Check terminal type
echo $TERM

# Should be xterm-256color or similar
export TERM=xterm-256color
termy-cli -tui
Some terminal emulators intercept certain keys. If navigation doesn’t work:
  • Use alternative keys (j/k instead of arrows)
  • Check your terminal’s keyboard settings
  • Try a different terminal emulator
Resize your terminal window or use scrolling:
  • Make terminal window larger
  • Use PgUp/PgDn to scroll content

CLI Overview

Learn about all CLI commands

Edit Config

Edit configuration directly

Validate Config

Validate from command line

Configuration Guide

Complete configuration reference

Build docs developers (and LLMs) love