Zastąp okno dialogowe pliku GTK + alternatywą


26

Czy jest jakiś sposób na skonfigurowanie programów GTK +, aby używały innego okna dialogowego pliku?

Czytanie starożytnych artykułów w domyślnym oknie dialogowym i nie zauważanie różnicy w stosunku do bieżącej wersji nie wróży dobrze jego poprawie w najbliższej przyszłości.

Przeczytałem to pytanie , ale wydaje mi się, że jestem jednym z nielicznych, którzy zrobili to od prawie roku. Jak wspomniałem w komentarzu do tego pytania:

Dla archlinux istnieje łatana wersja FF dla KDE. Działa dobrze, jeśli jesteś w KDE i lubisz uproszczoną wersję delfina / cokolwiek to jest, ale niestety nie wydaje się zmieniać selektora plików, jeśli nie używasz KDE

Ponieważ jestem obecnie w niestandardowej konfiguracji openbox, Firefox powraca do nielubianego okna dialogowego GTK +. Ale to rozwiązanie działa tylko w przeglądarce Firefox, więc wolałbym sposób na usunięcie go z mojego systemu na całym świecie.


1
Jeśli dobrze rozumiem, okno dialogowe GTK, które masz w Openbox, nie pozwala na wpisanie nazwy pliku lub edytowanie paska lokalizacji? Dlaczego? Myślę, że lepiej jest opublikować zrzut ekranu okna dialogowego GTK w twoim systemie, aby inni mogli na niego spojrzeć.
— clearkimura

@clearkimura Ma przynajmniej pasek lokalizacji, przynajmniej przez większość czasu (nie byłem w stanie ustalić, co powoduje, że tak często go pomija ...). Moim prawdziwym problemem jest bardzo długi czas ładowania, który czasem wymaga podczas otwierania dużego katalogu (kilkaset plików obrazów)
— gandalf3

1
@clearkimura Dla mnie przejście do katalogu zawierającego ~ 1000 plików graficznych średnio o wartości 100 kB w oknie dialogowym przedstawionym np. przez gimp (GTK 2) powoduje zawieszenie się na> 20 sekund. Natychmiastowe przejście do tego samego katalogu w ładunkach delfinów.
— gandalf3

Odpowiedzi:


8

Ta odpowiedź została poprawiona w stosunku do oryginalnego postu, na który po raz pierwszy udzielono odpowiedzi pod koniec 2015 r. Treści zostały teraz zmienione, niektóre zbędne teksty zostały usunięte i dodano odpowiedni tekst.

Kilka wyjaśnień

Okno dialogowe [...] przedstawione np. przez GIMP (GTK + 2) powoduje zawieszenie się na ponad 20 sekund. Natychmiastowe przejście do tego samego katalogu w Dolphin.

Nieco dziwne jest porównywanie selektora plików GTK + edytora obrazów z menedżerem plików Qt (zamiast selektora plików Qt). Ponadto aplikacje te nie używają tego samego zestawu narzędzi; Oczywiste jest, że sprawy są traktowane w różny sposób.

Ma przynajmniej pasek lokalizacji, przynajmniej przez większość czasu (nie byłem w stanie określić, co powoduje, że tak często go pomija ...)

W oknie dialogowym GTK + pasek lokalizacji nie pojawi się podczas przeglądania „Ostatnio używane” w oknie wyboru plików. W tym widoku nawet klawisze skrótu Ctrl+ nieL będą działać. Jest to prawdopodobnie powód, dla którego OP twierdził, że wybieracz plików czasami pomija pasek lokalizacji.

Bezpośrednia odpowiedź

KGtk to hackerski sposób korzystania z okien dialogowych KDE w aplikacjach GTK +. Został wydany po raz pierwszy w połowie 2006 roku i udostępniony na KDE-Apps.org jako upstream, a także poprzez pakiet AUR .

Choć brzmi to obiecująco, należy pamiętać, że celem tej pracy jest jednolity wygląd aplikacji Qt i GTK + . Najprawdopodobniej nie rozwiązuje on powolnych problemów dyskutowanych przez użytkowników.

Rozszerzona odpowiedź (23.11.2015)

Ta rozszerzona odpowiedź dotyczy dwóch zagadnień poruszonych w pytaniu: nielubiane okno GTK + (problem z użytecznością) i okno dialogowe zawiesza się na pewien czas (problem z odpowiedzią).

Poniżej znajdują się raporty o błędach, które wspominają o istotnych problemach związanych z GTK +.

Następne są raporty o błędach, które wspominają o istotnych problemach (w szczególności o czasie reakcji), które są istotne dla KDE.

Niezależnie od okna dialogowego GTK + lub okna dialogowego KDE, problem z reakcją nie jest rzadki i staje się widoczny, gdy zostaną spełnione określone warunki (takie jak ikony niebuforowane itp.).

Rozszerzona odpowiedź (2017-02-12)

Jeśli chodzi o kwestię użyteczności, zarówno okna dialogowe GTK +, jak i KDE zostały zmienione w ciągu ostatnich lat w odpowiednich środowiskach pulpitu.

W oknach dialogowych GTK + pasek narzędzi lokalizacji jest domyślnie wyświetlany. Jednak jest teraz domyślnie ukryty w nowszych wersjach zestawu narzędzi.

  • GTK + 2.X pozwala edytować lokalizację za pomocą Ctrl+ Lklawiszy skrótu lub przycisku interfejsu użytkownika „Edytuj lokalizację”.

  • GTK + 3.X pozwala edytować lokalizację za pomocą Ctrl+ Lklawiszy skrótu (przycisk interfejsu użytkownika „Edytuj lokalizację” może nie być w ogóle wyświetlany).

