Versión en Castellano.
English version.
Dinmenu.
Este pequeño script en python
genera un menú de botones a partir de la descripción textual (en
XML).
Este menú estará compuesto por botones en los que se podrá ver el
nombre que hayamos seleccionado y un icono en caso de que esa
opción tenga un asignado.
Por cada uno de los botones se ejecutará el comando especificado.
Este programa se creo para manejar mediante teclas, o mediante un
mando infrarojos por lo que no está totalmente resuelto el uso mediate
ratón, ya que tiene algún pequeño problema con el scroll y la
selección.
Espero resolver este problema lo antes posible.
Caracteristicas
Genera menú GTK, centrado y adaptado en tamaño a la resolución actual
de pantalla.
En caso de que no quepan todas las opciones se genera una barra de
scroll.
Los menús actualmente solo pueden salir en Vertical aunque está
planteado realizarlos también en Horizontal.
Cada una de las opciones puede tener dos posiciones, con el nombre en
el lateral derecho de la opción o con el nombre debajo de la
opción. Las dos posibilidades tienen el siguiente aspecto:
Dependencias
El programa esta realizado en
python y usa la librería gtk por
lo que hay que tener instalado tanto gtk como pygtk que son los
"bindings" de esta librería para python.
Para "parsear" los ficheros de menú que están en XML uso los módulos
de 4Suite. Estos módulos hay que
instalarlos de forma externa en caso de usar Python v1.5.2 como uso
yo, aunque creo que estos mismos módulos se encuentran dentro de la
distribución oficial de Python 2.0, por los que en ese caso no sería
necesario instalarlos.
En mi sistema uso los siguientes paquetes (redhat 7.1):
- 4Suite-0.10.1-1
- python-1.5.2-30
- pygtk-0.6.7-ximian.12
Instalacion
Este programa no requiere instalación alguna a parte de tener los
paquetes especificados en la sección de Dependencias. Para ejecutarlo
basta con tenerlo en el path y llamarlo con el nombre del fichero de
menú a ejecutar.
Descargas
El programa y un fichero de ejemplo te lo puedes descargar pulsando aquí
Ejemplos
Ejemplo menú principal
del sistema de ocio.
Para usar el script simplemente hay que pasar como parametro el
fichero XML a utilizar, por ejemplo:
dinmenu.py principal.xml
El menú generado tiene el siguiente aspecto:
Por hacer (TODO)
Entre las caracteristicas que considero útiles y que todavia no están
implementadas están:
- Especificar Geometry en fichero XML
- Especificar Geometry por linea de comandos
- Menús en horizontal
- Mejor tratamiento de la selección con ratón
- Control de errores en la carga de iconos
- Control con LIRC mediante librería
Dinmenu.
Si quieres ponerte en contacto conmigo:
eferro@inicia.es
