
我在最新的 arch 安裝上使用 i3wm,我很想知道如何更改應用程式以開啟儲存/開啟檔案對話框。
如何重現
- 如果我打開 okular 並選擇“打開文件”,我會看到一個醜陋的文件管理器
- 如果我在 Chromium 中點擊“儲存 PDF”,則會開啟同一個應用程式
我嘗試過的
- 在 exo-preferred-applications 中設定預設值
- 在我可以在我的機器上找到的每個 mime 配置文件中手動設定 (inode/directory=Nautilus.desktop;)
- 以及我在網上找到的許多其他修復
- xdg-open 和 mimeo 在開啟目錄時開啟正確的應用程式
我的電腦上也安裝了 gnome,當在這個桌面管理器上啟動 chrome 時,它會開啟 nautilus,所以我認為它可能由桌面/視窗管理器處理,因此在我的例子中是 i3。
答案1
使用pstree
您可以查看開啟okular
或未開啟檔案對話方塊的任何子流程。您會發現,檔案對話框不是生成的進程,它是應用程式本身的一部分。它看起來是由編寫應用程式的庫以及應用於該庫的主題控制的。
該應用程式可能會使用不同的文件選擇器應用程序,具體取決於所涉及的庫的版本以及應用的主題和圖標。
最受歡迎的圖形庫是 QT 和 GTK。您可以查看如何應用統一主題QT 和 GTK 應用程式。
像 Okular 這樣專注於 KDE 的應用程式通常是使用 QT 函式庫編寫的,而專注於 Chromium 和 Gnome 的應用程式則使用 GTK 函式庫。