W oknach dialogowych KDE unikalne funkcje to pole tekstowe „Nazwa pliku:”, które jest zawsze widoczne w dolnej części interfejsu użytkownika i pasek ścieżki lokalizacji, który podczas edycji zamienia się w pasek narzędzi lokalizacji.

  • KDE 3.X pozwala edytować lokalizację, używając Ctrlklawiszy + Llub /skrótów, lub pola tekstowego „Nazwa pliku:” (pasek lokalizacji nie może być bezpośrednio edytowany w niektórych programach).

  • KDE 4.X umożliwia edycję lokalizacji, przy użyciu Ctrl+ Lklawisze skrótów, lub „Nazwa pliku:” pole tekstowe, lub za pomocą kursora myszy na pasku ścieżki lokalizacja.

  • KDE 5.X pozwala edytować lokalizację podobną do KDE 4.X

W przeciwieństwie do tego okno dialogowe Qt jest zwykle konfigurowalne i może używać stylu okna dialogowego GTK + lub KDE. Styl okna dialogowego można zmienić za pomocą jednej z następujących metod.

  • konfiguracja ręczna, specyficzna dla programu (przez odtwarzacz multimedialny VLC itp.)

  • konfiguracja ręczna, ogólnosystemowa (według ustawień Qt, dotychczas dotyczy tylko programów zależnych od Qt 4 w starszych wersjach Ubuntu, tj. 14.04)

  • automatyczna konfiguracja, obejmująca cały system (poprzez zainstalowanie określonego pakietu narzędzi, który jest wykrywany automatycznie w nowszych wersjach Ubuntu, tj. 16.04)

Pomimo różnych zestawów narzędzi, które różnią się doświadczeniem i stylem dialogów, wszystkie wspomniane zestawy narzędzi (GTK +, KDE i Qt) pozwalają użytkownikom edytować lokalizację w oknie dialogowym wyboru plików.

TL; DR Do tej pory wydaje się, że KGtk jest jedynym sposobem na zastąpienie okna dialogowego GTK + i należy go stosować dla poszczególnych aplikacji. Nie ma znanej alternatywy dla faktycznego zastąpienia okien dialogowych w przypadku całego systemu. W przeciwnym razie poszukaj obejść, aby przyspieszyć ładowanie selektora plików GTK + (byłoby to inne pytanie).


Notatka odpowiadającego: Ta odpowiedź została napisana po raz pierwszy w celu rozwiązania problemów związanych z użytecznością i responsywnością okien dialogowych plików w GTK +, KDE i Qt. Od tego czasu wszystko mogło się zmienić i ta odpowiedź może być nieaktualna. Dlatego ta odpowiedź jest teraz wiki społeczności, dzięki czemu każdy z minimalną reputacją może poprawić ten post lub przynajmniej teraz bardziej otwarty na zmiany w społeczności.


Dziękuję za odpowiedź! Nie wiem dlaczego, ale w moim systemie okno dialogowe kde / qt jest znacznie szybsze / responsywne niż okno GTK. Jeśli chodzi o użyteczność, okno dialogowe GTK ma wiele niekonwencjonalnych zachowań, do których nie jestem przyzwyczajony / nie lubię (np. Konieczność naciśnięcia klawisza Enter po zakończeniu tabulacji, co powoduje 2-3-sekundowe opóźnienie przed ponownym wpisaniem). Spojrzę na KGtk.
— gandalf3

Twoja odpowiedź nie ma sensu. „Powolny” nie ma znaczenia dla interfejsu użytkownika. To nie jest symulacja cząstek. A KDE pozwala na edycję ścieżki, to GTK nie pozwala na to łatwo.
— LtWorf

Wreszcie udało mi się poświęcić trochę czasu na poprawę ogólnej odpowiedzi. Potwierdziłem, że okno dialogowe KDE ma więcej opcji edycji lokalizacji w selektorze plików, dlatego może być łatwiejsze niż GTK +.
— clearkimura

6

Od około 2016 roku odpowiedź brzmi tak ! Przynajmniej do korzystania z selektora plików KDE z aplikacjami GTK3.

Programiści Gtk + nazywają ten „ rodzimym wyborem plików ” dla „aplikacji w piaskownicy”, podczas gdy głównym celem tego działania był Flatpak, który umożliwił także korzystanie z nich w systemie Windows. Możesz jednak użyć tego również w przypadku aplikacji innych niż piaskownica / flatpak, używając sztuczki:

  1. Zainstaluj xdg-desktop-portal-kdepakiet: Arch Linux , Debian , Fedora , KDE Neon , Ubuntu ( link do instalacji bezpośredniej )
  2. Jeżeli nie jesteś rzeczywiście przy KDE, edytować /usr/share/xdg-desktop-portal/portals/kde.portali dodawać wartość $XDG_CURRENT_DESKTOP, oddzielone średnikiem do UseIn=KDElinii (tj UseIn=KDE;xfce)
  3. Dodaj wiersz, GTK_USE_PORTAL=1aby ~/.pam_environmentGTK zawsze zachowywał się tak, jakby był w środowisku piaskownicy
  4. Wyloguj się i zaloguj ponownie, aby zastosować te zmiany

Powinienem dodać, że nie będzie to działać w przypadku aplikacji korzystających z klasycznych GtkFileChooserDialoglub GtkFileChooserWidgetinterfejsów API: udostępniają one GtkWidgets leżące u podstaw aplikacji, która nie byłaby dostępna podczas renderowania selektora plików przy użyciu czegokolwiek innego niż GTK. Dlatego tylko GtkFileChooserNativei GtkFileChooserButtonbędzie działać, a jeśli po wykonaniu powyższych kroków aplikacja GTK nadal korzysta z selektora plików GTK, możesz wysłać im poprawkę. ;-)
— ntninja

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.