
Я использую i3wm на последней версии Arch и хотел бы узнать, как изменить приложение, которое будет открываться для диалогового окна сохранения/открытия файла.
Как размножаться
- Если я открываю Okular и выбираю «Открыть файл», меня встречает уродливый файловый менеджер.
- Если я нажимаю «сохранить PDF» в Chrome, открывается то же самое приложение
Что я пробовал
- установить значение по умолчанию в exo-preferred-applications
- установить вручную в каждом файле конфигурации mime, который я смог найти на своей машине (inode/directory=Nautilus.desktop;)
- и еще куча других исправлений, которые я нашел в сети
- xdg-open и mimeo открывают правильное приложение при открытии каталога
У меня на ПК также установлен Gnome, и при запуске Chrome на этом менеджере рабочего стола открывается Nautilus, поэтому я думаю, что это может быть обработано менеджером рабочего стола/окна, то есть i3 в моем случае.
решение1
Используя pstree
вы можете просматривать okular
и любые подпроцессы с открытым файловым диалогом и без него. Вы обнаружите, что файловый диалог не является порожденным процессом, это часть самого приложения. То, как он выглядит, управляется библиотеками, с помощью которых написано приложение, и темой, примененной к этой библиотеке.
Может показаться, что приложение использует разные приложения для выбора файлов в зависимости от версий задействованных библиотек, а также от того, какие темы и значки к нему применены.
Самые популярные графические библиотеки — QT и GTK. Вы можете просмотретькак применять темы единообразиядля приложений QT и GTK.
Приложения, ориентированные на KDE, такие как Okular, обычно написаны с использованием библиотеки QT, тогда как приложения, ориентированные на Chromium и Gnome, используют библиотеку GTK.