为 unity .desktop 提供的图标大小,以及引用它的语法

为 unity .desktop 提供的图标大小,以及引用它的语法

我应该在应用程序的 .desktop 文件中提供(和引用)什么尺寸的图标?我正在使用 Sublime Text 2,它提供最大 256 像素见方的 .PNG,但默认情况下在其 .desktop 文件中引用 48x48,这在侧边栏/dock/thing 中没有问题,但在较大的 alt-tab 应用程序切换视图上看起来缩放效果很差。

Icon=/opt/Sublime Text 2/Icon/48x48/sublime_text.png

如果我只是引用较大的文件,有什么问题吗?

我还注意到一些现有的 .desktop 文件似乎没有引用文件,而只是一个名称 - 它是如何工作的?(例如 chromium-browser.desktop 只有没有路径或文件扩展名的值:

Icon=chromium-browser

答案1

.desktop引用文件中的图标

您可以简单地将完整路径放在文件中,或者将图标路径放在默认图标目录中(如下所述)


为图标添加多种分辨率

您可以将自己的图标放在以下文件夹之一中,以使其具有多种分辨率:

<RESOLUTION>用图标的分辨率(48x48格式)替换,<NAME>用您想要引用的唯一名称替换,.png用图标的扩展名替换(如果它有不同的扩展名)。

  • 仅适用于当前用户:

    ~/.local/share/icons/hicolor/<RESOLUTION>/apps/<NAME>.png
    
  • 对于系统上的所有用户:

    /usr/share/icons/hicolor/<RESOLUTION>/apps/<NAME>.png
    

要在文件中引用此图标.desktop,您只需使用<NAME>它的图标,而无需扩展名。

笔记:

  • 图标必须为 PNG、XPM 或 SVG 格式,并具有正确的文件扩展名
    (.png、.xpm 或 .svg)。

  • 如果图标是.svg(可缩放矢量图形)文件,您可以在上面的任一路径中使用scalable它。<RESOLUTION>

参考:


查找没有完整路径的图标

chromium-browser(例如,使用它来定位 的图标)

灵感来自斯蒂法诺·帕拉佐♦的回答这里

#!/usr/bin/env python3

from gi.repository import Gtk

icon_name = input("Icon name (case sensitive): ")
if icon_name:
    theme = Gtk.IconTheme.get_default()
    found_icons = set()
    for res in range(0, 512, 2):
        icon = theme.lookup_icon(icon_name, res, 0)
        if icon:
            found_icons.add(icon.get_filename())

    print("\n".join(found_icons))

将以上内容保存到文件中并使用 运行python3 /path/to/file

参考:

相关内容