Linux 在.desktop文件中启用多尺寸图标支持

Linux 在.desktop文件中启用多尺寸图标支持,linux,unix,ubuntu,desktop,ubuntu-14.04,Linux,Unix,Ubuntu,Desktop,Ubuntu 14.04,我创建了一个包含以下内容的桌面文件: [Desktop Entry] Name=Mozilla Firefox - dev Type=Application Comment=Web Application Exec=/usr/lib/firefox/firefox -P dev -no-remote Icon=/home/noi/Desktop/test.png 很好,它按预期的正确配置启动了Firefox。但是,图标的大小是单一的。如何使其支持多种尺寸 谢谢图标参数可以包含绝对文件路径,然后

我创建了一个包含以下内容的桌面文件:

[Desktop Entry]
Name=Mozilla Firefox - dev
Type=Application
Comment=Web Application
Exec=/usr/lib/firefox/firefox -P dev -no-remote
Icon=/home/noi/Desktop/test.png
很好,它按预期的正确配置启动了Firefox。但是,图标的大小是单一的。如何使其支持多种尺寸


谢谢图标
参数可以包含绝对文件路径,然后将使用此文件。据我所知,您可以使用相当大的文件(例如128x128),桌面环境将自动对其进行缩放。现在,您甚至应该能够使用SVG图标,它应该得到大多数DEs的支持

您还可以传递一个标识符,如
实用程序桌面额外设置
首选项桌面声音
,然后DE将尝试在安装的图标集中找到大小正确的匹配图标。如果你想要一个Firefox图标,你应该使用
icon=Firefox
,你可以非常确定每个普通的图标集都有一个Firefox图标,在大多数情况下甚至是一个与其他图标集很好地集成的图标


来源:

图标
参数可以包含绝对文件路径,然后将使用此文件。据我所知,您可以使用相当大的文件(例如128x128),桌面环境将自动对其进行缩放。现在,您甚至应该能够使用SVG图标,它应该得到大多数DEs的支持

您还可以传递一个标识符,如
实用程序桌面额外设置
首选项桌面声音
,然后DE将尝试在安装的图标集中找到大小正确的匹配图标。如果你想要一个Firefox图标,你应该使用
icon=Firefox
,你可以非常确定每个普通的图标集都有一个Firefox图标,在大多数情况下甚至是一个与其他图标集很好地集成的图标

来源:

中建议的可缩放(SVG)图标在需要32x32像素的大小时不适用。必须对光栅图标进行微调,使其看起来漂亮

如果你有一个不同大小的图标数组,有一种方法可以自动选择正确的图标:将它们放在相同的目录下,如
/usr/share/icons/hicolor/${IconSize}/apps/${AppName}.png
(如果不放在
hicolor
目录下,则不确定它是否有效)。然后,至少根据我使用KDE Dolphin(和
mimetypes
dir而不是
apps
)的经验,根据所需的大小选择正确的图标大小(当无法获得精确大小时,最近的图标似乎会缩放)。

中建议的可缩放(SVG)图标,当您需要32x32像素的大小时,这是不好的。必须对光栅图标进行微调,使其看起来漂亮


如果你有一个不同大小的图标数组,有一种方法可以自动选择正确的图标:将它们放在相同的目录下,如
/usr/share/icons/hicolor/${IconSize}/apps/${AppName}.png
(如果不放在
hicolor
目录下,则不确定它是否有效)。然后,至少根据我使用KDE Dolphin(和
mimetypes
dir而不是
apps
)的经验,根据所需的大小选择正确的图标大小(并且在没有精确大小时,最近的图标似乎会按比例缩放)。

顺便说一句,在您自己的框中查看
/usr/share/applications/firefox.desktop
,这也应该提供一些提示。实际上这让我想到了另一个问题。我已经创建了一些图标。16px,32,64,128。在windows中,我用它创建了一个ICO文件,所以现在当图标调整大小时,它会自动调整大小。对于linux,我可以制作并应用这样的图标吗?在OSX中,我们使用ICNS文件。我应该为这个主题再做一个主题吗?好吧,你只能使用支持的图像格式,我认为你在这里只能使用常见的格式,如PNG、JPEG、GIF或SVG(对不起,不知道哪些是真正支持的)。但所有这些都不支持一个文件中包含多个图像,除了GIF,但不是您想要的方式。我使用Linux已经11年多了,我自己也对iconsets做了一些修改,但我从未见过包含多个图像的图标文件。当然,您可以就此开始一个新问题,但在Linux/Unix SE上可能会更好。或者甚至是freedesktop.org邮件列表。感谢您如此深入的回复。如果它们不允许在一个文件中使用多个大小,那么默认图标集合中的图标是否没有多个大小?也许我可以附加到iconset并将其命名为
firefox-badged
,然后在
.desktop
文件中设置
Icon=firefox-badged
。我问这个问题的原因是因为我的插件可以标记不同的配置文件和创建桌面快捷方式。你知道我的意思吗?一个常见的图标集由大小文件夹、主题文件夹和png文件组成。例如
oxygen/48x48/actions/arrow left.png
。只需从kde-look.org/gnome-look.org下载一个。当然,您可以创建不同大小的徽标,但部署它会很困难(写入权限、特定于发行版的路径、不依赖的大小、缓存)。此外,请记住,常见的图标集是由数千张精心设计的图像组成的艺术品,而第三方图标永远无法很好地集成。根据我的经验,我建议使用
Icon=firefox
,把时间花在更重要的事情上顺便说一句,在你自己的盒子里看看
/usr/share/applications/firefox.desktop
,这也应该提供一些提示。实际上,这让我想到了另一个问题。我已经创建了一些图标。16px,32,64,128。在windows中,我用它创建了一个ICO文件,所以现在当图标调整大小时,它会自动调整大小。对于linux,我可以制作并应用这样的图标吗?在OSX中,我们使用ICNS文件。我应该为这个主题再做一个主题吗?好吧,你只能使用支持的图像格式,我认为你在这里只能使用常见的格式,如PNG、JPEG、GIF或SVG(对不起,不知道哪些是真正支持的)。但所有这些都不支持