Les applications Flatpak ne semblent pas à leur place ? Voici comment appliquer les thèmes GTK sur les applications Flatpak

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 fait que les applications ne sont pas à leur place dans votre configuration par ailleurs magnifique.

Le moyen officiel d’appliquer les thèmes GTK aux applications Flatpak est de installer le thème souhaité en 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 tutoriel, je vais vous présenter un moyen de rendre les applications flatpak conscientes des thèmes GTK externes.
Contents
Application 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 », de sorte qu’elles n’ont pas accès au système de fichiers hôte, au réseau ou aux périphériques physiques 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 tutoriel 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 : Donnez aux applications Flatpak l’accès à 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.
À donner la permission à tous les paquets 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 flatpak documentation 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, récupérez 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 :

Sinon, 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 lancée utilise le thème que vous avez spécifié précédemment.
Voici une capture d’écran de la calculatrice GNOME et du générateur 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 toutes les dérogations à 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 précédemment remplacé le GTK_THEME ou le système de fichiers pour un package Flatpak spécifique en utilisant “flatpak override”, la réinitialisation vous aidera à le redéfinir.
Information additionnelle
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 à l’intérieur du 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 modifier 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.
Informations sur l’auteur : Cet article a été rédigé par le lecteur de It’s FOSS Hamza Algohary et édité par Abhishek Prakash. Hamza est un étudiant en génie informatique et un passionné de Linux et d’open source. Il développe également des applications pour le bureau Linux. Vous pouvez retrouver son travail sur son profil GitHub.