[英]Where to install icon for a user-specific application while adhering to FreeDesktop standards?
我有一個 GUI 應用程序,我想以符合 FreeDesktop 的方式為每個用戶安裝它。 閱讀相關規范,似乎應該將“.desktop”文件放在~/.local/share/applications
中,並且它應該包含一個Icon
鍵,該鍵設置為不帶擴展名的圖標名稱。
我面臨的問題是我找不到每個用戶應該存儲圖標的位置。 圖標主題規范state 應用程序圖標至少應存儲在$prefix/share/icons/hicolor/48x48/apps
中,但它從未定義$prefix
采用的值。 它提到$HOME/.icons
但將其貶低為遺產。 我發現的所有其他路徑都是系統范圍的。
Gnome 的集成指南指定圖標應存儲在/usr/share/icons/hicolor/48x48/apps/
中,但沒有提及按用戶安裝,盡管在指南的其他地方提到了按用戶安裝。
鑒於我設法找到的內容沒有為我提供我想要的信息,我問這個:
我的應用程序圖標應該放在哪里,以便 xdg 桌面可以找到它們?
請注意,我知道kde4-config --path icon
和朋友。 如果可能,我想避免處理我想要支持的每個桌面的圖標。
重讀 XDG 圖標規范,我注意到規范通過包含$XDG_DATA_DIRS
來引用XDG 基本目錄規范。 這種包含意味着基本目錄規范也有效,這反過來又要求
數據文件的查找應搜索相對於 $XDG_DATA_HOME 和 $XDG_DATA_DIRS 指定的所有基本目錄的 ./subdir/filename。 如果環境變量未設置或為空,則應使用本規范定義的默認值。 (源)
因此,假設我的理解是正確的並且 XDG 桌面符合規范,那么您的應用程序的用戶特定圖標位置是$XDG_DATA_HOME/icons/hicolor/48x48/apps/$YOURAPP.(png|xpm)
和$XDG_DATA_HOME/icons/hicolor/scalable/apps/$YOURAPP.svg
。 文件擴展名區分大小寫,只允許使用這三個擴展名。 另請注意,SVG 支持是可選的。
如果未設置$XDG_DATA_HOME
,則應根據基本目錄規范默認為$HOME/.local/share
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.