Где Наутилус получает свое описание типа файла

можно создать собственный вкусный репозиторий из папки, которая содержит всего об/мин, которого Вы загрузили. главное преимущество является автоматизированным управлением зависимостью.

3
06.01.2015, 18:48
2 ответа

Это было жестко закодировано в Nautilus в соответствии с решением devs к показывать только базовую информацию о типах в столбце 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") },
};

Типы, которые не подпадают под вышеуказанные категории, показаны как Неизвестные:

if (basic_type == NULL) {
    basic_type = g_strdup (_("Unknown"));

В результате, файл с типом пантомимы приложение/x-myokit (с соответствующим символическим именем значка приложение-x-generic) будет перечислен как Unknown в колонке Type, в то время как файл с типом пантомимы text/x- myokit (с соответствующим символическим именем значка text-x-generic) будет перечислен как Text в колонке Type (см. также различные системные файлы, такие как *. так в файлах /usr/lib или *.mo в файлах /usr/share/locale - все они перечислены как Unknown, но если выбрать один из них и нажать Alt+Enter, вы получите подробную и точную информацию).


Вы можете заставить Nautilus перечислить что-то другое, если Вы используете родовое иконное имя в Вашем файле xml. Хотя Ваши опции ограничены вышеуказанными категориями. Поэтому, например, если Вы хотите, чтобы каждый из Ваших *.mmt файлов был указан как Program в колонке Type 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>

Не забудьте обновить базу данных пантомимы:

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

Если Вам нужна более полезная информация, Вы можете включить/проверить колонку MIME type в предпочтениях Nautilus (или с помощью dconf/gsettings: добавить mime_type к org. gnome.nautilus.list-view колонки по умолчанию).

1: запустите gio info -a standard::symbolic-icon file, чтобы увидеть соответствующие имена символических значков (на старых установках замените gio info на gvfs-info)

3
27.01.2020, 21:19

Я считаю, что Nautilus получает описание файла из места / usr / share / applications . Вы можете найти более полезную информацию из моего другого ответа здесь . В частности, Это Ответ в Ask Ubuntu обсуждает, как ассоциации файлов хранятся подробно.

Диспетчер файлов (Nautilus по умолчанию) использует тип MIME Файл, чтобы определить, какую программу открыть ее. Когда приложение установлен, он может указать, какие типы MIME он может открыть и Команда использовать для открытия файлов в файле .desktop, который помещен В / usr / Share / Applications . Это файл, используемый для меню, настольных компьютеров Ярлыки и т. Д.

1
27.01.2020, 21:19

Теги

Похожие вопросы