En OpenBox tenemos el llamado pipe-menu que es el clasico menu que todos los usuarios de Openbox conocen, el que aparece al hacerle click derecho sobre el escritorio.
Ese menu, como todo en este gestor de ventanas, es super personalizable. Pueden ustedes agregar su comandos personalizados y lanzadores de aplicaciones personalizados. Si googlean un poco encontraran toda clase de scripts y agregados para ese menu, desde controladores para varios reproductores de musica(MPD, Rhythmbox y demas), controles para el escritorio, checkers para el email y mas.
Es muy probable que tengan instalada la herramienta obmenu , que es una aplicacion grafica que permite modificar el menu sin tener que editar el archivo de configuracion XML.
Pero la cosa que es que normalmente uno instala y desinstala aplicaciones a lo loco y luego da pereza editar el menu de openbox para agregar las nuevas y eliminar las viejas. Por eso voy a explicar como generar ese menu de aplicaciones automáticamente. Pero solo la parte de las aplicaciones.
Al final explicare las ventajas y desventajas de cada metodo.
Opcion 1- Un script
Este script lo saque del menu que viene con [Archbang](https://paraisolinux.com/tutorial-de-instalacion-de-archbang-paso- a-paso/ “Tutorial de instalacion de ArchBang paso a paso”), y si tienen esa distro entonces ya saben a cual me refiero.
Para el proposito de este mini tutorial, he eliminado todo el resto del menu para dejar solo la parte de las aplicaciones.
Como hacerlo? Bueno, abrir el archivo /home/su_usuario/.config/openbox/menu.xml y pegarle este contenido:
[bash] [/bash]
Y luego crear un archivo en /home/tu_usuario/.config/openbox/scripts con el nombre xdg_menu con el siguiente contenido:
[bash] #!/usr/bin/env python import gmenu, re, sys from xml.sax.saxutils import escape
def walk_menu(entry): if entry.get_type() == gmenu.TYPE_DIRECTORY: print ''
% (escape(entry.menu_id), escape(entry.get_name())) map(walk_menu,
entry.get_contents()) print '' elif entry.get_type() == gmenu.TYPE_ENTRY and
not entry.is_excluded: print ' ' % escape(entry.get_name()) command = re.sub('
[^ ]*%[fFuUdDnNickvm]', ‘’, entry.get_exec()) if entry.launch_in_terminal:
command = ‘xterm -title “%s” -e %s’ % \ (entry.get_name(), command) print ' '
- \ ‘%s’ % escape(command) print ' '
if len(sys.argv) > 1: menu = sys.argv[1] + ‘.menu’ else: menu = ‘applications.menu’
print '' print '' map(walk_menu, gmenu.lookup_tree(menu).root.get_contents()) print '' [/bash]
Y eso seria todo. Para probar pueden cerrar sesion y volver entrar. O usar el comando reconfigure de openbox
openbox –reconfigure
Opcion 2- MenuMaker
Con esta opcion lo que haremos sera generar el menu con un comando, no hay que editar ningun archivo. Lo primero sera instalar la aplicacion menumaker si es que no la tienen. En Arch Linux seria asi:
sudo pacman -S menumaker
Esta aplicacion puede generar menus para varios entornos de escritorio y gestores de ventanas asi que hay que especificarlo en el comando que vamos a usar. Tambien puede detectar aplicaciones que son solo para la consola y la mayoria no quiere tener esas aplicaciones en el menu, por tanto tambien hay que especificarlo.
El comando seria este:
mmaker -f Openbox -s Console
Si le sacan la opcion -s tambien agregara los programas para la consola.
Luego de reiniciar sesion o usar el comando reconfigure(ver arriba), el resultado final queda asi:
Ventajas y desventajas de cada metodo
La principal ventaja del script es que el menu se genera solo siempre, en cambio con menu maker hay que estar corriendo el comando cada vez que se agreguen o quiten programas para mantener el menu actualizado.
Otra ventaja del script es que se agrega como una opcion mas del menu a las otras opciones que ya tengamos, en cambio con menu maker siempre estamos reescribiendo el archivo de configuracion y perdiendo las otras opciones personalizadas que tengamos.
Pero el script tiene una desventaja y es que a veces se tarda en buscar las aplicaciones y en generar el menu, unos segundos. En cambio con menumaker el menu que se genera es estatico y super rapido.