Замініть діалог файлів GTK + альтернативним


26

Чи є якийсь - або спосіб настройки GTK + програми використовувати інший файловий діалог?

Читання стародавніх статей у діалоговому вікні за замовчуванням та не бачення різниці у поточній версії не дає жодних результатів для її покращення у найближчому майбутньому.

Я читав це питання , але, здається, я один із небагатьох, хто це робив майже протягом року. Як я вже згадував у коментарі до цього питання:

Для archlinux існує виправлена ​​версія FF для KDE. Він добре працює, якщо ви перебуваєте в KDE і вам подобається знята версія дельфіна / як би там не було, але, на жаль, не змінюється селектор файлів, якщо ви не використовуєте KDE

Оскільки я зараз перебуваю в налаштованому режимі openbox, Firefox повертається до використання діалогового діалогу GTK +, що не сподобалось. Але це рішення працює лише для Firefox, тому я віддаю перевагу способу очищення цього з моєї системи в усьому світі.


1
Якщо я правильно розумію, діалог GTK, який ви маєте у Openbox, не дозволяє вводити будь-яке ім’я файлу чи редагувати рядок розташування? Як це? Я думаю, що краще розмістити скріншот діалогу GTK у вашій системі, щоб інші люди могли подивитися.
клеаркімура

@clearkimura Він має місце розташування, принаймні більшу частину часу (я так і не зміг визначити, які причини його опускають так часто ..). Мій справжній захват - це надзвичайно тривалий час завантаження, який іноді потрібно для відкриття великої каталогу (кілька сотень файлів зображень)
gandalf3

1
@clearkimura Для мене навігація до каталогу, що містить ~ 1000 файлів зображень у середньому в кілька 100 кБ у діалоговому вікні, представленому, наприклад, gimp (GTK 2), викликає зависання на> 20 секунд. Навігація до того самого каталогу в дельфінах завантажується миттєво.
gandalf3

Відповіді:


8

Ця відповідь переглядається з оригінальної публікації, на яку вперше відповіли наприкінці 2015 року. Зміст тепер переставляється, деякий зайвий текст було видалено та додано відповідний текст.

Деякі роз’яснення

Діалогове вікно [...], представлене, наприклад, GIMP (GTK + 2), змушує його зависати більше 20 секунд. Навігація до того самого каталогу в Дельфіні завантажується миттєво.

Дещо дивним є порівняння вибору файлів GTK + редактора зображень з менеджером файлів Qt (замість вибору файлів Qt). Крім того, ці програми не використовують один і той же інструментарій; Очевидно, що речі впорядковуються по-різному.

Він має принаймні більшу частину часу рядок розташування (я не міг визначити, що викликає його опускання так часто).

У діалоговому вікні GTK + рядок розташування не з’явиться під час перегляду "Нещодавно використаного" у виборі файлів. У цьому перегляді навіть Ctrl+ Lклавіші швидкого доступу не працюватимуть. Це, мабуть, причина, чому ОП заявила, що вибір файлу іноді опускає рядок розташування.

Пряма відповідь

KGtk - шалений спосіб використання діалогів KDE в додатках GTK +. Він був вперше випущений в середині 2006 року і був доступний на KDE-Apps.org як висхідний, так і через пакет AUR .

Хоча це звучить багатообіцяюче, зауважте, що цей робочий намір полягає в наданні рівномірного вигляду додаткам Qt та GTK + . Швидше за все, він не стосується повільних питань, про які обговорювали користувачі.

Розширена відповідь (23.11.2015)

Ця розширена відповідь стосуватиметься двох питань, порушених у запитанні: неприємний діалог GTK + (питання про зручність використання) та діалог зависає певний час (питання відгуку).

Далі наведено звіти про помилки, в яких згадуються відповідні проблеми, які стосуються GTK +.

  • Звіт про помилки Debian у 2008 році поскаржився на вибір файлів GTK +, можна повільно відкривати, а його ім'я не вдалося швидко редагувати.

  • Звіт про помилки Kubuntu у 2008 році за адресою діалогового вікна GTK + є незнайомим, ніж рідні діалогові вікна KDE, тому ускладнює використання.

  • Так питання в 2009 році скаржилося, що перегляд каталогів, що містять багато файлів по мережі, відбувається дуже повільно, використовуючи діалогове вікно вибору файлів GTK +.

  • Так у 2011 році було задано питання про те, як налаштувати інструмент вибору файлів GTK +, що неможливо в стандартних діалогах.

  • Звіт про помилки GTK + 2.0 у 2012 році мав проблеми із завантаженням файлів через веб-браузер, і вибір файлів GTK + 2 був повільним або зависав протягом декількох хвилин.

  • У 2014 році було розміщено питання GD.SE, щоб задати будь-який спосіб відкрити файл швидким шляхом у GIMP, оскільки не було кнопки перегляду чи текстового поля, щоб редагувати шлях до файлу.

Далі - звіти про помилки, в яких згадуються відповідні проблеми (зокрема, питання про реагування), які стосуються KDE.

Незалежно від діалогового вікна GTK + або діалогу KDE, питання реагування не є рідкістю і стає очевидним при дотриманні певних умов (наприклад, не кешовані піктограми тощо).

Розширена відповідь (2017-02-12)

Що стосується проблеми юзабіліті, то і діалоги GTK + та KDE протягом останніх років зазнали змін у відповідних робочих середовищах.

