Table des matières
Applications Gtk sous KDE
On traite ici du problème des personnes utilisant KDE comme environnement de bureau.
L'interface graphique de certaines applications (tq. iceweasel/firefox) utilise la boîte à outils graphique Gtk (2 ou 3). KDE s'appuie sur Qt, d'où certains problèmes d'uniformité de l'interface. Les deux principaux aspects concernés sont l'apparence et l'interaction (le “look and feel”).
En termes d'apparence, on veut que les applications aient à peu près la même allure : habillage, polices, icônes, fenêtres de dialogue, etc.
En terme d'interaction, on veut que les applications réagissent de la même manière : réaction aux actions de la souris, simple ou double clic, ordre de classement dans les liste. Un exemple critique est celui des fenêtres de sélection de fichier (file chooser, file picker).
Il existe plusieurs stratégies pour uniformiser l'interface des applications. Il est conseillé de choisir une stratégie et de s'y tenir, sinon on risque de ne plus savoir où est géré tel ou tel paramètre de configuration. On évitera notamment de picorer ça et là, sur le web, des recettes partielles qui ont toutes les chances de s'inscrire dans des stratégies différentes (même si les contributeurs n'en savent rien).
Apparence
QtCurve
Un moyen rapide d'uniformiser la présentation est d'utiliser QtCurve. Ce jeu de composants graphiques existe aussi bien pour Qt que pour Gtk. Chaque application utilise la variante qui lui convient (Qt ou Gtk) pour produire, au final, un rendu similaire.
Sous Debian Whezzy, on installe le paquetage-chapeau qtcurve.
$ sudo apt-get install qtcurve
On indique ensuite à KDE d'utiliser QtCurve : Configuration du système > Apparence des applications. Ainsi, les applications basées sur Qt utiliseront QtCurve.
Pour les applications basées sur Gtk, aucune configuration n'est nécessaire si QtCurve a été installé sur une système vierge1). Si les applications Gtk s'obstinent à ne pas utiliser Qt Curve, il faut définir explicitement. On installe alors le paquetage gtk-chtheme qui permet de choisir le “thème” appliqué à Gtk (ici, QtCurve).
$ sudo apt-get install gtk-chtheme
Il est également possible de choisir le thème appliqué à Gtk à travers le panneau de configuration de KDE, moyennant l'installation d'un paquetage supplémentaire : kde-config-gtk-style. On accède au réglage par “Configuration du système > Apparence des applications > Configuration de Gtk”. Des problèmes de fonctionnement (non vérifiés) de ce paquetage sont signalés sur des versions récentes de KDE.
gtk-qt-engine
Une autre solution consiste à utiliser un “convertisseur” de thèmes qui va traduire à la volée l'interface Gtk en Qt. On installe alors les paquetage nécessaires :
$ sudo apt-get install gtk-qt-engine kde-config-gtk-style
La configuration du comportement des applications Gtk se fait alors à travers le volet additionnel du panneau de configuration système de KDE : Configuration du système > Apparence des applications > Configuration de Gtk.
Firefox : imposer Dolphin comme navigateur de fichier
Source : Fil de discussion sur reddig (reddit.com) (en)
Procédure
- lancer Firefox
- le faire pointer sur about:config
- accepter de prendre le risque (question posée)
- dans la barre de rechercher taper : “widget.use-xdg-desktop-portal.file-picker”
- changer la valeur 2 (par défaut) qui s'affaiche par la valeur 1
- valider le réglage (il s'applique immédiatement)
Si on une utilise plusieurs profiles Firefox, il faut répéter l'opération sur chaque profil.
Configuration
- date : 23 juillet 2024
- système : debian 12
- KDE Plasma : 5.27.5
Les paquetages suivants sont installés et possiblement indispensables mais je n'ai pas pas fait le test :
- xdg-desktop-portal-kde 5.27.5-2
- xdg-desktop-portal 1.16.0-2
Interaction
Au delà de l'apparence et de certains comportement (ombrage dynamique, réaction au survol de la souris…) on souhaite conserver nos habitudes d'interaction. Ceci est d'autant plus important que Qt comme Gtk intègrent des composants de haut-niveau tels qu'un navigateur de fichier.
Navigateur de fichier
Une application utilise le navigateur de fichier intégré dans sa boîte à outils graphique. Par exemple, iceweasel/firefox aura l'allure d'une application Qt/KDE jusqu'au moment où l'on voudra enregistrer un fichier.
Une première option consisterait à obliger Gtk à utiliser le navigateur de fichiers de KDE. Il n'y a malheureusement pas solution générique. On peut, par exemple, imposer ce comportement à iceweasel2), mais le résultat n'est ni graphiquement satisfaisant, ni fonctionnellement complet.
On doit donc se contenter de “rustines” pour se débarasser des comportements les plus perturbants de Gtk. Typiquement on voudrait que, dans le navigateur de fichiers :
- les fichiers soient affichés dans le même ordre,
- les fichiers et répertoires masqués soient visibles ou non,
- les fichiers soient accompagnés des même informations (droits, dates…),
- les dossiers s'ouvrent de la même manière (double ou simple clic).
Ordre des fichiers
Je n'ai pas trouvé de solution à ce problème. Tout au plus peut-on configurer l'ordre de classement qui sera sytématiquement appliqué, par défaut, à tous les dossiers affichés dans le navigateur de fichiers de Gtk. Autrement dit, sans tenir compte des préférences propres à chaque dossier, telles que définies dans KDE/Dolphin.
$ nano ~/.config/gtk-2.0/gtkfilechooser.ini
puis modifier les paramètres (il faut tatonner, faute de documentation). Voici un exemple de ce fichier :
[Filechooser Settings] LocationMode=filename-entry ShowHidden=false ExpandFolders=true ShowSizeColumn=false GeometryX=200 GeometryY=195 GeometryWidth=1082 GeometryHeight=643 SortColumn=modified SortOrder=descending
Éléments masqués
Dans le navigateur de fichiers :
Ctrl + H
affiche ou masque les fichiers et répertoires masqués.
Chemin absolu
Dans le navigateur de fichiers :
Ctrl + L
active la saisie du chemin absolu