Error in menu-spec example
Frederic Crozat
fcrozat at mandrakesoft.com
Fri Dec 12 17:17:54 EET 2003
Hi all,
I'm currently trying to fix desktop-file-utils (and GNOME new gnome-vfs
method) to be compliant with menu-spec 0.8.
I'm almost there but I still having difficulties with test "e" and I'm
not sure this test is complete and the example in menu spec is correct :
-in test "e", all files in legacy_dir/Development have a Categories line
"Qt;KDE;Development", so it doesn't allow you to check if merging legacy
dir is working correctly (because thoses desktop files will go in
"Development" anyway..).
-the "Legacy" add for Categories in the spec is not very clear (at least
for me, I'm not a native english speaker). I had to read the sentence
several times to be sure "Legacy" can only be added when Categories is
already existing in the desktop file (and I'm still not 100% sure of my
understanding). BTW, we don't test for this Legacy category in the test
suite.
-we are missing (I think) a <LegacyDir prefix="foobar"> test (I'm not
sure if it should be merged in test "e" or put in a separate test).
-in the same idea, there is no <KDELegacyDirs> test.
-I tried to apply the example given in the spec for transforming a
legacy dir into a XDG menu file. I got the following result :
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<AppDir>/tmp/menutestdir/legacy_applnk</AppDir>
<DirectoryDir>/tmp/menutestdir/legacy_applnk</DirectoryDir>
<Include>
<Filename>Help.desktop</Filename>
<Filename>Home.desktop</Filename>
<Filename>Kfind.desktop</Filename>
</Include>
<Menu>
<Name>Development</Name>
<Include>
<Filename>Development/gideon.desktop</Filename>
<Filename>Development/kbabel.desktop</Filename>
<Filename>Development/quanta.desktop</Filename>
</Include>
</Menu>
</Menu>
This would mean all three "Development" desktop file will have
Developement-*.desktop desktop-id, which is not correct.
I think the correct file should be :
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<AppDir>/tmp/menutestdir/legacy_applnk</AppDir>
<DirectoryDir>/tmp/menutestdir/legacy_applnk</DirectoryDir>
<Include>
<Filename>Help.desktop</Filename>
<Filename>Home.desktop</Filename>
<Filename>Kfind.desktop</Filename>
</Include>
<Menu>
<Name>Development</Name>
<AppDir>/tmp/menutestdir/legacy_applnk/Development</AppDir>
<DirectoryDir>/tmp/menutestdir/legacy_applnk/Development</DirectoryDir>
<Include>
<Filename>gideon.desktop</Filename>
<Filename>kbabel.desktop</Filename>
<Filename>quanta.desktop</Filename>
</Include>
</Menu>
</Menu>
So menu spec example should fixed.
Sorry for this long mail, I hope you don't need an aspirin after reading
it (well, I need one to get LegacyDir working properly in
desktop-file-utils :((
--
Frederic Crozat <fcrozat at mandrakesoft.com>
Mandrakesoft
More information about the xdg
mailing list