[devel] RFC: menu policy

Igor Vlasenko ivlasenko на gmail.com
Чт Май 5 13:48:00 UTC 2011


Уважаемые коллеги,
выношу на обсуждение Menu Policy,
описывающее общесистемное меню 0.30 и выше.

http://www.altlinux.org/Menu_Policy

------------------------------------------------------------------------
Menu Policy
Материал из ALT Linux Wiki
Черновик политики Sisyphus
Автор(ы) -- viy на altlinux.org

Содержание

    * 1 общесистемное меню
          o 1.1 Адаптированное общесистемное меню для WM/DE
          o 1.2 Порядок слияния подменю в адаптированном общесистемном
меню для WM/DE
    * 2 Настройка и брендинг общесистемного меню в WM/DE
    * 3 Ссылки

общесистемное меню

    * В системе может быть несколько вариантов общесистемного
меню,выбираемых через альтернативу
/etc/xdg/menus/altlinux-applications.menu.

    * Каждый вариант общесистемного меню должен быть совместим с меню
GNOME по внутренним идентификаторам подменю. Это необходимо для
совместимости со сторонними приложениями.

    * По стандартному пути /etc/xdg/menus/applications.menu находится
неспецифическое (generic) меню по умолчанию, которым может
пользоваться любой WM/DE в отсутствие своего родного меню.

 Адаптированное общесистемное меню для WM/DE

Наличие родных приложений, настроек и т.д. является поводом, чтобы
создать для WM/DE адаптированное общесистемное меню. Рекомендуется
размещать адаптированное меню по пути /etc/xdg/menus/<WM/DE
name>-applications.menu. Чтобы WM/DE нашел свое меню по этому пути
обычно достаточно указать в start<DE>

export XDG_MENU_PREFIX="<WM/DE name>-"

Адаптированное общесистемное меню для WM/DE должно предоставлять
виртуальный пакет <NAME>-freedesktop-menu.

WM/DE должен иметь зависимость на виртуальный пакет
<NAME>-freedesktop-menu. Это позволяет при необходимости установить
для WM/DE вместо имеющегося адаптированного общесистемного меню
произвольное другое меню.

Если с WM/DE в комплекте идет свое оригинальное меню, предлагаемое
разработчиками,то WM/DE должен выносить свое оригинальное меню,
предлагаемое разработчиками, в отдельный подпакет либо вообще
отключать его. Также, WM/DE не должен явно требовать свое оригинальное
меню. Вместо этого он должен иметь зависимость на виртуальный пакет
<NAME>-freedesktop-menu
[править] Порядок слияния подменю в адаптированном общесистемном меню для WM/DE

Адаптированное меню /etc/xdg/menus/<WM/DE name>-applications.menu
должно осуществлять слияние подменю в следующем порядке:

    * явно сливается общесистемное меню
/etc/xdg/menus/altlinux-applications.menu, выбираемое через
альтернативу.

    * явно сливается общесистемный каталог подменю
/etc/xdg/menus/applications-merged

    * накладываются настройки меню, описанные собственно в адаптированном меню

    * явно сливается личный каталог подменю для WM/DE, обычно
/etc/xdg/menus/<WM/DE name>-applications-merged. Исключение -- KDE4,
где в качестве персонального каталога подменю используется каталог
/etc/xdg/kde4/menus/applications-merged.

    * явно сливается файл настроек пользователя applications-menueditor.menu

    * явно сливается файл настроек пользователя <WM/DE
name>-applications-menueditor.menu

Настройка и брендинг общесистемного меню в WM/DE

Настройка и брендинг общесистемного меню в WM/DE осуществляется с
помощью специальных меню, содержащих команды редактирования меню в
соответствии со стандартом, имеющих расширение .menu и размещаемых
следующим образом:

    * системные настройки, действующие на все WM/DE, должны
размещаться в общесистемном каталоге подменю
/etc/xdg/menus/applications-merged.

    * системные настройки, специфические для конкретного WM/DE, должны
размещаться в персональном каталоге подменю для конкретного WM/DE,
обычно /etc/xdg/menus/<WM/DE name>-applications-merged. Исключение --
KDE4, где в качестве персонального каталога подменю используется
каталог /etc/xdg/kde4/menus/applications-merged.

    * настройки пользователя,действующие на все WM/DE, должны
размещаться в файле
$XDG_CONFIG_HOME/menus/applications-menueditor.menu.

    * настройки пользователя для конкретного WM/DE должны размещаться
в файле $XDG_CONFIG_HOME/menus/<WM/DE
name>-applications-menueditor.menu.


Системные настройки меню требуют прав root. Они выполняются
администратором системы либо идут в комплекте с дистрибутивом (в виде
пакетов branding-*, подготовленных релиз-менеджером дистрибутива).

Для выполнения настроек пользователя не требуются ни права root, ни
знание синтаксиса файлов .menu. Достаточно отредактировать меню в
редакторе меню anakondi или kmenueditor и при необходимости вручную
переименовать файл $XDG_CONFIG_HOME/menus/applications-menueditor.menu
в файл $XDG_CONFIG_HOME/menus/<WM/DE
name>-applications-menueditor.menu.


Подробная информация о списке рассылки Devel