L'une des raisons pour lesquelles certains utilisateurs évitent d'installer des applications Flatpak est que la plupart des applications Flatpak ne changent pas leur apparence selon le thème système actuel. Cela rend les applications hors de leur place dans votre belle configuration.
La manière officielle d'appliquer des thèmes GTK aux applications Flatpak consiste à installer le thème souhaité en tant que flatpak. Cependant, seuls quelques thèmes GTK peuvent être installés en tant que Flatpak.
Cela signifie que si vous avez trouvé un beau thème GTK, vos applications Flatpak utiliseront toujours leur apparence par défaut. Mais attendez! Il existe une solution de contournement.
Dans ce didacticiel, je vais vous présenter un moyen de rendre les applications flatpak conscientes des thèmes GTK externes.
Appliquer des thèmes GTK aux applications Flatpak (niveau intermédiaire)
Avant de continuer, comprenons pourquoi les applications flatpak ont ce comportement.
Les applications Flatpak s'exécutent dans un "conteneur", elles n'ont donc pas accès au système de fichiers, au réseau ou aux périphériques physiques de l'hôte sans définir explicitement l'autorisation appropriée, et c'est ce que nous allons faire.
Comme je l'ai dit plus tôt, il s'agit d'une solution de contournement, pas d'une solution sans faille. Ne vous attendez pas à ce qu'il modifie automatiquement les thèmes des applications Flatpak lorsque vous modifiez le thème du système. Vous pouvez cependant le modifier pour toutes les applications Flatpak en une seule commande.
Voyons comment y parvenir. Veuillez noter que ce didacticiel nécessite que vous soyez un peu familiarisé avec la ligne de commande Linux et que vous puissiez vous repérer dans le terminal.
Étape 1 :Autoriser les applications Flatpak à accéder à l'emplacement des thèmes GTK
Les thèmes GTK sont situés dans /usr/share/themes pour tous les utilisateurs, et dans ~/.themes pour un utilisateur spécifique.
Pour accorder l'autorisation à tous les packages flatpak pour accéder à ~/.themes exécutez la commande suivante :
sudo flatpak override --filesystem=$HOME/.themes
Notez que vous ne pouvez pas donner accès à /usr/share/themes car, selon la documentation flatpak, ils sont sur la liste noire.
Alternativement , vous pouvez également le faire par application. Vous devez spécifier l'ID de l'application pour laquelle vous allez changer le thème.
sudo flatpak override org.gnome.Calculator --filesystem=$HOME/.themes
Étape 2 :Dites aux applications Flatpak quel thème utiliser
Donner accès à ~/.themes n'est pas suffisant car ce répertoire peut contenir plusieurs thèmes. Pour indiquer à flatpak quel thème GTK utiliser, obtenez d'abord le nom du thème souhaité, puis appliquez la commande suivante :
sudo flatpak override --env=GTK_THEME=my-theme
Comme vous pouvez le voir dans la capture d'écran ci-dessous, deux thèmes sont disponibles, Ant-Bloody et Orchis-dark. Copiez et collez le nom exact du thème dans la commande ci-dessus :
Alternativement, pour une application individuelle, exécutez :
sudo flatpak override org.gnome.Calculator --env=GTK_THEME=my-theme
et remplacez my-theme par le nom du dossier du thème que vous souhaitez appliquer (et il doit se trouver dans ~/.themes).
Étape 3 :Testez le changement de thème en exécutant une application Flatpak
Si l'application était déjà en cours d'exécution, vous devrez la fermer et la redémarrer. Vous verrez que l'application nouvellement démarrée utilise le thème que vous avez spécifié précédemment.
Voici une capture d'écran de la calculatrice GNOME et du constructeur GNOME (version Flatpak) avant les étapes ci-dessus :
Et après les étapes ci-dessus (avec le thème Canta GTK):
C'est mieux, non ? Maintenant, je pourrais vous laisser ici, mais il serait approprié de mentionner les étapes pour annuler les modifications.
Annuler les modifications
Vous pouvez réinitialiser les modifications en réinitialisant tous les remplacements à la fois. Veuillez noter que cela réinitialisera tous les remplacements précédents que vous aviez explicitement définis.
sudo flatpak override --reset
Vous pouvez également réinitialiser les autorisations au niveau du package :
sudo flatpak override --reset org.example.app
Si vous avez déjà remplacé le GTK_THEME ou le système de fichiers pour un package Flatpak spécifique à l'aide de la réinitialisation "flatpak override", cela vous aidera à le définir à nouveau.
Informations supplémentaires
Les applications GTK normales chargent le thème GTK spécifié par gsettings, vous pouvez exécuter la commande suivante pour obtenir les thèmes GTK actuellement appliqués :
gsettings get org.gnome.desktop.interface gtk-theme
Et pour définir le thème GTK, exécutez :
gsettings set org.gnome.desktop.interface gtk-theme my-theme
Pour faire ce qui précède avec Flatpak, vous devez entrer une session shell dans le conteneur de l'application souhaitée en exécutant :
flatpak run --command=bash org.gnome.Calculator
Et dans cette session, exécutez la commande ci-dessus :
gsettings set org.gnome.desktop.interface gtk-theme my-theme
Mais cela n'a pas fonctionné avec moi, j'ai donc eu recours à la variable d'environnement GTK_THEME, qui est censée être utilisée à des fins de débogage. Si vous avez réussi à faire fonctionner gsettings, dites-le moi dans les commentaires.
Je sais que ce n'est pas une solution automatisée, mais au moins, cela vous donne la possibilité de changer les thèmes des applications Flatpak avec quelques commandes. De cette façon, vous pouvez intégrer l'application Flatpak au reste du système.
J'espère que cela vous a aidé. Si vous rencontrez des problèmes, veuillez les mentionner dans les commentaires.
Article d'origine