Domanda

Come posso, in Java o usando un altro linguaggio di programmazione, aggiungere un nuovo gruppo di programmi nel menu delle applicazioni sia in KDE che in Gnome?

Sto testando con Ubuntu e Kubuntu 8. Mettere un semplice file .menu in ~ / .config / menu / applicazioni-unito ha funzionato in Kubuntu, ma la stessa procedura non fa nulla in Ubuntu.

Il contenuto del mio file è il seguente:

<!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>

Nota che il file .desktop è posizionato correttamente in ~ / .local / share / applicazioni.

Ps: la domanda originale non specificava che volevo una soluzione in modo programmatico.

È stato utile?

Soluzione

Forse xdg-desktop-menu lo fa? Vedi man xdg-desktop-menu o http://manpages.ubuntu.com/manpages/hardy/en/man1/xdg-desktop-menu.html .

Altri suggerimenti

Grazie, Oliver. Ho usato xdg-desktop-menu e poi ho analizzato il suo output. Il file di menu corretto deve denominare esplicitamente il menu esterno (Applicazioni), come segue:

<!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>

Questo ha funzionato bene in Kubuntu, Ubuntu e Fedora Core 9. Tuttavia, non poteva farlo funzionare su openSUSE.

Ti consiglio di esaminare gli standard freedesktop.org che trattano questo aspetto. L'elenco aggiornato è disponibile qui:

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

L'ultima è attualmente 1.0:

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

Gli standard di FreeDesktop.org sono seguiti da Gnome, KDE e XFCE, quindi dovrebbe funzionare su qualsiasi distribuzione.

In Gnome usa Sistema - > Impostazioni - > Menu quindi seleziona Nuovo menu o Nuova voce.

Non sei sicuro di cosa intendevi esattamente con " in openSUSE il file .directory è obbligatorio, altrimenti il ??gruppo di programmi non viene visualizzato " ;; in genere suppongo che si debba chiamare xdg-desktop-menu due volte (una volta per il gruppo di programmi e una volta per il programma stesso), e quindi è necessario fornire anche due diversi file .directory. Se il gruppo di programmi è vuoto, ha senso che il desktop lo nasconda.

(Ma forse ti ho completamente frainteso qui :-) e comunque non ho mai usato me stesso xdg-desktop-menu).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top