Can't find a way to fix theming inconsistencies in Fedora 39

I installed Fedora 39 and have been trying to fix a very elusive theming issue. I have tried several recently updated themes like Orchis (see image) among others, but nothing seems to cover all applications.

Things I have done:

  • Placed themes within ~/.themes and used Tweaks to set it
  • Set Appearance settings to Dark Mode on settings app
  • Placed GTK-4.0 files within ~/.config/GTK-4.0
  • Used Flatseal to make entries in “Persistent” for $HOME/.themes and in “Environment” for GTK_THEME=Orchis-Dark for All Applications
  • Edited the GTK-3.0 and GTK-4.0 “settings.ini” file to show: gtk-application-prefer-dark-theme=1
  • Edited the ~/.bash_profile to include an “export GTK_THEME=Orchis-Dark” line in the bottom.
  • Followed instructions in ReadMe and used the “install.sh” file for the theme as instructed on the command line
  • re-logged and restarted the system

And still many applications, as you can see appear not only with the theme I have given them, but do not show or respect even the default dark theme. Why do some RPM apps and flatpaks respect my theme, and others do not? Does anyone know how to fix it? It worked perfectly for me in Fedora 38/Gnome 44, and I don’t really know what’s changed to break it now.

Don’t set GTK_THEME. That breaks libadwaita apps, e.g. why the padding is messed up in Extension Manager.

The only way to theme libadwaita apps is with a custom stylesheet in ~/.config/gtk-4.0 as you’ve done. If you want that to work in flatpak, that needs to be exposed in the sandbox too:

flatpak override --user --filesystem=xdg-config/gtk-4.0

Do you mean not to set it in Flatseal or in the Bash_Profile file?

You shouldn’t set it anywhere. The official line is that GTK_THEME is only meant as a debugging tool.

I removed it from both places and set the flatpak override command.

No changes at all.

Please reset all global overrides in Flatseal, using the Reset button in the header bar. After doing so, open a libadwaita app like Extension Manager. If you’ve enabled the dark style preference in Settings, it should appear dark but using the default libadwaita theme. Is that what you see?


That would need to be as a filesystem override, not persistent. A persistent directory is private to the sandbox. It’s used for .mozilla in the Firefox flatpak, for example.

Reset Flatseal and see this with Extensions and Extension Manager:

At least the background is dark now

Please share any output from these four commands:

flatpak override --show 
flatpak override --show --user 
flatpak override --show com.mattjakeman.ExtensionManager 
flatpak override --show --user com.mattjakeman.ExtensionManager

[Context]
filesystems=/home/aurelius/.themes;xdg-config/gtk-4.0;

[Environment]
GTK_THEME=WhiteSur-Dark-solid

[Context]
filesystems=$HOME/.themes

No output

no output

I see a problem with that first output, as I am not currently trying to use the WhiteSur-Dark-solid theme. How do I change it to the correct one?

The commands without --user check the system installation. Those must have been set with sudo flatpak override .... Flatseal uses the user installation and isn’t even aware of system overrides.

sudo flatpak override --reset

After that, you can add back the xdg-config:gtk-4.0 override in Flatseal.

The sudo flatpak override --reset seems to have fixed the issue. All apps appear to be respecting the theme now. Where in flatseal should I put the xdg-config:gtk-4.0override?

As a global filesystem override, or you can just run this again:

The effect is the same.

1 Like

Can’t thank you enough Chris, you really solved the issue efficiently. After a day of head-scratching, I didn’t expect such a solution within 1 hour but you did it. Cheers! :fedora: