Creé un archivo .menu en /etc/xdg/menus/applications-merged/
, creé un archivo .directory en /usr/share/desktop-directories/
y los diversos archivos .desktop que quiero que estén en mi menú personalizado /usr/share/applications
con una extensión de Categorías personalizada Categories=X-nameofcategory
pero todavía no aparece ningún menú en mi menú de aplicaciones.
Me pregunto si me falta algún paso. No estoy usando alacarte porque hay varias aplicaciones que necesito crear y alacarte es muy manual, tiene que agregar rutas de directorio para cada ícono, es ejecutable y no hay que arrastrar/soltar. método tampoco. Supuse que había una forma estándar de hacer esto y seguí los pasos que describe freedesktop, pero todavía estoy perdido. ¡Cualquier ayuda o vision sería apreciada!
Respuesta1
Nadie parece saberlo o no pudo responder, ¡así que arrojaré la solución que encontré!
Hay 3 ubicaciones que deberían preocuparle:
/usr/share/desktop-directories
/etc/xdg/menus/applications-merged
/usr/share/applications
Tenga en cuenta que la última ubicación es específica de todo el sistema; si la desea solo para su usuario, use:~/.local/share/applications
En primer lugar nosotros:
- Cree un archivo llamado
APPNAME.menu
(sustituyaloAPPNAME
como quiera llamarlo) en la ubicación de la carpeta/etc/xdg/menus/applications-merged
- Introduzca estos contenidos:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name> <!-- This is necessary for your directory to appear in the applications drop down -->
<Menu> <!--app -->
<Name>app</Name>
<Directory>APPNAME.directory</Directory>
<Include>
<Category>APPNAME</Category>
</Include>
</Menu> <!-- End app -->
</Menu> <!-- End Applications -->
- Guarde el archivo y cree otro archivo llamado
APPNAME.directory
en la ubicación de la carpeta (debe tener el mismo nombre especificado en el.menu
archivo)/usr/share/desktop-directories
con este contenido:
[Desktop Entry]
Type=Directory
Name=AppName
Icon=/path/to/icon`
Notael .directory
nombre del archivo debe ser exactamente el mismo que el .directory
que ingresó en el .menu
archivo anterior.
.desktop
Cree un archivo estándar en~/.local/share/applications
o/usr/share/applications
con estos contenidos (sustituyendo por su propio programa, por supuesto, y laCategories=
líneaDEBE SERel mismo nombre que le diste al.directory
archivo anteriormente)
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/path/to/executable.sh
Name=ApplicationToRun
Icon=/path/to/icon
Categories=APPNAME
Comment=Comment for users