Skip to content
Jiří Janoušek edited this page Jul 14, 2018 · 4 revisions

Theming Nuvola Apps

Nuvola Apps are distributed as Flatpak packages, which cannot directly use the system theme. This happens because flatpaks do not have the ability to use data files or libraries in /usr (where system themes are typically located). The solution to this was to package themes as Flatpaks, as relying upon the host to have the correct version for every flatpak defeats the portability benefits it provides. The theming system requires Flatpak 0.8.4+.

See also: Nuvola Adds Detection of Headphones and Changes Approach to GTK Theming

Installing themes

The current Gtk themes are packaged in the flathub repository which you can add (if it's not already added) by running:

$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo

To see a list of currently packaged themes you can use the command flatpak search gtk3theme (available since Flatpak version 0.10.1). In case you use an older version of Flatpak than that, you can use the command flatpak remote-ls flathub | grep org.gtk.Gtk3theme. The difference in output between these two commands is that the first prints the application ID, the remote from which the theme comes and the theme's description, while the second prints only the full name of the theme's flatpak package.

You can install themes with the command flatpak install flathub org.gtk.Gtk3theme.Foo, replacing Foo with the name of the desired theme.

Applying themes

You can change GTK+ theme in the Preferences dialog:

Nuvola >= 4.11.58:

click_appearance change_theme

Nuvola < 4.11.58:

GTK+ theme selector

Icon themes

Nuvola can see host icon themes since Flatpak 0.8.8.