Skip to main content
This is unreleased documentation for the next Zaparoo Core release.
For up-to-date documentation, see the latest version (Stable).
Version: Next

Customize Frontend

Zaparoo Frontend can switch color schemes, and load your own system artwork, Hub icons, and system display names without rebuilding Frontend.

Image and name customization is read at startup. Restart Frontend after adding, changing, or removing custom files.

Color scheme

Open Settings > Appearance > Color scheme to change the colors used across every screen. There are 19 presets: Zaparoo Dark, Zaparoo Light, and Classic Purple; editor and terminal palettes such as Nord, Dracula, Synthwave '84, Gruvbox, Everforest, Solarized Dark, Rosé Pine, and Oxocarbon; the light Flexoki Paper and Solarized Light; and retro sets like Amber Phosphor, Green Phosphor, Neo Geo, NES, Virtual Boy, and Game Boy. The change applies immediately.

Color scheme picker showing a three-color swatch for each preset

The selection is stored in /media/fat/zaparoo/frontend.toml:

frontend.toml
[settings]
color_scheme = "nord"

The picker shows a three-color swatch for each preset. In the file, the value is the preset name in lowercase with hyphens, such as nord, dracula, or amber-phosphor; an unknown value falls back to zaparoo-dark.

Presets recolor Frontend's built-in tinted artwork. Your own images and full-color logos are not changed.

Color intensity, on the same page, sets how strongly the accent color tints tile edges and selected rows. Subtle is the default and matches earlier releases; Vivid pushes the tint harder. It is stored next to the scheme:

frontend.toml
[settings]
color_scheme = "nord"
color_intensity = "vivid"

Custom folder

On MiSTer, the default customization folder is:

/media/fat/zaparoo/custom/

Create one subfolder for each kind of image override:

/media/fat/zaparoo/custom/
systems/ # system artwork in the systems grid
hub/ # Hub category and action icons

To use another folder, edit /media/fat/zaparoo/frontend.toml:

frontend.toml
[custom]
dir = "/media/usb/zaparoo-art"

Image filenames

Name each image after the ID it overrides. Matching is case-insensitive, so snes.png and SNES.png match the same system.

Supported image types are PNG, JPG, JPEG, WEBP, BMP, and SVG.

System artwork

System artwork in systems/ uses Zaparoo system IDs:

systems/snes.png
systems/genesis.svg
systems/turbografx16.webp

Hub icons

Hub icons in hub/ use category or action IDs:

IDHub item
arcadeArcade category
computerComputer category
consoleConsole category
handheldHandheld category
otherOther category
resumeResume
favoritesFavorites
recentsRecently played
updateUpdate
settingsSettings
hub/arcade.png
hub/favorites.svg
hub/settings.svg

A tile you added to the Hub yourself can use its own icon too: give the [[hub.items]] entry in frontend.toml an icon = "name" value and drop a matching hub/name.png in the folder.

Custom images are shown as-is. Built-in icons are tinted to match the color scheme, but your override images are not recolored.

System names

To rename systems in Frontend, add a [custom.system_names] table to /media/fat/zaparoo/frontend.toml:

frontend.toml
[custom.system_names]
snes = "Super Nintendo"
psx = "PlayStation"
genesis = "Mega Drive"

The key is the system ID. Matching is forgiving about case and punctuation, so snes, SNES, and S.N.E.S resolve to the same system.

Custom names take priority over Frontend's built-in regional names and names reported by Core.

Regional system names

Frontend also includes built-in regional system names and logo variants. Open Settings > Language, then set Region to Automatic, Americas, Europe, or Japan.

Use custom system names when you want a specific name regardless of the regional setting.

System logo style

Frontend ships its built-in system logos in two styles. Settings > Appearance > System logos switches between Tinted, which follows the active color scheme, and Full color. Tinted is the default. This setting only affects the built-in logos, not your own system artwork.

Configuration file

Frontend stores its settings in /media/fat/zaparoo/frontend.toml and edits that file in place, so comments you add by hand survive. The Hub layout is a list of [[hub.items]] entries, one per tile, with a type of category, action, system, folder, zapscript, or blank and an id, path, or script to match:

frontend.toml
[[hub.items]]
type = "category"
id = "Arcade"

[[hub.items]]
type = "action"
id = "favorites"

[[hub.items]]
type = "zapscript"
script = "**launch.random:SNES"
name = "Random SNES"

Arranging tiles from the Hub writes this for you. Leave the [hub] known list alone; Frontend uses it to remember tiles you removed.