Menu-Spec and nested AppDirs #3

Heinrich Wendel h_wendel at cojobo.net
Thu Aug 11 13:19:39 EEST 2005


Hi,

For those who didn't read my previous mails, here the problem again:

Ok, I try to collect proposed solutions and add just another problem. Here the 
test-case again:

While writing a MenuEditor component for pyxdg I ran into the following 
problem. Take the following menu file:

<Menu>
  <Name>Applications</Name>
  <DefaultAppDirs/>
  <DefaultDirectoryDirs/>
  <Menu>
    <Name>Editors</Name>
    <Include>
      <Category>Editors</Category>
    </Include>
  </Menu>
  <Menu>
    <Name>Debian</Name>
    <AppDir>/usr/share/debian/applications</AppDir>
    <Menu>
      <Name>Games</Name>
      <Include>
        <Category>Games</Category>
      </Include>
  </Menu>
</Menu>

This works fine as long as you don't try to edit things.

1.) try to edit an entry in the "Games" menu, but what happens? You can't edit 
it because /usr/share/debian/applications will have a higher priority than 
the users settings.

2.) try to move an entry in the "Games" menu by excluding it in the debian 
menu and includnig it in the "Editors" menu, but what happens? It won't work, 
because the "Editors" menu can't find the item, because it don't 
has /usr/share/debian/applications in it's AppDir's.

3.) try to move the whole "Games" menu to a toplevel menu, but what happens? 
It will be empty, because it don't has /usr/sharedebian/applications in it's 
AppDir's.

Now my proposed solution:

I think the problem is the <Move> element. It was inteded for menu editing, 
still it makes menu editing very difficult. I think that is because the 
<Move> elements are handled at the merging step, which is wrong in my 
opinion. This can cause a lot of confusing, see examples above. A better 
solution would be to handle them after the menu is generated, this would 
eliminate problem  3. Additionally it should be possible to also move 
desktopfileids with the <Move> Element, this would fix problem 2. And to fix 
problem 1 directories in the users home folder should always have preference 
over systemwide folders.
In my opinion this are only small changes, since those features are currently 
rarely used and thus changing them could only benefit us. 

mfg, heinrich :-)



More information about the xdg mailing list