Для діалогових вікон GTK + використовується панель інструментів розташування, яка відображається за замовчуванням. Однак тепер це приховано за новими версіями інструментарію за замовчуванням.

  • GTK + 2.X дозволяє редагувати місцеположення за допомогою Ctrl+ Lшвидких клавіш або кнопки інтерфейсу "Редагувати місцезнаходження".

  • GTK + 3.X дозволяє редагувати місцеположення за допомогою Ctrl+ Lклавіш швидкого доступу (кнопка "Редагувати місцезнаходження" інтерфейс користувача може взагалі не відображатися).

Для діалогів KDE унікальними функціями є текстове поле "Назва файлу:", яке завжди видно в нижній половині інтерфейсу користувача та панель шляху розташування, що перетворюється на панель інструментів розташування при редагуванні.

  • KDE 3.X дозволяє редагувати розташування за допомогою клавіш Ctrl+ Lабо /клавіш швидкого доступу або текстового поля "Ім'я файлу:" (рядок розташування не можна безпосередньо редагувати в якійсь програмі).

  • KDE 4.X дозволяє редагувати місцеположення за допомогою Ctrl+ Lклавіш швидкого доступу або текстового поля "Ім'я файлу:" або за допомогою клавіші миші, щоб натиснути на панель шляху розташування.

  • KDE 5.X дозволяє редагувати розташування, подібне до KDE 4.X

На відміну від цього, діалог Qt зазвичай налаштовується і може використовувати або діалоговий стиль GTK +, або KDE. Стиль діалогу може бути змінений одним із наступних способів.

  • ручна конфігурація, специфічна для програми (від мультимедійного плеєра VLC тощо)

  • ручна конфігурація, загальносистемна (за параметрами Qt, поки що застосовується лише для програм, які залежать від Qt 4 у старих версіях Ubuntu, тобто 14.04)

  • автоматична конфігурація, загальносистемна (встановивши певний пакет інструментарію, який автоматично виявляється у новіших випусках Ubuntu, тобто 16.04)

Незважаючи на те, що різні інструментарії пропонують різний досвід та стиль діалогу, усі згадані набори інструментів (GTK +, KDE та Qt) дозволяють користувачам редагувати розташування у діалоговому вікні вибору файлів.

TL; DR На сьогоднішній день, здається, KGtk є єдиним способом заміни діалогового вікна GTK +, і він повинен застосовуватися для кожної програми. Немає відомої альтернативи, як насправді замінити діалоги для загальносистемного випадку. Інше, шукайте обхідні шляхи для швидшого завантаження вибору файлів GTK + (це було б інше питання).


Примітка відповідача : Ця відповідь вперше була написана для вирішення питань щодо зручності використання та чутливості діалогових файлів у GTK +, KDE та Qt. З тих пір речі можуть змінитися, і ця відповідь може бути застарілою. Отже, ця відповідь тепер є вікі спільноти, щоб кожен, хто має мінімальну репутацію, міг покращити цю публікацію або принаймні зараз більш відкритий для редагувань спільноти.


Дякую за відповідь! Я не знаю чому, але в моїй системі діалог kde / qt набагато швидший / швидкий, ніж діалог GTK. Що стосується зручності використання, то в діалоговому вікні GTK є ряд нетрадиційних способів поведінки, до яких я не звик / не подобається (наприклад, потрібно натискати клавішу Enter після заповнення вкладки, що потім спричиняє затримку на 2-3 секунди, перш ніж я можу знову ввести текст). Я буду дивитись на KGtk.
gandalf3

Ваша відповідь не має сенсу. "Повільний" не має значення для інтерфейсу користувача. Це не моделювання частинок. І KDE дозволяє редагувати шлях, це GTK, який не дозволяє вам це зробити.
LtWorf

Нарешті, мені вдалося трохи попрацювати, щоб покращити загальну відповідь. Я підтвердив, що у діалоговому вікні KDE є більше варіантів редагування розташування у виборі файлів, таким чином, може бути простіше, ніж GTK +.
clearkimura

6

Починаючи з 2016 року відповідь - так ! Принаймні для використання вибору файлів KDE з додатками GTK3.

Розробники Gtk + називають це " виборцями нативного файлу " для "пісочних програм", тоді як основною ціллю цього був Flatpak, він також дав можливість використовувати їх у Windows. Однак ви також можете використовувати це для програм без пісочниці / плоских пакетів, використовуючи фокус:

  1. Встановіть xdg-desktop-portal-kdeпакет: Arch Linux , Debian , Fedora , KDE Neon , Ubuntu ( посилання прямого встановлення )
  2. Якщо ви на самому ділі не з допомогою KDE, редагувати /usr/share/xdg-desktop-portal/portals/kde.portalі додавати значення $XDG_CURRENT_DESKTOP, між якими ставиться крапка з комою в UseIn=KDEрядку (тобто: UseIn=KDE;xfce)
  3. Додайте рядок GTK_USE_PORTAL=1в ~/.pam_environmentтак , що GTK завжди буде вести себе так , як ніби це було в середовищі ізольованого
  4. Вийдіть та поверніться, щоб застосувати ці зміни

Можливо, я можу додати, що це не буде працювати для додатків, що використовують класичні GtkFileChooserDialogабо GtkFileChooserWidgetAPI: Вони відкривають основні GtkWidgets додатку, який не буде доступний при візуалізації вибору файлів за допомогою іншого, крім GTK. Отже, тільки GtkFileChooserNativeі GtkFileChooserButtonбуде працювати, і якщо ви побачите, що додаток GTK все ще використовує інструмент вибору файлів GTK після виконання вищезазначених кроків, ви можете надіслати їм патч. ;-)
ntninja

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.