Menu Policy

Материал из ALT Linux Wiki
Stub.png
Черновик политики Sisyphus
Автор(ы) — viy@altlinux.org


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

  • В системе может быть несколько вариантов общесистемного меню,выбираемых через альтернативу /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. Достаточно отредактировать меню в редакторе меню alacarte или kmenueditor и при необходимости вручную переименовать файл $XDG_CONFIG_HOME/menus/applications-menueditor.menu в файл $XDG_CONFIG_HOME/menus/<WM/DE name>-applications-menueditor.menu.

Ссылки