簡體   English   中英

在遵守 FreeDesktop 標准的同時,在哪里為用戶特定的應用程序安裝圖標?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM