如何将系统主题应用于使用 GTK4 的 flatpak 应用程序?

如何将系统主题应用于使用 GTK4 的 flatpak 应用程序?

我使用默认主题之一 - Yaru-dark Gtk 主题。我也通过 flatpak 安装了它。应用程序 ID 是org.gtk.Gtk3theme.Yaru-dark。我通过 flatpak 安装的一些应用程序遵循它,但其他应用程序遵循它。我注意到,不遵循它的应用程序使用 Gtk4 和 libadwaita,所以这可能是原因。有没有办法让其他应用程序也使用系统主题?我尝试org.gtk.Gtk4theme.Yaru-dark在 flathub 上寻找,但没有。

$ flatpak remote-ls flathub | grep -i yaru-dark
Yaru-dark Gtk Theme org.gtk.Gtk3theme.Yaru-dark     3.22

例如猴面包树使用 gtk4 并且不遵循系统主题,而我的画使用 gtk3 并遵循系统主题。

猴面包树 我的画

答案1

截至目前,flatpak Gtk4 应用程序仅支持AdwaitaAdwaita-DarkYaru-*如果安装)主题,但有一种解决方法。

您可以设置所有 GTK-4 应用使用它。为此,您需要为非 flatpak GTK3 和 GTK4 应用以及使用 GTK3 和 GTK4 的 flatpak 应用设置主题。

非 flatpak GTK-3 应用程序

使用 gnome-tweaks。在外观部分进行更改。

非 flatpak GTK-4 应用程序

在主题安装程序中设置一个选项以使用libAdawita。我使用的主题 (Orchis) 有此选项。如果没有,或者没有安装程序,请将~/.themes/[Your-Theme]/gtk-4/ 或/usr/share/themes/[Your-Theme]/gtk-4.0/(其中Your-Theme是主题名称) 中的文件复制到~/.config/gtk-4.0/。您必须在那里覆盖默认的 Adawita 内容,因此如果您担心,请备份它。

Flatpak GTK-3 应用程序

从 Flathub 安装你的主题:

flatpak install org.gtk.Gtk3theme.Yaru-dark

(本例中我们使用Yaru-dark)

如果您的主题不在 Flathub 上(可能不在),您可以使用这些命令允许他们读取文件夹并使用您的主题。

sudo flatpak override --filesystem=$HOME/.themes/
sudo flatpak override --filesystem=$HOME/.icons/

(后一个命令还允许他们使用您的图标和光标包)

Flatpak GTK-4 应用程序

授予应用程序访问它的权限并GTK_THEME为其设置环境变量。我使用了平封,但可以通过flatpakcli 完成。

/usr/share/themes/文件夹在 Flatpak 中被列入黑名单,因此无法设置。我尝试过符号链接,但它们不起作用。您必须将主题复制(或移动)到~/.themes/或存储主题的另一个文件夹。

sudo flatpak override --filesystem=$HOME/.themes/
sudo flatpak override --env GTK_THEME=Yaru-Dark

答案2

作为用户,我们有时需要一点耐心。Ubuntu 创建了 Yaru,Ubuntu 创建了 Snap。对于 Snap 软件包,他们采用了使用 libadwaita (GTK4) 的应用程序的 Yaru 外观。如果他们采用 Flatpak,它已经适用于 Flatpak。

我们还没到这一步。这是免费软件,因此一旦有人创建 flatpak,它就可以工作。

相关内容