Updated  01/06/2026 - Will Godfrey

With the fairly recent builds there is a new tab in 'settings' called 'Theme' which enables you to manage any new colour themes you might like.
The list will initially have two entries 'classic' and 'demo'. These will be located in /home/{user}/.local/share/yoshimi/themes. Additionally 'demo' will appear in examples.

'classic' is a reference file which you can copy and use as a starting point for any new ones you may want to create, while 'demo' is a rather extreme example of what can be achieved. Clicking on any theme in the list will immediately apply it to all currently visible windows, and to any others as they are opened.

The 'Import Theme' button uses the standard filer to load new themes into the themes directory. These are not applied immediately but will appear during the next window refresh. Any time you chose a different theme to the one listed as default, the box identifying the one now in use will become active, along with the button for making it the default.

The themes are plain text files with a list of colour numbers and brief descriptive text. The colour entries can be either R,G,B format or hexadecimal #rrggbb. There must be no spaces within the colours themselves. If there are any errors, the line number of the first offending entry will be reported in the console window.

When creating a new theme you are strongly advised to set your greyscale first, as most of the other entries will be affected by this. You can reverse the grey values so that highlights become shadows and vice-versa, and entries with a grey element will also swap light to dark. The demo file sets this as 0,120, and changing it to 120,0, gives a very dark theme.

To set up a new theme quickly, load the default one into any text editor. Make your first changes and save the file to a new name in {user}/.local/share/yoshimi/themes, but keep it open. This will appear in the 'Themes' window. On seeing the change Yoshimi will recognise it so you can select and immediately test it. When you make further changes the display will be immediately updated.

Finally, the 'classic' file is a copy of the internally generated one and is never itself used. If it is missing it will be regenerated. Similarly the demo file is a copy of the one in Examples and will be re-copied if missing.
