A simple pak for NextUI to save/restore theme settings on the fly.
- Save the current theme (font, colors, global background, and every per-ROM-folder background) to a named slot, right on the device.
- Restore any saved slot later. Only the captured theme keys are touched --
wifi, Bluetooth, RetroAchievements, and every other setting in
minuisettings.txtare left exactly as they were. - Manage multiple named themes: save several looks and switch between them, or delete the ones you no longer want.
What counts as "the theme": font, fontStyle, color1-color7 from
minuisettings.txt, the global bg.png, and every .media/bg.png /
.media/bglist.png found under Roms/. See ../NextUI/theme-settings.md
for what each key means.
src/ theme_settings (minuisettings.txt read/merge-write),
theme_assets (background scan/copy), theme_store (slot
management), main.c (Apostrophe + PakKit UI)
ports/<platform>/ per-platform cross-compile Makefile + build output
pak-common/ shared launch.sh used by every platform's pak
scripts/ build_docker.sh / package_pak.sh
tests/ native unit/integration tests (no SDL dependency)
third_party/ Apostrophe + PakKit (git submodules)
make test # run the native unit/integration tests (no SDL needed)
make native # desktop SDL build for interactive UI testing
make run-native # build and run the desktop binary
make tg5040 # cross-compile for TrimUI Brick/Brick Hammer/Smart Pro (needs Docker)
make my355 # cross-compile for Miyoo Flip (needs Docker)
make tg5050 # cross-compile for Smart Pro S (needs Docker)
make package # build + package every platform into dist/*.pak.zipmake tg5040/my355/tg5050 pull ghcr.io/loveretro/<platform>-toolchain.
If that image isn't reachable, the sibling toolchain repos checked out
locally (../my355-toolchain, ../tg5050-toolchain) can build an equivalent
image from source -- point scripts/build_docker.sh at that image name
instead.
make native requires libsdl2-dev, libsdl2-ttf-dev, and
libsdl2-image-dev on the host.
- NexUI code base https://github.com/LoveRetro/NextUI checked out at ../NextUI/
- font and color settings are stored on the SDCARD under
/.userdata/shared/minuisettings.txt- see ../NextUI/theme-settings.md for values
- background and emulator images are defined in https://nextui.loveretro.games/customizing/emulator-icons/ as
bg.png
- Doc https://nextui.loveretro.games/paks/making-paks/#community-ui-toolkits
- Lib https://github.com/Helaas/Apostrophe
- More doc https://josediazgonzalez.com/2025/06/16/writing-a-pak-for-the-minui-and-nextui-launchers/
- Example Pak https://github.com/Helaas/nextui-CentralScrutinizer-pak
- Another example Pak https://github.com/ericreinsmidt/nextui-ledoh checked out at ../nextui-ledoh/