Remplacer la boîte de dialogue du fichier GTK + par une alternative

26

Existe-t-il un moyen de configurer les programmes GTK + pour utiliser une boîte de dialogue de fichier différente?

Lire des articles anciens sur la boîte de dialogue par défaut et ne voir aucune différence avec la version actuelle ne présage rien de bon pour son amélioration dans un avenir proche.

J'ai lu cette question , mais je semble être l'un des rares à l'avoir fait en près d'un an. Comme je l'ai mentionné dans un commentaire sur cette question:

Pour archlinux, il existe une version corrigée de FF pour KDE. Cela fonctionne bien si vous êtes dans KDE et aimez la version allégée de dolphin / quoi que ce soit, mais malheureusement ne semble pas changer le sélecteur de fichiers si vous n'utilisez pas KDE

Comme je suis actuellement dans une configuration openbox personnalisée, Firefox est de retour à l'aide de la boîte de dialogue GTK + détestée. Mais cette solution ne fonctionne que pour Firefox, je préférerais donc un moyen de purger cela de mon système à l'échelle mondiale.

gandalf3
la source
1
Si je comprends bien, la boîte de dialogue GTK que vous avez dans Openbox ne vous permet pas de taper un nom de fichier ou de modifier la barre d'emplacement? Comment venir? Je pense qu'il est préférable de poster une capture d'écran de la boîte de dialogue GTK sur votre système pour que d'autres personnes puissent la regarder.
clearkimura
@clearkimura Il a une barre d'emplacement, au moins la plupart du temps (je n'ai pas été en mesure de déterminer les causes de son omission de temps en temps ..). Mon vrai reproche est le temps de chargement extrêmement long qu'il nécessite parfois lors de l'ouverture d'un grand répertoire (quelques centaines de fichiers image)
gandalf3
1
@clearkimura Pour moi, naviguer dans un répertoire contenant ~ 1000 fichiers image en moyenne quelques 100 Ko dans une boîte de dialogue présentée par exemple par gimp (GTK 2) le fait se bloquer pendant> 20 secondes. Naviguer vers le même répertoire dans les charges de dauphins instantanément.
gandalf3

Réponses:

8

Cette réponse est révisée à partir du message d'origine qui a été répondu pour la première fois fin 2015. Le contenu est maintenant réorganisé, certains textes redondants ont été supprimés et le texte pertinent a été ajouté.

Quelques clarifications

[...] la boîte de dialogue présentée par exemple par GIMP (GTK + 2) provoque son blocage pendant plus de 20 secondes. La navigation vers le même répertoire dans Dolphin se charge instantanément.

Il est quelque peu étrange de comparer un sélecteur de fichiers GTK + d'un éditeur d'images à un gestionnaire de fichiers Qt (au lieu d'un sélecteur de fichiers Qt). De plus, ces applications n'utilisent pas la même boîte à outils; Il est évident que les choses sont gérées différemment les unes des autres.

Il a une barre d'emplacement, au moins la plupart du temps (je n'ai pas été en mesure de déterminer les causes de son omission de temps en temps ..)

Pour la boîte de dialogue GTK +, la barre d'emplacement n'apparaîtra pas lors de l'affichage de "Récemment utilisé" dans le sélecteur de fichiers. Dans cette vue, même les touches de raccourci Ctrl+ ne fonctionneront pas . C'est probablement la raison pour laquelle OP avait affirmé que le sélecteur de fichiers omettait parfois la barre d'emplacement.L

Réponse directe

KGtk est le moyen hackeux d'utiliser les boîtes de dialogue KDE dans les applications GTK +. Il a été publié pour la première fois à la mi-2006 et mis à disposition sur KDE-Apps.org en amont et également via le package AUR .

Bien que cela semble prometteur, notez que cette intention de travail est de donner un aspect uniforme aux applications Qt et GTK + . Très probablement, il ne résout pas les problèmes lents qui ont été débattus par les utilisateurs.

Réponse étendue (2015-11-23)

