Thomas Adam <tho...@fvwm.org> writes:

> On Wed, Apr 27, 2011 at 09:06:31PM -0400, des...@verizon.net wrote:
>> Thomas Adam <tho...@fvwm.org> writes:
>> 
>> > On Tue, Apr 26, 2011 at 09:31:02PM -0400, des...@verizon.net wrote:
>> >> Jesús J. Guerrero Botella <jesus.guerrero.bote...@gmail.com> writes:
>> >> 
>> >> > $ ls /etc/xdg/menus/
>> >> > kde-4.6-applications.menu  kde-information.menu  lxde-applications.menu
>> >> >
>> >> > I can send you the files if you need to take a look inside.
>> >> 
>> >> Yes, send me lxde-applications.menu.
>> >> It's the only one of those that I don't have.
>> >>
>> >> I think kde-4.6-applications would serve as a main menu, but
>> >> obviously, a name like that is a moving target.
>> >
>> > Can't we just glob() for these or do a readdir() on these?
>> 
>> No, you're on the wrong track.
>> 
>> All that needs changing is the identifier for the root menu.
>> 
>> This code:
>> 
>>     my @menu_bases = (qw(
>>         applications
>>         debian-menu
>>         )
>>     );
>> 
>> Just add lxde-applications to that list like this:
>> 
>>     my @menu_bases = (qw(
>>         lxde-applications
>>         applications
>>         debian-menu
>>         )
>>     );
>> 
>> and you'll be in business.
>> 
>> But none of this makes sense to me.
>> The code we are using came from arch-linux.
>> 
>> I'll see if I can figure out what they've been up to.
>
> OK -- it seems a bit stupid to me.  But:
>
> http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html
>
> Says:
>
> $XDG_CONFIG_DIRS/menus/${XDG_MENU_PREFIX}applications.menu This file
> contains the XML definition of the main application menu layout. The first
> file found in the search path should be used; other files are ignored. This
> implies that if the user has their own ${XDG_MENU_PREFIX}applications.menu,
> it replaces the system wide one. (Though the user's menu may explicitly
> merge the system wide one.)
>
> Systems that offer multiple desktop environments and that want to use
> distinct menu layouts in the different environments can use differently
> prefixed .menu files. In this case the $XDG_MENU_PREFIX environment variable
> must be set by the system to reflect the .menu file that is being used.
>
> For example if a system contains both the GNOME and the KDE desktop
> environments it can decide to use gnome-applications.menu as the menu layout
> in GNOME sessions and kde-applications.menu as the menu layout in KDE
> sessions. To correctly reflect this, it should set the $XDG_MENU_PREFIX
> environment variable to "gnome-" respectively "kde-".
>
> Implementations may chose to use .menu files with other names for tasks or
> menus other than the main application menu. Such usage is not covered by
> this specification.
>
>
> But we're not setting or using XDG_MENU_PREFIX, so perhaps we ought to be.

I think we're getting emails late?

The change I committed a day or 2 ago uses XDG_MENU_PREFIX.

Reply via email to