Lumina and env variables

Ken Moore ken at ixsystems.com
Tue Jan 29 18:25:01 UTC 2019


On Monday, January 28, 2019 6:33:37 PM EST, Grzegorz Junka wrote:
>> Now for the lumina side of things.
>> 1. Lumina is completely Qt5-based, so the Lumina theme engine 
>> is *only* used for theming Qt5-base applications. This means 
>> that KDE4 applications will not use it (Qt4), Firefox/Chromium 
>> will not use it (GTK2/3), but the Falkon browser *will* use it 
>> (Qt5), and many of the KDE/Plasma5 applications will also use 
>> it (Qt5).
>> 
>> 2. Instead of going for the one-size-fits-all approach to 
>> themes that most engines use, the Lumina theme engine is a 
>> fork/update of qt5ct which is designed around the concept of a 
>> single theme engine being itself configurable. For example, I 
>> mentioned the QtCurve engine previously and it follows the 
>> "engine=look" model where if you don't like it you have to find 
>> another engine. qt5ct and lthemeengine take the approach that 
>> we stick to a single toolkit, but expose all of the 
>> configuration options via the engine itself - so a single 
>> engine can have an infinite number of appearance outputs. The 
>> only thing the engine needs to stay in-sync with is the toolkit 
>> it is allowing access to modify.
>
> Hi Ken,
>
> Many thanks for this comprehensive introduction to theme 
> engines. How does this approach "Lumina theme engine is a 
> fork/update of qt5ct which is designed around the concept of a 
> single theme engine being itself configurable" translates to 
> configuration files? When I change a theme in Lumina Theme 
> Engine does it update only files in .config/lumina-desktop or 
> also in some other folders related to other theme engines?
>
> And crucially for my problem, why Lumina Theme Engine behaves 
> differently when it's run from the menu and from the Desktop 
> Configuration tool? I guess it's something to do with 
> environment variables being set differently in those two cases?
>
> Thanks
> GrzegorzJ
>

So the Lumina theme engine has it's own configuration directory at 
${XDG_CONFIG_HOME}/lthemeengine (typically ~/.config/lthemeengine).
That is the same style/format as the qt5ct config directory, and has a 
single *.conf file and directories for user-defined colors and qss files.
Also: lthemeengine can be used *without* the lumina desktop by setting the 
QT_QPA_PLATFORMTHEME=lthemeengine environment variable, but you cannot use 
the lumina desktop without the lthemeengine (it expects particular 
functionality from the theme engine for it's own styling).

With regards to the different appearance when it is launched, I only have a 
couple options:
1. If the QT_QPA_PLATFORMTHEME environment variable is getting stripped out 
or changed, then that will change the appearance.
2. If the user running the app changes (such as switching from user -> 
root), that will cause the theme engine to load a different config file 
with different user settings. (/root/.config/lthemeengine vs 
/home/myuser/.config/lthemeengine).
3. If something is changing the XDG_CONFIG_HOME environment variable (which 
is commonly used for providing different "profiles" of settings by some 
users), then lthemeengine will be looking in a different directory for it's 
configuration file (${XDG_CONFIG_HOME}/lthemeengine).

Nothing within the lumina apps (or lumina-config) will make those changes 
automatically, and I am unable to reproduce the issue here, so you might 
want to check any settings you have which are modifying the environment and 
just disable/remove those.

-- 
~~ Ken Moore ~~
TrueOS/iXsystems


More information about the freebsd-x11 mailing list