Theme System
TUIOS uses 16 ANSI color theming powered by bubbletint:- ANSI colors 0-15: Themed by TUIOS
- RGB/truecolor (256-color): Pass through unchanged
- UI elements: Use theme colors for borders, dockbar, etc.
Available Themes
Built-in Themes
TUIOS includes many popular themes:dracula- Dracula color schemenord- Nord color palettetokyonight- Tokyo Nightcatppuccin-mocha- Catppuccin Mochagruvbox- Gruvboxsolarized-dark- Solarized Darksolarized-light- Solarized Lightone-dark- Atom One Darkgithub-dark- GitHub Darkmonokai- Monokai- and many more…
List All Themes
View all available themes:Using Themes
Command-Line Flag
Specify a theme when launching TUIOS:Configuration File
Set a default theme inconfig.toml:
config.toml
No Theme (Default)
Leave empty to use your terminal’s native colors:config.toml
Theme Preview
Preview a theme’s 16 ANSI colors before using it:- Color name
- ANSI code (0-15)
- Hex value
- Visual color swatch
Interactive Theme Selection
Use withfzf for interactive selection:
- Searchable theme list
- Live color preview
- Selection with Enter
Custom Themes
Create your own themes by placing JSON files in:Custom Theme Format
Create a theme JSON file (e.g.,my-theme.json):
my-theme.json
Theme Fields
Required:id- Unique theme identifier (derived from filename if omitted)- ANSI colors:
black,red,green,yellow,blue,purple,cyan,white
display_name- Human-readable name (defaults toid)fg- Foreground color (default:#e5e5e5)bg- Background color (default:#000000)cursor- Cursor color (defaults tofg)bright_*colors - Bright variants (default to normal colors if omitted)
Using Custom Themes
Once created, use like any built-in theme:config.toml
What Gets Themed
Terminal Emulator
- ANSI colors 0-15 in terminal output
- Terminal cursor color
- Default foreground/background
UI Elements
- Window borders (focused/unfocused)
- Dockbar indicators
- Mode colors (terminal, window, copy)
- Help menu styling
- Notification colors
- Copy mode cursor and selection
What Doesn’t Get Themed
- RGB/truecolor output from applications
- 256-color palette (colors 16-255)
- Application-specific colors
- External tool colors
16 ANSI Color Mapping
TUIOS applies themes to the standard 16 ANSI colors:| Index | Color | ANSI Code |
|---|---|---|
| 0 | Black | \e[30m |
| 1 | Red | \e[31m |
| 2 | Green | \e[32m |
| 3 | Yellow | \e[33m |
| 4 | Blue | \e[34m |
| 5 | Purple | \e[35m |
| 6 | Cyan | \e[36m |
| 7 | White | \e[37m |
| 8 | Bright Black | \e[90m |
| 9 | Bright Red | \e[91m |
| 10 | Bright Green | \e[92m |
| 11 | Bright Yellow | \e[93m |
| 12 | Bright Blue | \e[94m |
| 13 | Bright Purple | \e[95m |
| 14 | Bright Cyan | \e[96m |
| 15 | Bright White | \e[97m |
Example: Creating a Nord Theme
Here’s how to create a custom Nord-inspired theme:nord-custom.json
~/.config/tuios/themes/nord-custom.json, then:
Converting Terminal Themes
Many terminal theme formats can be converted to TUIOS JSON:From iTerm2/Terminal.app
- Find the ANSI color hex values
- Map to the JSON structure above
- Save as
theme-name.json
From Base16
Base16 themes map directly:Theme Troubleshooting
Theme Not Found
If a theme isn’t recognized:- Check the theme name:
tuios --list-themes - Verify custom theme file exists:
ls ~/.config/tuios/themes/ - Validate JSON syntax:
cat ~/.config/tuios/themes/my-theme.json | jq
Colors Look Wrong
- Ensure your terminal supports 24-bit color
- Check that the theme file uses hex colors (not color names)
- Verify
"id"matches the filename (minus.json)
Custom Theme Not Loading
Check for JSON errors:- Missing commas
- Trailing commas
- Unquoted keys/values
- Invalid hex colors (must be
#RRGGBB)
Theme and Terminal Compatibility
TUIOS theming works best with:- 24-bit color terminals (true color support)
- Modern terminal emulators (Kitty, WezTerm, Alacritty, iTerm2)
- Applications using ANSI colors (most CLI tools)
Next Steps
Settings
Explore all CLI flags and settings
Overview
Return to configuration overview