Cette réponse étendue doit résoudre deux problèmes soulevés dans la question: la boîte de dialogue GTK + détestée (problème d'utilisation) et la boîte de dialogue se bloque pendant un certain temps (problème de réactivité).

Voici des rapports de bogues qui mentionnent des problèmes pertinents, qui concernent GTK +.

  • Le rapport de bogue de Debian en 2008 se plaignait que le sélecteur de fichiers GTK + pouvait être lent à ouvrir et que son nom de chemin ne pouvait pas être modifié de la manière la plus rapide.

  • Le rapport sur les méta-bogues de Kubuntu en 2008 porte sur le fait que la boîte de dialogue GTK + n'est pas familière avec les boîtes de dialogue natives de KDE, ce qui rend son utilisation difficile.

  • SO question en 2009 s'était plainte que la navigation dans les répertoires contenant de nombreux fichiers sur le réseau était très lente à l'aide de la boîte de dialogue de sélection de fichiers GTK +.

  • SO question en 2011 avait demandé comment personnaliser le sélecteur de fichiers GTK +, ce qui est impossible dans les boîtes de dialogue standard.

  • Le rapport de bogue de GTK + 2.0 en 2012 a eu des problèmes avec le téléchargement de fichiers via un navigateur Web et le sélecteur de fichiers GTK + 2 était lent ou se bloquait pendant quelques minutes.

  • La question GD.SE en 2014 a été publiée pour demander n'importe quel moyen d'ouvrir un fichier rapidement dans GIMP, car il n'y avait pas de bouton de navigation ou de zone de texte pour modifier le chemin d'accès à un fichier.

Les rapports de bogues suivants mentionnent les problèmes pertinents (notamment le problème de réactivité), qui sont pertinents pour KDE.

Quelle que soit la boîte de dialogue GTK + ou KDE, le problème de réactivité n'est pas rare et devient apparent lorsque certaines conditions sont remplies (telles que les icônes non mises en cache, etc.).

Réponse étendue (2017-02-12)

En ce qui concerne le problème d'utilisation, les boîtes de dialogue GTK + et KDE ont subi des changements au cours des dernières années dans les environnements de bureau respectifs.

Pour les boîtes de dialogue GTK +, la barre d'outils de localisation est utilisée pour être affichée par défaut. Cependant, il est désormais masqué par défaut dans les nouvelles versions de la boîte à outils.

  • GTK + 2.X permet de modifier l'emplacement, en utilisant les touches de raccourci Ctrl+ Lou le bouton d'interface utilisateur "Modifier l'emplacement".

  • GTK + 3.X permet de modifier l'emplacement, en utilisant les touches de raccourci Ctrl+ L(le bouton d'interface utilisateur "Modifier l'emplacement" peut ne pas s'afficher du tout).

Pour les boîtes de dialogue KDE, les fonctionnalités uniques sont le champ de texte "Nom de fichier:" qui est toujours visible dans la moitié inférieure de l'interface utilisateur et la barre de chemin d'emplacement qui se transforme en barre d'outils d'emplacement lors de la modification.

  • KDE 3.X permet de modifier l'emplacement, en utilisant les touches de raccourci Ctrl+ Lou /, ou le champ de texte "Nom de fichier:" (la barre d'emplacement ne peut pas être modifiée directement dans certains programmes).

  • KDE 4.X permet de modifier l'emplacement, en utilisant les touches de raccourci Ctrl+ Lou le champ de texte "Nom de fichier:", ou en utilisant le curseur de la souris pour cliquer sur la barre du chemin de l'emplacement.

  • KDE 5.X permet d'éditer un emplacement similaire à KDE 4.X

En revanche, la boîte de dialogue Qt est généralement personnalisable et peut utiliser le style de boîte de dialogue GTK + ou KDE. Le style de dialogue peut être modifié par l'une des méthodes suivantes.

  • configuration manuelle, spécifique au programme (par lecteur multimédia VLC, etc.)

  • configuration manuelle, à l'échelle du système (par paramètres Qt, jusqu'à présent uniquement applicable aux programmes qui dépendent de Qt 4 dans les anciennes versions d'Ubuntu, à savoir 14.04)

  • configuration automatique, à l'échelle du système (en installant certains packages de trousse à outils qui sont détectés automatiquement dans les nouvelles versions d'Ubuntu, c.-à-d. 16.04)

