> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flumeirc.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Themes

> Customize Flume's appearance with themes

## Using Themes

```
/theme                  # list available themes
/theme solarized-dark   # switch theme
/theme reload           # hot-reload current theme
```

Themes are TOML files in `~/.local/share/flume/themes/`.

## Shipped Themes

Flume ships with five themes in `examples/themes/`:

* `solarized-dark`
* `gruvbox-dark`
* `catppuccin-mocha`
* `catppuccin-glass` — transparent variant
* `miasma` — dark organic palette
* `miasma-glass` — transparent variant

Copy them to your themes directory to use them.

## Importing Themes

Import color schemes from external sources (like [Omarchy themes](https://omarchythemes.com/themes)) with a single command:

```
/theme import https://github.com/OldJobobo/omarchy-miasma-theme
```

This fetches the `colors.toml` from the GitHub repo, maps the color palette to Flume's theme format, and generates both a solid and transparent (glass) variant:

```
Imported theme: omarchy-miasma-theme
  Saved: omarchy-miasma-theme.toml
  Saved: omarchy-miasma-theme-glass.toml
Switching to imported theme...
```

Any GitHub repository with a `colors.toml` file containing the Omarchy format (accent, foreground, background, color0-15) is supported.

## Transparent Backgrounds

Add `transparent = true` to a theme's `[meta]` section to make all backgrounds use the terminal's default (showing through to your wallpaper or background image):

```toml theme={null}
[meta]
name = "my-glass"
transparent = true

[elements]
# foreground colors still apply normally
chat_message = "#cdd6f4"
# ... but all _bg colors become Color::Reset
```

Works with any terminal that supports transparency (iTerm2, Kitty, Alacritty, WezTerm, Ghostty with `background-opacity`). Set your terminal's transparency/blur to taste.

## Theme Format

```toml theme={null}
[meta]
name = "my-theme"
description = "A custom theme"
author = "Your Name"
version = "1.0"

[colors]
background = "#1a1b26"
foreground = "#c0caf5"
title_bar_bg = "#1a1b26"
title_bar_fg = "#7aa2f7"
status_bar_bg = "#1a1b26"
status_bar_fg = "#565f89"
input_bg = "#1a1b26"
input_fg = "#c0caf5"
buffer_list_bg = "#1a1b26"
buffer_list_fg = "#a9b1d6"
active = "#7aa2f7"
inactive = "#565f89"
unread = "#e0af68"
chat_timestamp = "#565f89"
chat_message = "#c0caf5"
chat_own_nick = "#7aa2f7"
chat_action = "#bb9af7"
chat_server = "#565f89"
chat_system = "#e0af68"
chat_highlight = "#f7768e"
chat_url = "#73daca"
scroll_indicator = "#565f89"
search_match_fg = "#1a1b26"
search_match_bg = "#e0af68"
nick_list_fg = "#c0caf5"
nick_list_op = "#f7768e"
nick_list_voice = "#9ece6a"

[nick_colors]
mode = "hash"
palette = ["#f7768e", "#ff9e64", "#e0af68", "#9ece6a", "#73daca", "#7aa2f7", "#bb9af7"]
```

## Color Values

Colors can be:

* Hex RGB: `"#FF5500"`
* Named: `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, `white`
* Bright variants: `bright_red`, `bright_green`, etc.

## Nick Colors

Nick colors are assigned by hashing the nickname and indexing into the palette. This gives each nick a consistent color that persists across sessions. Colors are reused in large channels.

## Generate a Theme with AI

```
/generate theme dark blue background with warm orange accents
```

See [LLM Generation](/commands/generate) for setup.

## Hot Reload

Themes are hot-reloadable — edit the TOML file and changes appear on the next render tick (\~33ms). You can also force a reload:

```
/theme reload
```
