Skip to content

Themes

A theme (also called a skin) is a folder of plain files. SwizzinIRC reads it, checks it and applies it. A theme is data: it can change colours, fonts, sizes, animation timing, restyle the toolbar, panels and tabs, and supply pictures. It cannot run code, load anything from the network, read your files or change what the program does.

%APPDATA%\com.swizards.swizzinirc\Themes\<theme-name>\

The default theme, b0r3d v1.0, is written there the first time SwizzinIRC starts so you have a complete example to copy. The same look is built into the program as a fallback, so deleting or breaking the folder never leaves you without a working interface. Appearance → Import & folder shows the exact path on your computer.

Themes\
my-theme\
theme.json required: name, version, colour and size tokens
theme.css optional: extra rules (restyling only)
toolbar-map.json optional: toolbar buttons or image-map toolbar
Graphics\ optional: PNG, JPEG, WebP or GIF images (max 512 KB each, 32 files)

Open Appearance from the toolbar, the status-bar link, or Ctrl+Shift+A, then choose Themes.

  • Preview applies a theme temporarily. Keep saves it; Revert (or closing the dialog) goes back.
  • Apply saves your choice.
  • Use on b0r3d v1.0 (built-in) returns to the shipped look.
  • Reset appearance (the dialog button, the toolbar’s right-click menu, or typing /theme reset) restores the built-in theme, the default toolbar and default display preferences. It keeps your layout and favourite channels.
  • Starting with --safe-theme (or SWIZZIN_SAFE_THEME=1) ignores the saved theme for that session.

The colour scheme (dark, light or follow system) is separate from the theme. A theme supplies colours for both.

{
"format": 1,
"name": "My theme",
"version": "1.0.0",
"author": "You",
"description": "One line.",
"tokens": {
"all": { "--radius": "4px", "--anim-fast": "100ms" },
"dark": { "--accent": "#ff9ecb", "--ribbon-glow": "rgb(255 158 203 / 0.5)" },
"light": { "--accent": "#a02b6a" }
}
}
  • format must be 1. Unknown or newer formats are refused with a message.
  • tokens.all applies to both colour schemes; dark and light apply only to that scheme.
  • A token name is -- followed by lowercase letters, digits and dashes. A value is plain CSS value text such as a colour, length, duration, font list, shadow or gradient. It may not contain url(...), ;, braces, <, >, \ or @, and is at most 300 characters. A theme may have at most 400 tokens.
Group Tokens
Surfaces --bg --bg-alt --bg-elev --bg-hover --border
Text --text --text-muted --system --self
Accent and state --accent --accent-contrast --accent-soft --focus --danger --warn --highlight-bg --highlight-bar
Nick colours --nick-0 … --nick-7
mIRC colours --irc-0 … --irc-15
Type and shape --font-ui --font-mono --fs --radius
Toolbar --ribbon-bg --ribbon-border --ribbon-btn-hover --ribbon-btn-active --ribbon-glow --ribbon-icon --ribbon-height --ribbon-icon-size --circuit
Menus --menu-bg --menu-hover
Motion --anim-fast --anim-med --glow-size

Keep text and background pairs at a contrast of 4.5:1 or better.

Your own motion preference always wins: Animation → Off disables transitions and animations whatever a theme says, and the operating system’s “reduce motion” setting is honoured too.

The bottom line SwizzinIRC · swizards.net is permanent. No theme or toolbar mapping can hide, replace or restyle it.

  1. Copy Themes\b0r3d-v1.0 to a new folder name.
  2. Edit theme.json (change name) and optionally theme.css.
  3. Open Appearance → Import & folder, choose Rescan, then Themes → Preview.

To import a theme someone sent you, unzip it, open Appearance → Import & folder, enter the folder’s full path and choose Import. It is validated first, and only the known files are copied.