Reload Lumina theme without using GUI


I’m having a go at creating a Lumina theme and so far I’ve found it easier to directly edit my theme files in ~/.config/lumina-desktop/{colors,themes} rather than using the built in editor (syntax highlighting, search etc).

I was wondering if anyone’s aware of a way to reload the Lumina theme without using the GUI?

I’m currently clicking Save in the Color Scheme Editor and then clicking Save in the Theme Settings to force the theme to reload.



To my knowledge there is no way to do this from the CLI. This process is actually being completely retooled right now. We’ve brought in a new Lumina-Theme-Engine, which will control all the themeing aspects, but there’s still a few things here and there that need to be tweaked. We do plan on adding syntax highlighting into the new QSS editor that we’ve included. It’ll take a little bit longer to smooth out the edges, but overall it’s a much better system.


Sounds good, if I compile the latest version of Lumina is this something I can play with?

Also, if I keep playing with the qss in the current version will this be wasted effort when the new theme engine is released or will this just be a new GUI for managing the same qss files?


Yes, it’ll build with the latest sources. If you upgrade a current setup, you may need to set the environment variable accordingly: QT_QPA_PLATFORMTHEME=lthemeengine
But it ‘should’ just work out of the box.

The plan will be to eventually deprecate the older stuff, but we’re a bit off from that. The new theme engine has a complete gui itself. You’ll see it in the application list as lumin-theme-engine. While it does currently duplicates a lot of the existing functionality, it also extends it quite a bit. We have included several theme templates with it, if you’re interested in theming, go ahead and edit them and then shoot me the .colors files and we’ll see about including them in our upcoming Lumina-Themes package which will include more wallpapers and themes.



I’ve compiled the latest version (which compiled a lot quicker then I expected) and I now have the Lumina-Theme-Engine :grin:

I jumped the gun and compiled the desktop before you got back to me and can confirm that you do need to set QT_QPA_PLATFORMTHEME=lthemeengine. The theme engine wasn’t working correctly until I re-compiled with it set.

That would be amazing. I’ll have a play around and if I come up with anything worth sharing I’ll definitely send it your way.

Thanks for the help (and thanks for the time you put into BSD Now, it’s very much appreciated)


Actually, it might not be working correctly.

If I change the Appearance > Color scheme and click Apply nothing happens. It also seems that any qss I enter in the editor isn’t taking effect. The fonts and icons are working as expected though.

If I run lumina-desktop I get:

$ lumina-desktop 
lthemeengine: using lthemeengine plugin
Single-instance lock found
 - Forwarding inputs to locking process and closing down this instance...

So the environment variable seems to have taken effect.

I’m also definitely using the newer version:

$ lumina-desktop --version
"1.3.1 (Git Revision: b1df5e55)"

Does Lumina output any logs anywhere? I can’t see anything in /var/log.



I’m not at my system, so I can’t check the code, but its possible that the QSS part of the theme engine isnt working right now because it’s conflicting with the existing (older) theme editor. Ken and I were talking about setting up a layering affect so that it’ll pull in those details and then add more custom styling accordingly. Enabling both to have control at the same time will cause major issues if they both have differing rules, because effectively the desktop will be trying to apply different values to the same variable.

In the mean time, the Fonts, Icons, and Appearance tabs will work fine.


Yeah that seems like a sensible solution. Will leave the qss section alone for now then.

I’ve signed up to the developer mailing list, is that the best place to keep tabs on this kind of stuff?


Just to follow up with the current state of the Lumina Theme Engine with the latest packages on UNSTABLE (or rebuilding Lumina from source):

  1. The “lthemeengine” Qt5 theme will be automatically setup/enabled by default when you login to the Lumina desktop. If you did not already have some other Qt5 theme engine enabled in your application theme settings(such as qt5ct), then lthemeengine will be pre-set for you instead.
  2. The “icon theme” setting within the theme engine will be used for everything (desktop + applications)
  3. The colors/qss settings are currently distinct between the desktop / applications. The lumina-config “themes” page is still used for modifying the desktop appearance itself, but the theme engine colors/qss are used for the applications.

The next step for the theme engine is to unify those colors/QSS settings so that there is a single place to go to change the appearance of everything on the system (everything Qt5-based at least). The color files should require almost nothing changed (just convert the old color files over to the new spec and pre-install them). The QSS files will require a bit more finesse because the desktop has a ton of “additional” themeable elements which need to be defined and setup outside of the generic Qt5 style elements.

The plan going forward is this:

  1. Convert color files from old->new format and pre-install
  2. In the theme engine, add knowledge of two distinct QSS file settings: “desktop” and “applications”. When the engine is loaded by the application have it look at the binary/application name and if it is “lumina-desktop” then it will combine the two QSS files into a unified stylesheet, but for all other applications it will only apply the “application” stylesheet.
  3. Cleanup the lumina-config “themes” page so the settings there no longer conflict with the theme engine itself (maybe add an “advanced” button which launches the main theme engine configuration utility?).


@beanpole135 thanks for such a detailed update, I really appreciate you doing that. This all sounds really promising as well :slight_smile:. I’m going to try and keep an eye on the repo so I can test things as they develop.

Would the themes section of lumina-config just become a theme selector once the theme engine is in place? So no selection of fonts or icons etc? If that’s the case then “advanced” might be a little strong and could end up hiding simple settings like these. Perhaps simply a “customise” button might be better? Ideally though I would completely replace the current themes page with the new theme engine. I think this would give the cleanest user experience and would put everything theme related in one place. No idea if that’s actually possible though?