Theme System
This content is for v1.0.0. Switch to the latest version for up-to-date documentation.
Themes control the visual appearance of Mumimo’s HTML GUI messages. Each theme is a TOML file that defines nine style fields, and themes can be switched at runtime without restarting the bot.
Theme Fields
Section titled “Theme Fields”Every theme file must include all nine fields:
| Field | Type | Default | Description |
|---|---|---|---|
canvas_bg_color |
str |
"black" |
Canvas background color. |
canvas_img_bg_color |
str |
"black" |
Image background color. |
canvas_alignment |
str |
"center" |
Text alignment. |
canvas_border |
int |
0 |
Border width in pixels. |
canvas_text_color |
str |
"Snow" |
Default text color. |
default_font |
str |
"Georgia" |
Default font family. |
header_text_color |
str |
"red" |
Header text color. |
index_text_color |
str |
"cyan" |
Index text color. |
subheader_text_color |
str |
"yellow" |
Subheader text color. |
Colors accept any valid CSS color value — named colors, hex codes, rgb(), etc.
Creating a Custom Theme
Section titled “Creating a Custom Theme”- Create a TOML file in
data/themes/(e.g.midnight.toml). - Define all nine required fields.
- The theme name is derived from the filename stem —
midnight.tomlbecomes themidnighttheme. - Switch to it at runtime with
!themeswitch midnight.
Example:
canvas_bg_color = "#1a1a1a"canvas_img_bg_color = "#1a1a1a"canvas_alignment = "center"canvas_border = 0canvas_text_color = "#e0e0e0"default_font = "Consolas"header_text_color = "#ff6b6b"index_text_color = "#4ecdc4"subheader_text_color = "#ffe66d"Loading Order
Section titled “Loading Order”Bundled themes from assets/themes/ are loaded first. User themes from
data/themes/ are loaded after. If a user theme has the same filename as a
bundled theme, the user theme takes precedence.
Bundled Themes
Section titled “Bundled Themes”Mumimo ships with the following themes in assets/themes/, all available
out of the box via !themeswitch <name>:
| Theme | Background | Header / Index / Subheader | Notes |
|---|---|---|---|
default |
black |
red / cyan / yellow | Pre-theme-system look. |
midnight |
#0a0a2a |
#ff6b6b / #6bcfff / #ffd966 |
Dark blue, light text. |
forest |
#1b2a1f |
#7fb069 / #a3c585 / #e8c547 |
Deep green canopy, earthy. |
sunset |
#2b1b17 |
#ff7e47 / #ffb86b / #ff5d8f |
Warm dusk orange and pink. |
ocean |
#0d2b3a |
#48cae4 / #90e0ef / #ffd166 |
Deep teal sea, aqua highlights. |
monochrome |
#1a1a1a |
#ffffff / #a0a0a0 / #c8c8c8 |
Minimal grayscale, high contrast. |
cyberpunk |
#0a0a12 |
#ff2bd6 / #00fff5 / #fcee0a |
Neon pink/cyan on near-black. |
paper |
#f5f0e6 |
#8b2c1a / #1f5f8b / #7a5c00 |
Light parchment, ink-dark text. |
lavender |
#2a2438 |
#b39ddb / #d4c5f9 / #ffd166 |
Soft purple pastels, muted gold. |
terminal |
#000000 |
#66ff66 / #00cc66 / #ffff66 |
Retro phosphor-green, left-aligned. |
Commands
Section titled “Commands”| Command | Description |
|---|---|
!themelist |
List all available themes. |
!theme |
Show the currently active theme. |
!themeswitch <name> |
Switch to a different theme. |
!themereset |
Reset to the default theme. |