Desktop Menu Entry Policy: различия между версиями
Строка 9: | Строка 9: | ||
* .desktop файл должен быть оформлен в соответствии с [http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html Desktop Entry Specification] | * .desktop файл должен быть оформлен в соответствии с [http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html Desktop Entry Specification] | ||
* .desktop файл, не предназначенный для установки в меню (например, чистый обработчик mime-type), должен иметь Hidden=true. | * .desktop файл, не предназначенный для установки в меню (например, чистый обработчик mime-type), должен иметь Hidden=true. | ||
* Если приложение может открывать другие файлы, то в MimeType= должны быть указаны MIME типы допустимых файлов, а в Exec= должен быть указан тип аргумента с помощью Recognized field code (%F, | * Если приложение может открывать другие файлы, то в MimeType= должны быть указаны MIME типы допустимых файлов, а в Exec= должен быть указан тип аргумента с помощью Recognized field code (%U, %F, и т. д.), см. [http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#mime-types .desktop mime types] | ||
* .desktop файл, предназначенный для установки в меню, должен иметь заполненным поле {{term|Categories}}. | * .desktop файл, предназначенный для установки в меню, должен иметь заполненным поле {{term|Categories}}. | ||
* .в поле {{term|Categories}} обязательно должна быть указана одна главная (Main) категория из списка [http://standards.freedesktop.org/menu-spec/menu-spec-latest.html#category-registry Registered Categories] и одна вторичная (Secondary). Некоторые вторичные категории требуют указывать еще одну вторичную категорию, см. [http://standards.freedesktop.org/menu-spec/menu-spec-latest.html#category-registry стандарт]. | * .в поле {{term|Categories}} обязательно должна быть указана одна главная (Main) категория из списка [http://standards.freedesktop.org/menu-spec/menu-spec-latest.html#category-registry Registered Categories] и одна вторичная (Secondary). Некоторые вторичные категории требуют указывать еще одну вторичную категорию, см. [http://standards.freedesktop.org/menu-spec/menu-spec-latest.html#category-registry стандарт]. | ||
Замечание: там, где это возможно, например, в приложениях KDE/GNOME, надо использовать %U, а не %F. | |||
А то у нас OO.org из-за такой опечатки не открывал файлы с сетевых ресурсов. | |||
Замечание: для проверки .desktop файлов используется стандартная утилита desktop-file-validate. Однако, код проверки категорий реализован там недостаточно хорошо, поэтому к сообщениям этой утилиты нало относиться с рассуждением. Если вывод утилиты кажется вам ошибочным, сообщайте: это, | Замечание: для проверки .desktop файлов используется стандартная утилита desktop-file-validate. Однако, код проверки категорий реализован там недостаточно хорошо, поэтому к сообщениям этой утилиты нало относиться с рассуждением. Если вывод утилиты кажется вам ошибочным, сообщайте: это, |
Версия от 18:51, 14 апреля 2011
Общие требования
- .desktop файл должен быть оформлен в соответствии с Desktop Entry Specification
- .desktop файл, не предназначенный для установки в меню (например, чистый обработчик mime-type), должен иметь Hidden=true.
- Если приложение может открывать другие файлы, то в MimeType= должны быть указаны MIME типы допустимых файлов, а в Exec= должен быть указан тип аргумента с помощью Recognized field code (%U, %F, и т. д.), см. .desktop mime types
- .desktop файл, предназначенный для установки в меню, должен иметь заполненным поле Categories.
- .в поле Categories обязательно должна быть указана одна главная (Main) категория из списка Registered Categories и одна вторичная (Secondary). Некоторые вторичные категории требуют указывать еще одну вторичную категорию, см. стандарт.
Замечание: там, где это возможно, например, в приложениях KDE/GNOME, надо использовать %U, а не %F. А то у нас OO.org из-за такой опечатки не открывал файлы с сетевых ресурсов.
Замечание: для проверки .desktop файлов используется стандартная утилита desktop-file-validate. Однако, код проверки категорий реализован там недостаточно хорошо, поэтому к сообщениям этой утилиты нало относиться с рассуждением. Если вывод утилиты кажется вам ошибочным, сообщайте: это, возможно, баг.
Также, иногда может быть тяжело поместить приложение в меню, используя только стандартные категории. В таком случае, можно обсудить с майнтейнерами системного freedesktop menu поддержку дополнительной вторичной пользовательской категории, начинающейся на X-. Например, X-EducationTools.
Требует решения в freedesktop policy
Известные примеры, когда стандартная утилита desktop-file-validate, судя по всему, ошибается. Подобные случаи надо решать с апстримом desktop-file-utils.
warn mova-mueller7-1.2-alt2.qa3.noarch desktop-file-validate utility exited abnormally with the following message(s): /usr/share/applications/mova-mueller7.desktop: error: (will be fatal in the future): value "TextTools" in key "Categories" in group "Desktop Entry" requires another category to be present among the following categories: Utility;
Документация
Для добавления в меню документации не рекомендуется использовать Type=Link, так как не все меню отображают его корректно. Вместо этого рекомендуется воспользоваться Type=Application и в поле Exec открыть нужный документ с помощью url_handler.sh:
[Desktop Entry] Version=1.0 Type=Application Name=GNU Documentation Comment=Manuals and other non-technical ducuments (html format, in Russian) from GNU Project Icon=howto Exec=url_handler.sh /usr/share/doc/doc-gnu-ru/HTML/index.html Categories=Development;Documentation;
теоретически, надо пользоваться xdg-open, но пока этому мешают баги #25413.