[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

XDG Menu Spec compliance



The XDG Menu Specification specifies the use of an applications.menu file to describe the menu layout. This implies a single menu layout regardless of desktop environment used. Some distributions (Debian in particular) wanted to have different menu layouts dependng on the desktpo environment used, and decided to prefix the applications.menu file with either "gnome-" or "kde-". Unfortunately this breaks applications that expect an applications.menu file to be used (as the specification says it will). To accommodate the need for different desktop layouts under different desktop environments, the XDG Menu Spec has been updated [1] and the notion of $XDG_MENU_PREFIX has been introduced. XDG_MENU_PREFIX indicates the prefix, if any, that is applied in front of "applications.menu". So if Debian is using "gnome-applications.menu" instead of "applications.menu", it will need to export XDG_MENU_PREFIX="gnome-" as part of the desktop session to inform applications (the few that care) about the currently active menu layout.

Note that software that is included in Debian doesn't actually need to honour $XDG_MENU_PREFIX (I understand that Debian policy §9.9 forbids this), the only requirement is that $XDG_MENU_PREFIX is set to reflect the prefix used by the currently active desktop environment so that third party applications have a disto neutral way of finding the right "applications.menu" to use.

That's the straightforward part. The hairy part is that $XDG_MENU_PREFIX must _NOT_ be applied to prefix the applications-merged directory. The rationale for this is that third party applications should be able to install menu extension in applications-merged that apply regardless of the desktop environment used. So far Debian did/does not follow this part of the specification and used/uses "gnome-appplications-merged" and "kde-applications-merged" instead of "applications-merged".

Josselin Mouette recently fixed gnome-menus, gnome-panel, bug-buddy and eel2 to use the proper "applications-merged" directory regardless of the prefix used for "*-applications.menu" in Debian CVS (unstable). 

Since it is the intention of LSB to require XDG Menu Spec compliance for LSB 3.2 I would like to ask the Debian release team to consider Josselin's changes for inclusion into etch as well.

Cheers,
Waldo

[1] http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html

Intel Corporation - Channel Platform Solutions Group - Hillsboro, Oregon



Reply to: