Question

Comment puis-je, en Java ou en utilisant un autre langage de programmation, ajouter un nouveau groupe de programmes dans le menu des applications de KDE et de Gnome?

Je teste avec Ubuntu et Kubuntu 8. Mettre un simple fichier .menu dans ~ / .config / menus / applications-merged a fonctionné sous Kubuntu, mais la même procédure ne fait rien dans Ubuntu.

Le contenu de mon fichier est le suivant:

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<Menu>
  <Name>My Program Group</Name>
  <Include>
   <Filename>shortcut.desktop</Filename>
  </Include>
</Menu>
</Menu>

Notez que le fichier .desktop est correctement placé dans ~ / .local / share / applications.

Ps: la question initiale ne précisait pas que je souhaitais une solution par programmation.

Était-ce utile?

La solution

Peut-être que xdg-desktop-menu fait cela? Voir man xdg-desktop-menu ou http://manpages.ubuntu.com/manpages/hardy/en/man1/xdg-desktop-menu.html .

Autres conseils

Merci, oliver. J'ai utilisé xdg-desktop-menu puis analysé sa sortie. Le fichier de menu correct doit nommer explicitement le menu extérieur (Applications), comme suit:

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" 
    "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
    <Name>Applications</Name>
<Menu>
    <Name>My Program Group</Name>
    <Include>
        <Filename>shortcut.desktop</Filename>
    </Include>
</Menu>
</Menu>

Cela a bien fonctionné sous Kubuntu, Ubuntu et Fedora Core 9. Impossible de le faire fonctionner sous openSUSE, cependant.

Je vous recommande d’examiner les normes freedesktop.org qui traitent de cela. La liste à jour est disponible ici:

http://www.freedesktop.org/wiki/Specifications/menu-spec

Le dernier en date est actuellement 1.0:

http://standards.freedesktop.org/menu-spec/1.0/

Les normes FreeDesktop.org sont suivies par Gnome, KDE et XFCE, donc cela devrait fonctionner sur toutes les distributions.

Dans Gnome, utilisez Système - > Paramètres - > Menu, puis choisissez simplement Nouveau menu ou Nouvelle entrée.

Vous ne savez pas exactement ce que vous voulez dire par "dans OpenSUSE, le fichier .directory est obligatoire ou le groupe de programmes n'apparaît pas"; En général, je suppose que vous devez appeler xdg-desktop-menu deux fois (une fois pour le groupe de programmes et une fois pour le programme lui-même). Vous devez donc également fournir deux fichiers .directory différents. Si le groupe de programmes est vide, il est logique que le bureau le cache.

(Mais peut-être que je vous ai complètement mal compris ici :-) et que je n'ai jamais utilisé xdg-desktop-menu de toute façon).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top