Unity 中的 PyGTK 應用程式圖示模糊

Unity 中的 PyGTK 應用程式圖示模糊

我在主視窗林間空地文件中引用了 128x128 圖標,例如<property name="icon">../media/my-icon.svg</property>.

我嘗試使用 svg 和 png,但在 Ubuntu 應用程式切換器(Alt + Tab)中它總是非常模糊。

我注意到,在快速使用模板建立應用程式時,Ubuntu 徽標也非常模糊。

知道為什麼會發生這種情況嗎?

答案1

這是怎麼回事

設定<property name="icon">是指視窗圖標,而不是應用程式圖標。據我了解,Ubuntu 視窗伺服器(X.org)在加載後將它們壓縮到很小的大小。如果你不記得 2009 年,它們曾經被用作以下用途:

視窗圖示圖片

使用應用程式圖標代替

如果需要,Ubuntu Unity 將使用這種低解析度格式。然而,它通常會根據以下Icon=值獲取應用程式圖標給定視窗的應用程式啟動器,稱為“桌面條目”

如果您是普通的應用程式開發人員,只是計劃發布他們的程序應用程式開發者門戶,你可能可以停止閱讀這裡。免費的打包服務將處理編寫應用程式的桌面條目並將其安裝的圖示放置在檔案系統的右側部分。如果不...

實質內容

如何建立桌面條目並使 Ubuntu 將 PyGTK 視窗與正確的應用程式圖示和名稱相匹配已經記錄在這個問題中。但你實際上在哪裡地方圖標來顯示正確的圖標?

事實上,答案相當神秘。根據 freedesktop.org 規範,圖示是按大小、圖示主題和(必要時)本地化搜尋和載入的。圖標甚至可以安裝在幾個不同的前綴中,這取決於安裝它們的來源。 Ubuntu 透過上下文「查詢」圖示。

簡單的規則:為您的應用程式使用唯一的圖示名稱,以防止與其他圖示錯誤相符。將應用程式的圖示放置在以下目錄之一(或其子目錄):

<user prefix>/share/icons/<icon width>x<icon height>/apps/
<user prefix>/share/icons/scalable/apps/

<user_prefix>是您的應用程式的安裝路徑(它將/usr用於套件管理器安裝的套件、/usr/local/為所有使用者安裝的其他軟體以及$HOME/.local單一使用者安裝)。<icon width><icon height>(或 SVG 的“可縮放”)指的是圖標的尺寸。如果您建立許多不同的圖示分辨率,Ubuntu 將始終為任何上下文找到並選擇正確的一種。

在開發時顯示正確的應用程式圖標

  1. 建立一個可縮放或高解析度的圖示並將其放置在使用者主share/目錄的正確子目錄中。例如,myapp.svg將進入$HOME/.local/share/icons/scalable/

  2. 編寫一個桌面條目,其中包含圖示的非副檔名。例如

    [Desktop Entry]
    
    Name=My Application
    Exec=my_binary
    Icon=myapp
    

    將其放入$HOME/.local/share/applications/.注意my_binary必須是$PATH可在您的目錄之一中搜尋的可執行文件

  3. (a) 從 Unity Dash 運行您的應用程序,(b) 使用命令列從命令列運行您的應用程式確切的名字您的可執行檔的$PATH[例如'my_binary']。

如果這一切讀起來都像胡言亂語…

開啟檔案瀏覽器並瀏覽目錄/usr/share/applications//usr/share/icons/.環顧四周,您就會了解應用程式元資料和圖示在 Ubuntu 中的工作原理。

相關內容