Menu Policy: различия между версиями
Нет описания правки |
|||
(не показано 47 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
{{ | {{span|font-size: 180%|}} | ||
{{ | {{Policy | ||
|responsible= | |since_branch=6.0 | ||
|responsible=Igor Vlasenko (viy) | |||
}} | }} | ||
== | == Общесистемное меню == | ||
* В системе может быть несколько вариантов общесистемного меню, выбираемых через альтернативу {{path|/etc/xdg/menus/altlinux-applications.menu}}. | |||
* Каждый вариант общесистемного меню должен быть совместим с меню GNOME по внутренним идентификаторам подменю (содержимому тега <Name>). Это необходимо для совместимости со сторонними приложениями, которые добавляют несколько пунктов, собранных в приватное подменю. Текущие варианты общесистемного меню удовлетворяют этому требованию, поэтому их можно брать за основу.<br>Другими словами, каждый вариант общесистемного меню должен быть совместим с общесистемным shallow меню. | |||
* По стандартному пути {{path|/etc/xdg/menus/applications.menu}} находится неспецифическое (generic) меню по умолчанию, которым может пользоваться любой WM/DE в отсутствие своего родного меню. | |||
=== Адаптированное общесистемное меню для WM/DE === | |||
Наличие родных приложений, настроек и т.д. является поводом, чтобы создать для WM/DE адаптированное общесистемное меню. Рекомендуется размещать адаптированное меню по пути {{path|/etc/xdg/menus/<WM/DE name>-applications.menu}}. Чтобы WM/DE нашел свое меню по этому пути, обычно достаточно указать в {{cmd|start<DE>}} | |||
export XDG_MENU_PREFIX="<WM/DE name>-" | |||
Адаптированное общесистемное меню для WM/DE должно предоставлять виртуальный пакет {{pkg|<NAME>-freedesktop-menu}}. | |||
WM/DE должен иметь зависимость на виртуальный пакет {{pkg|<NAME>-freedesktop-menu}}. | |||
Это позволяет при необходимости установить для WM/DE вместо имеющегося адаптированного общесистемного меню произвольное другое меню. | |||
Если с WM/DE в комплекте идет свое оригинальное меню, предлагаемое разработчиками, то WM/DE должен выносить таковое в отдельный подпакет либо вообще отключать его. Также WM/DE не должен явно требовать свое оригинальное меню. Вместо этого он должен иметь зависимость на виртуальный пакет {{pkg|<NAME>-freedesktop-menu}}. | |||
=== | === Порядок слияния подменю в адаптированном общесистемном меню для WM/DE === | ||
Адаптированное меню {{path|/etc/xdg/menus/<WM/DE name>-applications.menu}} должно осуществлять слияние подменю в следующем порядке: | |||
* явно сливается общесистемное меню {{path|/etc/xdg/menus/altlinux-applications.menu}}, выбираемое через альтернативу; | |||
* явно сливается общесистемный каталог подменю {{path|/etc/xdg/menus/applications-merged}}; | |||
* накладываются настройки меню, описанные собственно в адаптированном меню; | |||
* явно сливается личный каталог подменю для WM/DE, обычно {{path|/etc/xdg/menus/<WM/DE name>-applications-merged}}. Исключение -- KDE4, где в качестве персонального каталога подменю используется каталог {{path|/etc/xdg/kde4/menus/applications-merged}}; | |||
* явно сливается файл настроек пользователя {{path|applications-menueditor.menu}}; | |||
* явно сливается файл настроек пользователя {{path|<WM/DE name>-applications-menueditor.menu}}. | |||
== Настройка и брендинг общесистемного меню в WM/DE == | |||
Осуществляется с помощью специальных меню, содержащих команды редактирования меню в соответствии со стандартом<ref>http://standards.freedesktop.org/menu-spec/menu-spec-latest.html</ref>, имеющих расширение {{path|.menu}} и размещаемых следующим образом: | |||
{| | * системные настройки, действующие на все WM/DE, должны размещаться в общесистемном каталоге подменю {{path|/etc/xdg/menus/applications-merged}}; | ||
|- | * системные настройки, специфические для конкретного WM/DE, должны размещаться в персональном каталоге подменю для конкретного WM/DE, обычно {{path|/etc/xdg/menus/<WM/DE name>-applications-merged}}. Исключение -- KDE4, где в качестве персонального каталога подменю используется каталог {{path|/etc/xdg/kde4/menus/applications-merged}}. | ||
| | |||
| | * настройки пользователя, действующие на любой WM/DE, должны размещаться в файле {{path|$XDG_CONFIG_HOME/menus/applications-menueditor.menu}}. | ||
| | * настройки пользователя для конкретного WM/DE могут размещаться в файле {{path|$XDG_CONFIG_HOME/menus/<WM/DE name>-applications-menueditor.menu}}. | ||
---- | |||
Системные настройки меню требуют прав root. Они выполняются администратором системы либо идут в комплекте с дистрибутивом (в виде пакетов branding-*, подготовленных релиз-менеджером дистрибутива). | |||
|- | Для выполнения настроек пользователя не требуются ни права root, ни знание синтаксиса файлов {{path|.menu}}. Достаточно отредактировать меню в редакторе меню {{prg|alacarte}} или {{prg|kmenueditor}} и при необходимости<ref>[http://lists.altlinux.org/pipermail/devel/2011-May/190641.html Например, при $HOME в git и использовании разных DE на разных хостах]</ref> вручную переименовать файл {{path|$XDG_CONFIG_HOME/menus/applications-menueditor.menu}} в файл {{path|$XDG_CONFIG_HOME/menus/<WM/DE name>-applications-menueditor.menu}}. | ||
| | |||
| | |||
== Ссылки == | |||
<references /> | |||
* [ftp://ftp.altlinux.ru/pub/people/zerg/menu/menu-packaging-howto-current.txt ftp://ftp.altlinux.ru/pub/people/zerg/menu/menu-packaging-howto-current.txt] | * [ftp://ftp.altlinux.ru/pub/people/zerg/menu/menu-packaging-howto-current.txt ftp://ftp.altlinux.ru/pub/people/zerg/menu/menu-packaging-howto-current.txt] | ||
Строка 488: | Строка 67: | ||
* [http://mdv.vmlinuz.ca/Development/Howto/XDGMenuSystem http://mdv.vmlinuz.ca/Development/Howto/XDGMenuSystem] | * [http://mdv.vmlinuz.ca/Development/Howto/XDGMenuSystem http://mdv.vmlinuz.ca/Development/Howto/XDGMenuSystem] | ||
* [http://fedora.redhat.com/docs/developers-guide/ch-menus.html http://fedora.redhat.com/docs/developers-guide/ch-menus.html] | * [http://fedora.redhat.com/docs/developers-guide/ch-menus.html http://fedora.redhat.com/docs/developers-guide/ch-menus.html] | ||
* [http://lists.altlinux.org/pipermail/devel/2009-July/173472.html (devel) RFC: XDG menus] |
Текущая версия от 23:04, 18 мая 2011
Общесистемное меню
- В системе может быть несколько вариантов общесистемного меню, выбираемых через альтернативу /etc/xdg/menus/altlinux-applications.menu.
- Каждый вариант общесистемного меню должен быть совместим с меню GNOME по внутренним идентификаторам подменю (содержимому тега <Name>). Это необходимо для совместимости со сторонними приложениями, которые добавляют несколько пунктов, собранных в приватное подменю. Текущие варианты общесистемного меню удовлетворяют этому требованию, поэтому их можно брать за основу.
Другими словами, каждый вариант общесистемного меню должен быть совместим с общесистемным shallow меню.
- По стандартному пути /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
Осуществляется с помощью специальных меню, содержащих команды редактирования меню в соответствии со стандартом[1], имеющих расширение .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 и при необходимости[2] вручную переименовать файл $XDG_CONFIG_HOME/menus/applications-menueditor.menu в файл $XDG_CONFIG_HOME/menus/<WM/DE name>-applications-menueditor.menu.
Ссылки
- ftp://ftp.altlinux.ru/pub/people/zerg/menu/menu-packaging-howto-current.txt
- ftp://ftp.altlinux.ru/pub/people/zerg/menu/menu-policy-current.txt
- http://standards.freedesktop.org/menu-spec/menu-spec-latest.html
- http://mdv.vmlinuz.ca/Development/Howto/XDGMenuSystem
- http://fedora.redhat.com/docs/developers-guide/ch-menus.html
- (devel) RFC: XDG menus