Theme Engine - Mishiranu/Dashchan GitHub Wiki
A new theme engine was introduced in Dashchan 3.0.0. It allows to customize the UI colors using external JSON files.
Example theme:
{
"base": "dark",
"name": "Tomorrow",
"window": "#ff282a2e",
"primary": "#ff32343a",
"accent": "#ff81a2be",
"card": "@primary",
"quote": "#ffb5bd68",
"tripcode": "#ff33cc88",
"capcode": "#ff66bbff"
}
Here is the list of supported properties.
base
(required) — base theme. Eitherlight
ordark
.name
(required) — theme name. Each theme is identified by its name, so it's not possible to have multiple themes with the same name installed.Normie
andTomorrow
theme names are preserved by application and cannot be used.window
— window background color.primary
(desirable) — toolbar color.accent
— color used by all widgets. Defaults toprimary
if not specified.card
— color used as background of dialogs, cards, popups, and navigation drawer.post
— post comment color.meta
— post meta color — the lines above comment (name, date, image size) and the buttons below comment ("Expand", "Open thread", etc).spoiler
— spoiler background color.link
— link color. Defaults toaccent
if not specified.quote
(desirable) — quote color.tripcode
— tripcode (# hash
mark or generated name) color. Defaults toquote
if not specified.capcode
— capcode (## admin
mark) color. Defaults totripcode
if not specified.
Each color may be represented as:
#aarrggbb
—aa
for alpha,rr
for red,gg
for green, andbb
for blue.#rrggbb
—rr
for red,gg
for green, andbb
for blue.@name
— where name is the name of the color property (e.g.@primary
). Allows to make references to other colors.