Skip to content

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.

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.

  1. Create a TOML file in data/themes/ (e.g. midnight.toml).
  2. Define all nine required fields.
  3. The theme name is derived from the filename stem — midnight.toml becomes the midnight theme.
  4. Switch to it at runtime with !themeswitch midnight.

Example:

data/themes/midnight.toml
canvas_bg_color = "#1a1a1a"
canvas_img_bg_color = "#1a1a1a"
canvas_alignment = "center"
canvas_border = 0
canvas_text_color = "#e0e0e0"
default_font = "Consolas"
header_text_color = "#ff6b6b"
index_text_color = "#4ecdc4"
subheader_text_color = "#ffe66d"

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.

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.
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.