Aggiunta di un nuovo gruppo di applicazioni in Linux
-
05-07-2019 - |
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.
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).