ThemeMaster is an EmulationStation theme manager for small screen devices running ArkOS, RetroOZ, TheRA, JELOS, UnofficialOS, NostixOS or ROCKNIX.
ThemeMaster needs to map the device’s D-pad and buttons to keys that can be used with the ‘dialog’ function which requires a specific implementation for every input driver. Please report for additional support if your input driver is not recognised. Here some few devices being supported :
- Gameforce Chi
- Powkiddy RGB10, RGB10 Max/3, RGB30, X55 and XU10
- Anbernic RG351P/M/V, RG552, RG503 and RG-ARC
- RK2020
- R36S
- Odroid-go Advance, Super and Ultra units
User Guide
Installation
- First, download the latest version of ThemeMaster from here.
- Open the zip file and extract the
ThemeMaster.sh
file andThemeMaster
folder.
ArkOS (021-02-13 or newer)
- Place
ThemeMaster.sh
andThemeMaster
folder in/roms/tools
.- NB : on RG351V, if SD2 is being used for roms, installation must be in
/roms2/tools/
.
- NB : on RG351V, if SD2 is being used for roms, installation must be in
- Run ThemeMaster from ArkOS Options > Tools menu.
TheRA
- Place
ThemeMaster.sh
andThemeMaster
folder in/opt/tools
.
RetroOZ (0.50 - Beta - 2 July or newer)
- Place
ThemeMaster.sh
andThemeMaster
folder in/roms/tools
(or directly in /opt/system/Tools).
JELOS, ROCKNIX
- Place
ThemeMaster.sh
andThemeMaster
folder in/storage/roms/ports
. - Run ThemeMaster from Ports menu.
Controls
Navigation
- Controls are : d-pad to move, A to validate, B to select an item in radiolist and checklist.
- Select key exits ThemeMaster.
- You can force quit ThemeMaster by pressing Select + Start.
Theme’s preview
- Controls are : X to quit displaying a picture, Y to rotate a picture.
NB : theme’s description from GitHub will be displayed when no preview is available.
Application Modes
Theme Gallery mode (default one)
In Theme Gallery mode, ThemeMaster relies on information from Emulationstation-OGA-Theme-Gallery by Jetup to create a bespoke theme collection (allowing access from different GitHub accounts at once). Collection is cached locally and updated at startup whenever new commit exists on Emulationstation-OGA-Theme-Gallery repository.
GitHub Repository mode
In GitHub repository mode, ThemeMaster creates a live theme’s collection by pulling information from a GitHub account based on repositories starting with “es-theme”. You can change the account to be used from ThemeMaster Settings menu.
Nota Bene
- Theme management is based on GitHub repository’s name. Please note that name duplicates between different GitHub accounts is not managed ; this could lead to replacing a theme with another in this scenario.
- Theme’s update management is based on latest GitHub commit’s date on the associated repository.
- Uninstaller allows removal of stock themes which you may not be able to reinstall via ThemeMaster.
Configuration file
ThemeMaster’s configuration and user’s preferences are saved in the ThemeMaster.cfg
file which is (re)generated with default values and settings whenever missing.
All user’s preferences can be set through the application but some configuration changes can only be done by manually editing the configuration file.
Editing GitHub accounts list
The list of GitHub accounts used in Repository mode can be manually amended by editing the collections
variable.
It is expected that you do not remove the default GitHub accounts, if you do so they will be restored whenever the application is updated.
Any GitHub account manually added to the collection will be kept when updating the application.
Before adding an account, please make sure that repositories are pre-set with the correct ES folder structure as ThemeMaster relies on GitHub source file’s structure.
Dialog UI color schemes
ThemeMaster color schemes are defined in runtime configuration files placed within the ThemeMaster
folder.
Additional configuration files can be added following the same name pattern : [name].dialogrc
They must be manually referenced in the app_colorscheme
variable (without the extension).
Nota Bene
- Files within the
data
subfolder are automatically (re)generated by the application. - Prerelease versions may have been barely tested, use at your own risk.
Credits
ThemeMaster reused some external code to emulated keyboards and to display pictures :
- ‘tm-joypad’ binary is based on AnberPorts-Joystick by Kris Henriksen
- ‘image-viewer’ binary is based on Image Viewer by Adrien Ricciardi
Background
Original script ArkThemes was developed for ArkOS by TadMSTR based on AnberPorts with contributions from choo t and JohnIrvine.
Most evolutions have been initially implemented on ArkThemes-fork which has reached EOL following the release of ThemeMaster (new name suggested by 5uck3rpunch).
Support ThemeMaster
No better support than ThemeMaster being used! If you have a GitHub account you can show it by starring the project.
Feel free to suggest any enhancement and to report any issue directly through GitHub. Alternatively - and for any questions, comments or feedback - you can find me on the Retro Game Handhelds Discord’s server.