Theming
repartee uses irssi-compatible format strings with 24-bit color support.
Theme files
Themes are TOML files stored in ~/.repartee/themes/. Set the active theme in your config:
[general]
theme = "mytheme"
This loads ~/.repartee/themes/mytheme.theme.
Theme structure
A theme file has two sections: colors and abstracts.
[colors]
bg = "1a1b26"
bg_alt = "24283b"
fg = "a9b1d6"
fg_alt = "565f89"
highlight = "e0af68"
nick_self = "7aa2f7"
timestamp = "565f89"
separator = "3b4261"
[abstracts]
line_start = "{timestamp $Z}{sb_background}"
timestamp = "%Z565f89$*"
own_msg = "{ownmsgnick $0}$1"
pubmsg = "{pubmsgnick $0}$1"
date_separator = "%Z3b4261─── $* ───"
backlog_end = "%Z565f89─── End of backlog ($* lines) ───"
Colors
The [colors] section defines hex RGB values (without #) for UI elements:
| Key | Description |
|---|---|
bg |
Main background color |
bg_alt |
Alternate background (topic bar, status line) |
fg |
Main text color |
fg_alt |
Muted text color |
highlight |
Highlight/mention color |
nick_self |
Your own nick color |
timestamp |
Timestamp color |
separator |
Border/separator color |
Abstracts
Abstracts are named format string templates that can reference each other. They control how every UI element is rendered — from message lines to the status bar.
See Format Strings for the full format string syntax.
Event formats
System IRC lines use [formats.events]. Each entry receives positional
arguments from the IRC event. For example, WHOIS replies can be themed with:
[formats.events]
whois = "%Zc0caf5$0%Z565f89 ($1@$2)%N %Za9b1d6$3%N"
whois_server = "%Z565f89 server: %Za9b1d6$1%N%Z565f89$3%N"
whois_channels = "%Z565f89 channels: %Za9b1d6$1%N"
end_of_whois = "%Z7aa2f7─────────────────────────────────────────────%N"
WHOIS event keys are whois_header, whois, whois_server, whois_oper,
whois_idle, whois_idle_signon, whois_channels, whois_away,
whois_account, whois_secure, whois_certfp, whois_keyvalue, and
end_of_whois.
WHOIS parameters follow IRC reply structure. Common examples: whois receives
nick, user, host, realname; whois_server receives nick, server, server info,
formatted server info; whois_idle_signon receives nick, idle duration, signon
time; whois_secure receives nick, display value, server text.
Default theme
If no theme is set, repartee uses built-in defaults with a dark color scheme inspired by Tokyo Night.