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.

The selection is stored in /media/fat/zaparoo/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:
[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:
[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.
- Bitmap files must be 8 MiB or smaller, have no edge over 8192 pixels, and fit a 32 MiB decoding memory budget.
- SVG files must be 256 KiB or smaller and use self-contained vector artwork, without embedded or referenced images or SVG filters.
Invalid or oversized files fall back to built-in artwork. Resize the image or convert an unsupported SVG to PNG if your override is ignored.
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:
| ID | Hub item |
|---|---|
arcade | Arcade category |
computer | Computer category |
console | Console category |
handheld | Handheld category |
other | Other category |
resume | Resume |
favorites | Favorites |
recents | Recently played |
search | Search |
update | Update |
settings | Settings |
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:
[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, search, or blank and an id, path, or script to match:
[[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.
Saved searches
A search tile opens the results of a search. Add to Hub on the results writes one for you:
[[hub.items]]
type = "search"
name = "SNES and Genesis RPGs"
query = "final"
systems = ["SNES", "Genesis"]
tags = ["genre:rpg", "year:1994"]
| Key | What it does |
|---|---|
query | Text to match in game names. Leave it out to list everything the other keys allow. |
systems | System IDs to search. Leave it out to search every system. A tile written by hand can name several. |
tags | Tags a game must have, written as type:value. |
path | Limits the search to one folder, as Search here... does. It is a full path, so edit it if the games move to another drive. |
A tile needs at least one of these keys.