Bien que la boîte à outils différente offre une expérience et un style de dialogue différents, toutes les boîtes à outils mentionnées (GTK +, KDE et Qt) permettent aux utilisateurs de modifier l'emplacement dans la boîte de dialogue de sélection de fichiers.

TL; DR À ce jour, KGtk semble être le seul moyen de remplacer la boîte de dialogue GTK + et il doit être appliqué par application. Il n'y a pas d'alternative connue pour remplacer réellement les boîtes de dialogue pour le cas à l'échelle du système. Sinon, recherchez des solutions de contournement pour accélérer le chargement du sélecteur de fichiers GTK + (ce serait une autre question).


Note du répondeur: Cette réponse a d'abord été écrite pour résoudre les problèmes de convivialité et de réactivité des boîtes de dialogue de fichiers dans GTK +, KDE et Qt. Les choses ont peut-être changé depuis et cette réponse peut être dépréciée. Par conséquent, cette réponse est maintenant un wiki communautaire, afin que toute personne ayant une réputation minimale puisse améliorer ce message ou au moins maintenant plus ouverte aux modifications de la communauté.

6 tours
la source
Merci d'avoir répondu! Je ne sais pas pourquoi, mais sur mon système, la boîte de dialogue kde / qt est beaucoup plus rapide / réactive que la boîte de dialogue GTK. En ce qui concerne la convivialité, la boîte de dialogue GTK a un certain nombre de comportements non conventionnels que je ne suis pas habitué à / détester (par exemple, avoir besoin d'appuyer sur Entrée après la fin de la tabulation, ce qui entraîne ensuite un délai de 2-3 secondes avant de pouvoir taper à nouveau). Je vais devoir regarder KGtk.
gandalf3
Votre réponse n'a pas de sens. "Lent" n'a pas d'importance pour une interface utilisateur. Ce n'est pas une simulation de particules. Et celui de KDE permet d'éditer le chemin, c'est celui de GTK qui ne vous laisse pas facilement le faire.
LtWorf
Enfin, j'ai réussi à prendre un peu de temps pour améliorer la réponse globale. J'ai confirmé que la boîte de dialogue KDE a plus d'options pour modifier l'emplacement dans le sélecteur de fichiers, donc, pourrait être plus facile que GTK +.
clearkimura
6

Depuis 2016 environ, la réponse est oui ! Au moins pour utiliser le sélecteur de fichiers KDE avec les applications GTK3.

Les développeurs de Gtk + appellent cela des « sélecteurs de fichiers natifs » pour des «applications en bac à sable», tandis que la cible principale était Flatpak, il permettait également de les utiliser sous Windows. Cependant, vous pouvez également l'utiliser pour les applications non sandbox / flatpak en utilisant une astuce:

  1. Installez le xdg-desktop-portal-kdepaquet: Arch Linux , Debian , Fedora , KDE Neon , Ubuntu ( lien d'installation directe )
  2. Si vous n'êtes pas réellement en utilisant KDE, modifier /usr/share/xdg-desktop-portal/portals/kde.portalet ajouter la valeur $XDG_CURRENT_DESKTOP, séparés par un au point-virgule UseIn=KDEligne (ex: UseIn=KDE;xfce)
  3. Ajoutez la ligne GTK_USE_PORTAL=1à ~/.pam_environmentpour que GTK se comporte toujours comme s'il était dans un environnement en bac à sable
  4. Déconnectez-vous et reconnectez-vous pour appliquer ces modifications
ntninja
la source
Je devrais peut-être ajouter que cela ne fonctionnera pas pour les applications utilisant le classique GtkFileChooserDialogou les GtkFileChooserWidgetAPI: celles-ci exposent les GtkWidgets sous-jacents à l'application qui ne serait pas disponible lors du rendu du sélecteur de fichiers en utilisant autre chose que GTK. Par conséquent, seulement GtkFileChooserNativeet GtkFileChooserButtonfonctionnera et si vous voyez une application GTK utilisant toujours le sélecteur de fichiers GTK après avoir effectué les étapes ci-dessus, vous pouvez leur envoyer un patch. ;-)
ntninja