Pregunta

¿Cómo puedo, en Java o usar algún otro lenguaje de programación, agregar un nuevo grupo de programas en el menú de aplicaciones en KDE y Gnome?

Estoy probando con Ubuntu y Kubuntu 8. Poner un archivo .menu simple en ~ / .config / menus / applications-merged funcionó en Kubuntu, pero el mismo procedimiento no hace nada en Ubuntu.

El contenido de mi archivo es el siguiente:

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

Tenga en cuenta que el archivo .desktop se coloca correctamente en ~ / .local / share / applications.

Ps: La pregunta original no especificaba que quería una solución de forma programática.

¿Fue útil?

Solución

Tal vez xdg-desktop-menu hace eso? Consulte man xdg-desktop-menu o http://manpages.ubuntu.com/manpages/hardy/en/man1/xdg-desktop-menu.html .

Otros consejos

Gracias, Oliver. Utilicé xdg-desktop-menu y luego analicé su salida. El archivo de menú correcto debe nombrar explícitamente el menú externo (Aplicaciones), de la siguiente manera:

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

Esto funcionó bien en Kubuntu, Ubuntu y Fedora Core 9. Sin embargo, no podría funcionar en openSUSE.

Te recomiendo que mires los estándares de freedesktop.org que cubren esto. La lista actualizada está disponible aquí:

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

El último es actualmente 1.0:

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

Los estándares de FreeDesktop.org son seguidos por Gnome, KDE y XFCE, por lo que debería funcionar en cualquier distribución.

En Gnome use System - > Configuración - > Luego, seleccione el menú Nuevo menú o Nueva entrada.

No está seguro de lo que quería decir exactamente con " en openSUSE el archivo .directory es obligatorio o el grupo de programas no aparece " ;; en general, supongo que tiene que llamar al menú xdg-desktop dos veces (una vez para el grupo de programas y otra para el programa mismo), por lo que también debe suministrar dos archivos .directory diferentes. Si el grupo de programas está vacío, tiene sentido que el escritorio lo oculte.

(Pero tal vez no te entendí bien aquí :-) y de todos modos nunca he usado xdg-desktop-menu).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top