Nautilus

Nautilus 從哪裡獲得其文件類型描述

  • January 26, 2018

我已經為自定義文件類型創建並註冊了一些 shared-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 現在可以辨識我的文件,但仍將文件類型顯示為“未知”。如何讓它在本專欄中顯示更有用的內容?

Nautilus根據開發人員的決定,這是硬編碼的,預設情況下僅在列中顯示基本類型資訊Type,因此按類型排序將對類型族進行分組。nautilus-file.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)將列UnknownType列中,而具有 mime 類型的文件text/x-myokit(具有相應的符號圖示名稱text-x-generic)將列TextType列中(另請參閱各種系統文件*.so下的文件/usr/lib*.mo文件中的文件/usr/share/locale- 它們都被列為,Unknown但如果你選擇其中一個並點擊Alt+Enter你會得到詳細、準確的資訊)。


generic-icon name如果您在文件中使用,您可以讓 Nautilus 列出其他內容xml。儘管您的選擇僅限於上述類別。因此,例如,如果您希望將每個*.mmt文件列ProgramType列中,您可以這樣編輯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 typeNautilus(或使用dconf/ gsettings:添加mime_typeorg.gnome.nautilus.list-view default-visible-columns)。

1:執行gio info -a standard::symbolic-icon file以查看相應的符號圖示名稱(在舊設置上替換gio infogvfs-info

引用自:https://unix.stackexchange.com/questions/177760