En este post les voy a copiar (con unos pocos cambios) una información que encontré (ver la fuente) que es bastante clara para poder editar el menú de LXDE, creando lanzadores o submenues.
Para los que quieran que los iconos que ya tienen (/usr/share/applications) se vean o se dejen de ver en el menú, está de @Geert con un script para hacerlo gráficamente.
Ahora sí, vamos a la información:
El panel de lxde (lxpanel) se puede configurar fácilmente, modificando un simple archivo de texto plano.
LXDE provee una aplicación para la configuración del panel, pero no permite la modificación del menú. Por este motivo, el trabajo se debe realizar manualmente, pero como descubriremos no hay complicación en esto.
Para personalizar el menú debemos modificar el archivo de configuración del panel que contiene a este.
El archivo en cuestión (para un usuario en particular) es
dijo:/home//.config/lxpanel/LXDE/panels/panel
Si deseamos modificar el menu que aparce en defecto al crear un nuevo usuario, debemos modificar, como root, el archivo:
dijo:/usr/share/lxpanel/LXDE/panels/panel
Este se encuentra dividido en bloques, esto es, un nombre seguido de lineas encerradas entre llaves:
dijo:Nombre{
...
...
}
El primer bloque que veremos es Global, que contiene las características principales de nuestro panel. Esto es principalmente lo que la aplicación de configuración que antes mencione modifica (el color del panel, si es transparente, el tamanio, etc).
Luego veremos varios bloques llamados Plugins. Estos son applets del panel, como por ejemplo iconos de lanzamiento, o algún menú. Estos bloques están compuestos por un campo type=, que indica que tipo , y un bloque llamado config que contiene sus características.
Pero solo nos enfocaremos en el plugin que nos interesa: menu.
Por defecto lo encontraremos de esta manera:
Plugin {
type = menu
Config {
image=/usr/share/icons/mandrake.png
system {
}
separator {
}
item {
command=run
}
separator {
}
item {
image=gnome-logout
command=logout
}
}
}
Los bloques se ordenan directamente como aparecerán, es decir, si se declaran arriba se encontraran mas arriba en el menú.
Dentro del bloque principal Config encontraremos en primera instancia el campo Image, que no es otra cosa que el icono que representara al menú, en este caso la estrella característica de MDV .
Los bloques que utiliza el plugin menu, son:
System
Hace mención al menú por defecto, que contiene los submenues: Juegos, Audio y Video, Gráficos, Programación, Herramientas de sistema, Preferencias, Internet, Oficina y Accesorios.
Todos los elementos del menú, se encuentran en el directorio /usr/share/applications , en formato .desktop. Cada uno contiene un campo llamado Category, que menciona en que categoría esta catalogado. El menú de LXDE interpreta esas categorías como a que submenu de system pertenece. Entonces, si deseamos que un determinado elemento .desktop pertenezca al submenu Accesorios, solo debemos agregar esa categoría, pero en Ingles (los submenues que toma por defecto son: AudioVideo, Development, Education, Game, Graphics, Network, Office, Settings, System, Utility y los específicos que pueden encontrar ACÁ ). Entonces quedaría:
dijo:Category=[otras categorias];Accessories;
Separator
Solo crea un separador en el menu.
Item
Crea un item de menu, esto es un lanzador. Entonces si queremos agregar un lanzador directamente sin que pertenezca a algun submenu, creamos un item con sus campos de la siguiente manera:
item{
name=[nombre del item](Opcional)
image=[Icono](Opcional)
command=[comando a ejecutar (es decir el binario de nuestra aplicación)]
}
Menu
Este crea un submenu, diferente a system. Este se encontrara compuesto por un campo llamado name, que contendrá el Nombre del submenu y un campo llamado image que contendrá el icono. Para agregar los lanzadores utilizamos un bloque llamado item, este es igual al bloque que explique antes, pero con la variante de que en vez de utilizar un campo llamado command se llama action. Por ejemplo, si quisiéramos crear un submenú para Wine, sería:
menu{
name=Wine
image=/usr/share/icons/Faenza/apps/scalable/wine.svg
item {
name=Configurar Wine
image=/usr/share/icons/Faenza/apps/scalable/wine-winecfg.svg
action=winecfg
}
item {
name=Desinstalar programas
image=/usr/share/icons/Faenza/apps/scalable/wine-uninstaller.svg
action=wine uninstaller
}
}
Ahora si deseamos anidar otro submenu, es decir poner un submenu dentro de otro, repetimos el proceso solo que dentro del bloque del submenu del que queremos agregar.
menu{
name=Wine
image=/usr/share/icons/Faenza/apps/scalable/wine.svg
item {
name=Configurar Wine
image=/usr/share/icons/Faenza/apps/scalable/wine-winecfg.svg
action=winecfg
}
item {
name=Desinstalar programas
image=/usr/share/icons/Faenza/apps/scalable/wine-uninstaller.svg
action=wine uninstaller
}
menu{
name=Aplicaciones
image=/usr/share/icons/Faenza/places/scalable/folder.svg
item {
name=Bloc de notas
image=/usr/share/icons/Faenza/apps/scalable/wine-notepad.svg
action=wine notepad
}
}
}
Para completar el ejemplo, así quedaría nuestro plugin menu:
Plugin {
type = menu
Config {
image=/usr/share/icons/Faenza/places/scalable/distributor-logo-archlinux.svg
system {
}
menu{
name=Wine
image=/usr/share/icons/Faenza/apps/scalable/wine.svg
item {
name=Configurar Wine
image=/usr/share/icons/Faenza/apps/scalable/wine-winecfg.svg
action=winecfg
}
item {
name=Desinstalar programas
image=/usr/share/icons/Faenza/apps/scalable/wine-uninstaller.svg
action=wine uninstaller
}
menu{
name=Aplicaciones
image=/usr/share/icons/Faenza/places/scalable/folder.svg
item {
name=Bloc de notas
image=/usr/share/icons/Faenza/apps/scalable/wine-notepad.svg
action=wine notepad
}
}
}
separator {
}
item {
command=run
}
separator {
}
item {
image=gnome-logout
command=logout
}
}
}
Esto pondrá el submenu que creamos arriba de todos los submenues creados por system y demás lanzadores.
Para que que los cambios tengan efecto, debemos reiniciar la sesión de nuestro usuario.
¡Espero que a alguno le sirva!
Fuente