How to use Breeze theme in GTK4 apps?

I am using Manjaro KDE (default Breeze theme).

However, the GTK4 apps like Blanket and Wike use the Adwaita theme instead of Breeze. However, in Kubuntu 22.04, they seem to use the Breeze theme.

How to make GTK4 apps use Breeze theme in KDE Plasma in Manjaro?

A workaround is to add

export GTK_THEME=Breeze

to /etc/environment.

1 Like

Both KDE Plasma and Gnome are reading the GTK4 user config from ~/.config/gtk-4.0/settings.ini
While Gnome keeps it simple due to libadwaita, on KDE Plasma - the GTK settings synchronization background service, will populate the folder with KDE Plasma specific files, to cover also the colors-scheme used, and also give the proper window class decoration.

On my end, all the GTK4 apps use it, and they get in sync with the changes i do.

That file should remain as it is by default, empty.

The actual issue is that Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. so, in principle if you open blanket via Terminal you will see that warning. The proposal is: Please use AdwStyleManager:color-scheme instead. - but to be honest i failed to follow what is what …

Instead i would go either altering a copy of the .desktop file for such GTK4 app, so for example i place the one from Blanket in ~/.local/share/applications/com.rafaelmardojai.Blanket.desktop and change in it the line:



Exec=GTK_THEME=Breeze blanket

Or by altering the ~/.bash_profile with export GTK_THEME=Breeze so that way, when pam gets a new update the /etc/environment file is not overwritten …
Either way, if you also change the color-scheme accent color from System Settings, the GTK4 app needs a restart to catch up …


Putting environment variables on Exec doesnt often work as expected.
(a similar thing could be said about neglecting to use full paths)
Using sh -c is a good way to ensure it does. ex:

Exec=/usr/bin/sh -c "GTK_THEME=Breeze /usr/bin/blanket"

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.