Ersetzen Sie den GTK + -Dateidialog durch alternative

26

Gibt es eine Möglichkeit, GTK + -Programme für die Verwendung eines anderen Dateidialogs zu konfigurieren?

Wenn Sie alte Artikel im Standarddialog lesen und keinen Unterschied zur aktuellen Version feststellen, ist dies kein gutes Zeichen für eine Verbesserung in naher Zukunft.

Ich habe diese Frage gelesen , aber ich scheine einer der wenigen zu sein, die dies in fast einem Jahr getan haben. Wie ich in einem Kommentar zu dieser Frage erwähnt habe:

Für Archlinux gibt es eine gepatchte Version von FF für KDE. Es funktioniert gut, wenn Sie in KDE sind und die abgespeckte Version von dolphin / what it is mögen, aber es scheint leider nicht, die Dateiauswahl zu ändern, wenn Sie nicht KDE verwenden

Da ich gerade ein benutzerdefiniertes Openbox-Setup durchführe, verwendet Firefox wieder das unbeliebte GTK + -Dialogfeld. Diese Lösung funktioniert jedoch nur für Firefox. Daher würde ich es vorziehen, dieses Problem global von meinem System zu entfernen.

gandalf3
quelle
1
Wenn ich das richtig verstehe, können Sie im GTK-Dialogfeld in Openbox keinen Dateinamen eingeben oder die Adressleiste bearbeiten. Woher? Ich denke, es ist besser, einen Screenshot des GTK-Dialogs auf Ihrem System zu veröffentlichen, damit andere Leute ihn sehen können.
Clearkimura
@clearkimura Zumindest die meiste Zeit hat es eine Adressleiste (ich konnte nicht feststellen, warum es so oft weggelassen wurde ..). Meine eigentliche Beschwerde sind die extrem langen Ladezeiten, die manchmal beim Öffnen eines großen Verzeichnisses (einige hundert Bilddateien)
erforderlich sind
1
@clearkimura Wenn ich in einem von z. B. gimp (GTK 2) angezeigten Dialogfeld zu einem Verzeichnis navigiere, das ca. 1000 Bilddateien mit einer durchschnittlichen Größe von einigen 100 kB enthält, bleibt es> 20 Sekunden lang hängen. Das Navigieren zu demselben Verzeichnis in Delphin wird sofort geladen.
Gandalf3

Antworten:

8

Diese Antwort wurde gegenüber dem ursprünglichen Beitrag überarbeitet , der Ende 2015 erstmals beantwortet wurde. Der Inhalt wurde nun neu geordnet, überflüssiger Text wurde entfernt und relevanter Text wurde hinzugefügt.

Einige Klarstellungen

[...] Der von GIMP (GTK + 2) präsentierte Dialog lässt ihn länger als 20 Sekunden hängen. Das Navigieren zu demselben Verzeichnis in Dolphin wird sofort geladen.

Es ist etwas seltsam, eine GTK + -Dateiauswahl eines Bildeditors mit einer Qt-Dateiverwaltung zu vergleichen (anstelle der Qt-Dateiauswahl). Außerdem verwenden diese Anwendungen nicht dasselbe Toolkit. Es ist offensichtlich, dass die Dinge ineinander unterschiedlich gehandhabt werden.

Zumindest die meiste Zeit hat es eine Adressleiste (ich konnte nicht feststellen, warum es so oft weggelassen wurde ..)

Im GTK + -Dialog wird die Adressleiste nicht angezeigt, wenn im Dateiauswahlfenster "Zuletzt verwendet" angezeigt wird. In dieser Ansicht funktionieren auch Ctrl+ LTastenkombinationen nicht . Dies ist wahrscheinlich der Grund, warum OP behauptet hatte, die Dateiauswahl habe manchmal die Adressleiste weggelassen.

Direkte Antwort

KGtk ist die hackige Art, KDE-Dialoge in GTK + -Anwendungen zu verwenden. Es wurde erstmals Mitte 2006 veröffentlicht und auf KDE-Apps.org als Upstream und auch über das AUR-Paket verfügbar gemacht .

Obwohl dies vielversprechend klingt, ist zu beachten, dass mit dieser Arbeit beabsichtigt wird, ein einheitliches Erscheinungsbild für Qt- und GTK + -Anwendungen zu erzielen . Höchstwahrscheinlich wird es nicht die langsamen Fragen befassen , die von den Nutzern diskutiert wurden.

Erweiterte Antwort (23.11.2015)

