Desktop Menu Entry Policy: различия между версиями

Материал из ALT Linux Wiki
Строка 73: Строка 73:
|Настройки персональные  
|Настройки персональные  
|Settings;
|Settings;
|-
|X-Literature
|Чтение электронных книг
|Office;Viewer;
|}
|}
== Policy Draft v1.1 (Предложения к расширению полиси) ==
== Policy Draft v1.1 (Предложения к расширению полиси) ==



Версия от 11:04, 12 мая 2011

Stamp90cw.png
Действующая политика Sisyphus

Политика действует, начиная со стабильного бранча 6.0 и выше.

Ответственный за проведение политики в жизнь — Igor Vlasenko.


Версия 1.0

Общие требования

  • .desktop файл должен быть оформлен в соответствии с Desktop Entry Specification
  • .desktop файл, не предназначенный для установки в меню (например, чистый обработчик mime-type), должен иметь NoDisplay=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-Typing.

Типичные проблемы в desktop-файлах

  • Ключ Encoding устарел, его нужно удалять. Теперь Encoding всегда UTF-8.
  • пиктограмму надо указывать без расширения (если это не абсолютный путь).

Требует решения в 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.

Приложения

Дополнительные поддерживаемые категории

Категория описание Дополнительно указывать
X-Typing Обучение набору клавиатуры Education;
X-Desktop Утилиты рабочего стола, не являющиеся апплетами (Applet;) Utility;
X-ALTLinux-VideoSettings Настройки монитора, видеокарты, Х-сервера... Settings;HardwareSettings;
X-PersonalSettings Настройки персональные Settings;
X-Literature Чтение электронных книг Office;Viewer;

Policy Draft v1.1 (Предложения к расширению полиси)

Нейтральность относительно DE

.desktop файл позволяет указывать, в меню каких оконных менеджеров их показывать с помошью OnlyShowIn= и NotShowIn=. Рекомендуется не пользоваться этими тегами, поскольку они имеют абсолютную силу. Вместо этого для сокрытия .desktop файлов рекомендуется пользоваться средствами настройки общесистемного меню в WM/DE, описанными в Menu_Policy.