LXDE/PCManFM 中不同 mime 类型的自定义图标(打开桌面)

LXDE/PCManFM 中不同 mime 类型的自定义图标(打开桌面)

我想为某些类型的文件创建新的 mime 类型(文本/某些内容)。我知道如何做,但我不知道如何让文件管理器为这些文件类型显示不同的图标?

我正在使用 LXDE 和 PCManFM,但当然一些通用解决方案会更好。

答案1

让我们调用新的 mimetypetext/x-foo并假设文件都以 结尾.foo。首先,我们需要一个 mimeinfo 文件。它是一个名为的小型 XML 文件x-foo.xml,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="text/x-foo">
        <comment>FOO file</comment>
        <glob pattern="*.foo"/>
        <icon name="foo-icon"/>
    </mime-type>
</mime-info>

此处这一行是关键:

<icon name="foo-icon"/>

因为它会告诉文件管理器等应用程序查找名为foo-icon.png或 的图标foo-icon.svg。要安装 mimeinfo 文件,我们运行以下命令:

$ xdg-mime install --mode user x-foo.xml

现在您应该在此处看到 XML 文件:

~/.local/share/mime/text/x-foo.xml

接下来,让我们更新 mime 数据库。

update-mime-database ~/.local/share/mime

最后,让我们安装图标。一种方式是使用命令xdg-icon-resource。例如,如果您有一个名为的 48x48 PNG 图标x-foo.png,请执行以下操作:

$ xdg-icon-resource install --context mimetypes --size 48 x-foo.png foo-icon

现在你应该在这里看到它:

~/.local/share/icons/hicolor/48x48/mimetypes/foo-icon.png

然而,xdg-icon-resource 不支持 SVG 图像,实际上这也达到了同样的效果:

$ cp foo-icon.svg ~/.local/share/icons/hicolor/48x48/mimetypes/
$ cp foo-icon.svg ~/.local/share/icons/hicolor/scalable/mimetypes/

(这不是打字错误:将 SVG 文件放入48x48/mimetypes文件夹中,菜单和面板就会完美显示。)

最后,更新图标缓存。

$ update-icon-caches ~/.local/share/icons

现在,您的自定义 mimetype 的自定义图标应该会显示在所有文件管理器中。(您可能需要按 F5 刷新任何打开的目录中的图标,或者关闭并重新加载文件管理器的所有正在运行的实例。)

对比之前和之后分别是:

通用图标 图标

资料来源/相关:

相关内容