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


26

Есть ли какой - либо способ настройки GTK + программы использовать другой файловый диалог?

Чтение древних статей в диалоге по умолчанию и отсутствие различий с текущей версией не сулит ничего хорошего в ближайшем будущем.

Я прочитал этот вопрос , но я, кажется, один из немногих, кто сделал это почти год. Как я уже упоминал в комментарии к этому вопросу:

Для archlinux есть исправленная версия FF для KDE. Он работает хорошо, если вы находитесь в KDE и вам нравится сокращенная версия dolphin / что бы то ни было, но, к сожалению, похоже, не изменит селектор файлов, если вы не используете KDE

Поскольку я в настоящее время нахожусь в пользовательской настройке openbox, Firefox вернулся к использованию неприязненного диалога GTK +. Но это решение работает только для Firefox, поэтому я бы предпочел способ удалить это из моей системы во всем мире.


1
Если я правильно понимаю, диалог GTK, который у вас есть в Openbox, не позволяет вам вводить любое имя файла или редактировать строку адреса? Как придешь? Я думаю, что лучше разместить на вашей системе скриншот диалога GTK, чтобы другие люди могли на него посмотреть.
Clearkimura

@clearkimura У него действительно есть строка адреса, по крайней мере, большую часть времени (я не смог определить, по каким причинам он так часто опускается ...). Моя настоящая неприятность - это чрезвычайно длительное время загрузки, которое иногда требуется при открытии большого каталога (несколько сотен файлов изображений)
gandalf3

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

Ответы:


8

Этот ответ пересмотрен по сравнению с первоначальным сообщением, на которое впервые был дан ответ в конце 2015 года. Содержимое теперь переставлено, некоторые лишние тексты были удалены, а соответствующий текст добавлен.

Некоторые уточнения

[...] диалог, представленный, например, GIMP (GTK + 2) заставляет его зависать более 20 секунд. Переход к той же директории в Dolphin загружается мгновенно.

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

У него действительно есть строка адреса, по крайней мере, большую часть времени (я не смог определить причины, по которым он опускается так часто ...)

Для GTK + диалоговое окно, строка местоположения не будет отображаться при просмотре «Недавно использованные» в окне выбора файлов. В этом представлении даже Ctrl+ Lсочетания клавиш не будут работать. Это, вероятно, причина, по которой OP утверждает, что средство выбора файлов иногда пропускает строку адреса.

Прямой ответ

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

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

Расширенный ответ (2015-11-23)

Этот расширенный ответ должен решить две проблемы, затронутые в этом вопросе: не понравившийся диалог GTK + (проблема с удобством использования) и диалоговое окно в течение некоторого времени зависает (проблема с отзывчивостью).

Ниже приведены сообщения об ошибках, в которых упоминаются актуальные проблемы, относящиеся к GTK +.

  • Отчет об ошибках Debian в 2008 году жаловался, что средство выбора файлов GTK + может открываться медленно, и его путь не может быть отредактирован самым быстрым способом.

  • Отчет о мета-ошибках Kubuntu в 2008 году, посвященный диалогу GTK +, незнаком, чем родные диалоги KDE, поэтому его трудно использовать.

  • Так, вопрос 2009 года жаловался на то, что просмотр каталогов, содержащих много файлов по сети, был очень медленным с использованием диалога выбора файлов GTK +.

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

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

  • Вопрос GD.SE в 2014 году был опубликован с просьбой как-нибудь быстро открыть файл в 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 media player и т. д.)

  • ручная конфигурация, для всей системы (по Qt Settings, пока применима только для программ, которые зависят от Qt 4 в более старых выпусках Ubuntu, т.е. 14.04)

  • автоматическая конфигурация, для всей системы (путем установки определенного пакета инструментов, который автоматически определяется в более новых выпусках Ubuntu, т.е. 16.04)

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

TL; DR На сегодняшний день KGtk кажется единственным способом заменить диалог GTK +, и его необходимо применять для каждого приложения. Не существует известной альтернативы для замены диалогов для общесистемного варианта. Иначе, ищите обходные пути, чтобы заставить загрузчик файлов GTK + загружаться быстрее (это был бы другой вопрос).


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


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

Ваш ответ не имеет смысла. «Медленный» не имеет значения для пользовательского интерфейса. Это не симуляция частиц. И KDE позволяет редактировать путь, это GTK, который не позволяет вам это сделать.
LtWorf

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

6

Примерно с 2016 года ответ - да ! По крайней мере, для использования средства выбора файлов KDE с приложениями GTK3.

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

  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_environmentGTK всегда вел себя так, как если бы он находился в изолированной среде
  4. Выйдите и снова войдите, чтобы применить эти изменения

Я должен добавить, что это не будет работать для приложений, использующих классический GtkFileChooserDialogили GtkFileChooserWidgetAPI: они предоставляют приложению базовые GtkWidgets, которые не будут доступны при рендеринге выбора файлов с использованием чего-либо, кроме GTK. Следовательно, только GtkFileChooserNativeи GtkFileChooserButtonбудет работать, и если вы видите, что приложение GTK все еще использует средство выбора файлов GTK после выполнения вышеуказанных шагов, вы можете отправить им патч. ;-)
ntninja

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.