In dieser erweiterten Antwort sollen zwei in der Frage angesprochene Probleme behandelt werden: Der unangenehme GTK + -Dialog (Usability-Problem) und der Dialog bleiben einige Zeit hängen (Reaktionsfähigkeitsproblem).

Die folgenden Fehlerberichte erwähnen relevante Probleme, die für GTK + relevant sind.

  • Debian-Fehlerbericht im Jahr 2008 beschwerte GTK + -Dateiauswahl kann langsam geöffnet werden und sein Pfadname konnte nicht auf schnellste Weise bearbeitet werden.

  • Kubuntu Meta Bug Report im Jahr 2008 adressieren die GTK + -Dialoge sind ungewohnt als KDE native Dialoge, was die Verwendung erschwert.

  • SO Frage im Jahr 2009 hatte sich beschwert, dass das Durchsuchen von Verzeichnissen mit vielen Dateien über das Netzwerk mit GTK + -Dateiauswahldialog sehr langsam war.

  • SO hatte sich 2011 die Frage gestellt, wie die GTK + -Dateiauswahl angepasst werden kann, was in Standarddialogen unmöglich ist.

  • Der GTK + 2.0-Fehlerbericht von 2012 hatte Probleme beim Hochladen von Dateien über einen Webbrowser, und die GTK + 2-Dateiauswahl war langsam oder hing einige Minuten lang.

  • In der GD.SE-Frage aus dem Jahr 2014 wurde die Frage gestellt, wie eine Datei in GIMP schnell geöffnet werden kann, da es weder eine Schaltfläche zum Durchsuchen noch ein Textfeld zum Bearbeiten des Pfads zu einer Datei gab.

Als nächstes folgen Fehlerberichte, in denen relevante Probleme (insbesondere Probleme mit der Reaktionsfähigkeit) erwähnt werden, die für KDE relevant sind.

Unabhängig vom GTK + -Dialog oder KDE-Dialog ist das Problem der Reaktionsfähigkeit keine Seltenheit und tritt auf, wenn bestimmte Bedingungen erfüllt sind (z. B. nicht zwischengespeicherte Symbole usw.).

Erweiterte Antwort (12.02.2017)

In Bezug auf die Benutzerfreundlichkeit haben sich sowohl GTK + - als auch KDE-Dialoge in den letzten Jahren in den jeweiligen Desktop-Umgebungen geändert.

In GTK + -Dialogen wird standardmäßig die Positionssymbolleiste angezeigt. In neueren Versionen des Toolkits ist es jedoch standardmäßig ausgeblendet.

  • Mit GTK + 2.X können Sie den Standort mit den Tastenkombinationen Ctrl+ Loder der Schaltfläche "Standort bearbeiten " bearbeiten.

  • Mit GTK + 3.X können Sie den Standort mit den Tastenkombinationen Ctrl+ bearbeiten L(die Schaltfläche "Standort bearbeiten" wird möglicherweise überhaupt nicht angezeigt).

Bei KDE-Dialogen sind die einzigartigen Funktionen das Textfeld "Dateiname:", das immer in der unteren Hälfte der Benutzeroberfläche angezeigt wird, und die Pfadleiste, die bei der Bearbeitung in eine Positionssymbolleiste umgewandelt wird.

  • In KDE 3.X können Sie den Speicherort mithilfe von Ctrl+ Loder /Tastenkombinationen oder dem Textfeld "Dateiname:" bearbeiten (die Adressleiste kann in einigen Programmen nicht direkt bearbeitet werden).

  • In KDE 4.X können Sie die Position bearbeiten, indem Sie die Tastenkombination Ctrl+ Loder das Textfeld "Dateiname:" verwenden oder mit dem Mauszeiger auf die Pfadleiste klicken.

  • Mit KDE 5.X können Sie Speicherorte bearbeiten, die KDE 4.X ähneln

Im Gegensatz dazu ist das Qt-Dialogfeld normalerweise anpassbar und kann entweder den GTK + - oder den KDE-Dialogfeldstil verwenden. Der Dialogstil kann mit einer der folgenden Methoden geändert werden.

  • manuelle Konfiguration, programmspezifisch (per VLC Media Player usw.)

  • manuelle Konfiguration, systemweit (von Qt Settings, bisher nur für Programme anwendbar, die von Qt 4 in älteren Ubuntu-Versionen abhängen, zB 14.04)

  • Autokonfiguration, systemweit (durch Installation eines bestimmten Toolkit-Pakets, das in neueren Versionen von Ubuntu, dh 16.04, automatisch erkannt wird)

