jueves, 28 de enero de 2010

Usar gxmessage para Crear Cajas de Dialogo

Hay muchos programas de diálogos como por ejemplo Zenity, Kdialog, xdialog, etc. Estos programas permiten ponerle color y forma a los script en bash y shell con una pequeña acción de una interfase gráfica de usuario (GUI). Por eso ahora se va a hablar de gxmessage.

El Nokia N900 tiene algunos programas que usan gxmessage para crear una interfase de usuario. Pero si deseas instarlo en tu computadora, ejecuta lo siguiente asumiendo que estas usando Debian o derivados:

sudo aptitude install gmessage

Puedes usar la siguiente linea de código para producir una GUI con botones:

gxmessage -center \
-buttons "Este es un boton":1,"Este es otro boton":2 \
-title "Estos es una caja de dialogo" 'Linux es lo maximo!!!'

Una de las características mas agradable que posee gxmessage y otros no es la habilidad para escoger el tamaño de la caja de dialogo usando la opción "-geometry".

gxmessage -center \
-buttons "Este es un boton":1,"Este es otro boton":2 \
-geometry 190x80 \
-title "Estos es una caja de dialogo" 'Linux es lo maximo!!!'

Gxmessage te restringirá de hacer tu caja de dialogo muy pequeña para los componentes que has colocado en ella. Por ejemplo, si configuras geometry a 10x10 y la caja de dialogo necesita al menos 100x50 para mostrar todos los botones y mensajes, entonces sobreescribira tu 10x10 por 100x50.

Para cada botón que creas puedes asignarle un valor numérico el cual se indica colocando dos puntos (:) después del botón de mensaje seguido por el valor numérico que deseas asignar. Entonces puedes capturar el valor del botón que ha sido presionado y usarlo para continuar tu código. Por ejemplo:

#!/bin/bash

gxmessage -center \
-buttons "Si":1,"Por supuesto":2 \
-geometry 290x80 \
-title "Pregunta" 'Te gusta el nuevo iPad?'

answer=$?

case "$answer" in
1)
gxmessage -center "Dijiste SI"
;;
*)
gxmessage -center "Por supuesto."
;;
esac

Si deseas profundizar mas en gxmessage revisa las paginas man de la misma.

No hay comentarios: