ES to Pegasus theme converter
PS. Note that the generated code is ugly and not how a human would write QML files. They should not be used as a learning material in general.
msheehan79 last edited by
Very cool! While I've become a big fan of what is possible with a Pegasus theme, I think being able to convert ES themes to work with Pegasus will make theming a whole lot more accessible than building a theme in QML from scratch.
I know it's still early days, but figured I'd pass along that when I tried loading Pegasus with the 'es-theme-retrowave' theme in the themes directory Pegasus wouldn't start at all - no log file it just wouldn't boot. Moving that particular theme out of the folder and it works fine.
xFJSx last edited by xFJSx
I was looking for some slightly improvements of your project... and found this.
In other words I really like your work. :)
@msheehan79 Are you using the latest version? There was a crash related to themes, but I've just fixed that yesterday.
msheehan79 last edited by
@fluffypillow Thanks - I was using a relatively recent build, but not yesterday's release. That one does seem to have fixed it.
- Added carousel support (the system info bar will also come next)
- Gradients and color shifts now work properly
- Lots of small improvements in the code generation and validation
These make quite a few modern themes now usable:
It will be interesting to try performance of emulationstation vs the pegasus variants
mattyj513 last edited by
@fluffypillow, sorry in advance for the pending noob questions. I am setting up Pegasus on Android, I have my systems set up through retroarch, meta and art setup and displaying, and I'm now attempting to use your tool/converted es theme and can't get it to display properly. the theme is gbz35-dark, I tried your converted theme and the background images for each system do not show, just a grey background. the system logos show correctly, but the carousel background is white instead of dark. As far as using your script, I have tried it several times and can't get it to work. for example I put the existing theme folder in the same folder as your script and files, and through terminal tried "./convert gbz35 [gbz35p]" tried entering python and the same, tried without the ./ etc. from windows I get a wall of text ending with list index out of range. Any chance of a more detailed step by step? New to Linux, es, pegasus, and retropie, and any help is much appreciated.
@mattyj513 Hi, here's how you can use it:
cdinto the theme's directory, eg.
- run the converter with two separate dots as parameter, which means "read from the current dir" and "write to the current dir":
path/to/convert.py . .
- you should now see a list of warnings and other information, this is fine; the last line should be
[i] Writing files...
- change the theme in Pegasus, and you should see it load:
The script is not perfect yet, so some themes may have issues. In this case the images seem to have some scaling problems, but otherwise the conversion worked fine.
Not sure how things are on Windows, you'll need Python 3 and I think its installer will make it available from the command line. Then you can
python convert.pyto launch the script. On Linux you can just
Some Linuxy things, a leading
./means run the stuff that is in the current directory, as opposed to something that is installed system-wide.
outputdiris an optional parameter, not literal
s. Not adding an output parameter will make the script only check the theme for issues that might happen during the conversion.
Hope that helps!
mattyj513 last edited by mattyj513
@fluffypillow Perfect, exactly what I was looking for. I knew about purpose of "./", "[ ]" is new to me though. Going to work on fixing the system logo sizes, other than that the rest of the theme seems to be as it should. Thanks again!