我已经为自定义文件类型创建并注册了一些共享 mime-info 文件。例如,在
~/.local/share/mime/packages
我添加了类似的文件
x-myokit.xml
包含 mime 类型描述,例如
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-myokit">
<comment xml:lang="en">Myokit model definition</comment>
<glob pattern="*.mmt"/>
</mime-type>
</mime-info>
Nautilus 现在可以识别我的文件,但仍将文件类型显示为“未知”。如何让它在本专栏中显示更有用的内容?
答案1
Nautilus
根据开发人员的决定,这是硬编码的只显示基本类型信息默认情况下位于列中Type
,以便按类型排序将对类型系列进行分组。
基本类型定义在nautilus 文件.c基于通用(符号)图标名称1:
struct {
const char *icon_name;
const char *display_name;
} mime_type_map[] = {
{ "application-x-executable", N_("Program") },
{ "audio-x-generic", N_("Audio") },
{ "font-x-generic", N_("Font") },
{ "image-x-generic", N_("Image") },
{ "package-x-generic", N_("Archive") },
{ "text-html", N_("Markup") },
{ "text-x-generic", N_("Text") },
{ "text-x-generic-template", N_("Text") },
{ "text-x-script", N_("Program") },
{ "video-x-generic", N_("Video") },
{ "x-office-address-book", N_("Contacts") },
{ "x-office-calendar", N_("Calendar") },
{ "x-office-document", N_("Document") },
{ "x-office-presentation", N_("Presentation") },
{ "x-office-spreadsheet", N_("Spreadsheet") },
};
不属于上述类别的类型显示为Unknown
:
if (basic_type == NULL) {
basic_type = g_strdup (_("Unknown"));
结果,具有 mime 类型的文件application/x-myokit
(具有相应的符号图标名称)将在 列中application-x-generic
列出,而具有 mime 类型的文件(具有相应的符号图标名称)将在 列中列出(另请参阅各种系统文件,例如文件下或文件中- 它们都被列为,但如果您选择其中之一并点击+,您将获得详细、准确的信息)。Unknown
Type
text/x-myokit
text-x-generic
Text
Type
*.so
/usr/lib
*.mo
/usr/share/locale
Unknown
AltEnter
generic-icon name
如果您在文件中使用,您可以让 Nautilus 列出其他内容xml
。尽管您的选择仅限于上述类别。因此,例如,如果您希望每个文件都在列中*.mmt
列出,您可以像这样编辑:Program
Type
x-myokit.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-myokit">
<comment>Myokit model definition</comment>
<generic-icon name="text-x-script"/>
<glob pattern="*.mmt"/>
</mime-type>
</mime-info>
不要忘记使用以下命令更新 mime 数据库:
update-mime-database ~/.local/share/mime
如果您需要更多有用的信息,您可以在首选项中启用/检查该MIME type
列Nautilus
(或使用dconf
/ gsettings
:添加mime_type
到org.gnome.nautilus.list-view default-visible-columns
)。
1:运行gio info -a standard::symbolic-icon file
以查看相应的符号图标名称(在旧设置上替换gio info
为gvfs-info
)