Outils pour utilisateurs

Outils du site


applications_gtk_sous_kde

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.

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.

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 :

  1. les fichiers soient affichés dans le même ordre,
  2. les fichiers et répertoires masqués soient visibles ou non,
  3. les fichiers soient accompagnés des même informations (droits, dates…),
  4. 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

Firefox : Dolphin ou Gwenview

Sous KDE, il arrive que Firefox s'obstine à utiliser Gwenview comme navigateur de fichier. Ce sera notamment le cas lorsqu'on demandera à “Ouvrir le dossier contenant le fichier” qui vient d'être téléchargé. Inutile de chercher dans les Préférences de Firefox où se fait le choix du navigateur de fichier à utiliser :-\

Il faut modifier un fichier de configuration : /usr/share/applications/mimeinfo.cache

Dans ce fichier, éditer le paramètre inode/directory en réorganisant l'ordre de préférences entres les différentes applications (utilisables pour afficher un répertoire). Le résultat devrait ressembler à ça :

inode/directory=kde4-dolphin.desktop;kde4-gwenview.desktop;kde4-filelight.desktop;kde4-kfmclient_dir.desktop;kde4-cervisia.desktop;

Procédure :

  1. sudo nano /usr/share/applications/mimeinfo.cache
    1. ^w inode
    2. réorganiser
    3. ^o ^x
  2. fermer tous les firefox ouverts
  3. redémarrer firefox
  4. apprécier le changement

Source : Open containing folder” in Firefox does not use my default file manager (askubuntu.com) (en)

1)
L'installation du paquetage suffit.
2)
about:config puis inverser “ui.allow_platform_file_picker”
applications_gtk_sous_kde.txt · Dernière modification : 2022/08/27 11:30 de 127.0.0.1