Obwohl das Toolkit unterschiedliche Benutzererfahrungen und Dialogstile bietet, können Benutzer mit allen genannten Toolkits (GTK +, KDE und Qt) den Speicherort im Dateiauswahldialog bearbeiten.

TL; DR Bis jetzt scheint KGtk die einzige Möglichkeit zu sein, GTK + -Dialog zu ersetzen, und es muss pro Anwendung angewendet werden. Es ist keine Alternative bekannt, um die Dialoge für den systemweiten Fall tatsächlich zu ersetzen. Suchen Sie ansonsten nach Problemumgehungen, um das Laden der GTK + -Dateiauswahl schneller zu machen (Dies wäre eine weitere Frage).


Anmerkung des Beantworters: Diese Antwort wurde zuerst geschrieben, um die Anwendbarkeits- und Reaktionsprobleme der Dateidialoge in GTK +, KDE und Qt zu beheben. Möglicherweise haben sich die Dinge seitdem geändert, und diese Antwort ist möglicherweise veraltet. Daher ist diese Antwort jetzt ein Community-Wiki, sodass jeder mit minimaler Reputation diesen Beitrag verbessern kann oder zumindest jetzt offener für Community-Änderungen ist.

clearkimura
quelle
Danke für die Antwort! Ich weiß nicht warum, aber auf meinem System reagiert der kde / qt-Dialog viel schneller als der GTK-Dialog. In Bezug auf die Benutzerfreundlichkeit weist der GTK-Dialog eine Reihe von ungewöhnlichen Verhaltensweisen auf, die ich nicht gewohnt bin / nicht mag (z. B. muss ich nach dem Ausfüllen des Tabulators die Eingabetaste drücken, was dann zu einer Verzögerung von 2-3 Sekunden führt, bevor ich erneut tippen kann). Ich werde bei KGtk schauen.
Gandalf3
Deine Antwort ergibt keinen Sinn. "Langsam" spielt für eine Benutzeroberfläche keine Rolle. Es ist keine Partikelsimulation. Und mit KDE können Sie den Pfad bearbeiten. Mit GTK können Sie das nicht so einfach tun.
LtWorf
Schließlich konnte ich einige Zeit aufbringen, um die Gesamtantwort zu verbessern. Ich habe bestätigt, dass der KDE-Dialog mehr Optionen zum Bearbeiten des Speicherorts in der Dateiauswahl bietet. Dies ist möglicherweise einfacher als GTK +.
Clearkimura
6

Seit etwa 2016 lautet die Antwort ja ! Zumindest für die Verwendung der KDE-Dateiauswahl mit GTK3-Apps.

Gtk + -Entwickler bezeichnen diese Option als " native Dateiauswahl " für "Sandbox-Anwendungen". Das primäre Ziel hierfür war Flatpak. Es ermöglichte auch die Verwendung unter Windows. Sie können dies jedoch auch mit einem Trick für Anwendungen ohne Sandbox / Flatpak verwenden:

  1. Installieren Sie das xdg-desktop-portal-kdePaket: Arch Linux , Debian , Fedora , KDE Neon , Ubuntu ( Direktinstallationslink )
  2. Wenn Sie nicht wirklich verwenden KDE, zu bearbeiten , /usr/share/xdg-desktop-portal/portals/kde.portalund fügen Sie den Wert $XDG_CURRENT_DESKTOP, durch ein Semikolon zu der abgetrennten UseIn=KDELeitung (dh UseIn=KDE;xfce)
  3. Fügen Sie die Zeile GTK_USE_PORTAL=1zu , ~/.pam_environmentso dass GTK wird immer so verhalten , als ob es in einer Sandbox - Umgebung war
  4. Melden Sie sich ab und wieder an, um diese Änderungen zu übernehmen
ntninja
quelle
Ich sollte vielleicht hinzufügen, dass dies für Apps, die den Klassiker GtkFileChooserDialogoder GtkFileChooserWidgetAPIs verwenden, nicht funktioniert : Diese machen die zugrunde liegenden GtkWidgets für die Anwendung verfügbar, die beim Rendern der Dateiauswahl mit etwas anderem als GTK nicht verfügbar wäre. Daher funktioniert nur GtkFileChooserNativeund GtkFileChooserButton, und wenn Sie sehen, dass eine GTK-App die GTK-Dateiauswahl nach Ausführung der obigen Schritte noch verwendet, möchten Sie ihnen möglicherweise einen Patch senden. ;-)
ntninja