GtkDialog
Hace tiempo miguex, creador y desarrollador de
IkimLinux, me comento sobre esto, yo solo jugaba con
zenity, los motivos tenía un gusto por esté comando, tiene una apariencia menos amigable para el usuario, aparte esté comando es con uno de los que empecé a crear mis ventanitas. con
GtkDialog, es diferente tiene mejor look, y puedo usar frames, botones etc.. :). Aunque
zenity, también puede usar opciones de
GTK+, le di un chanceé a gtkDialog, y tenía ganas de hacer una especie de Tutorial para esto, espero terminarlo :-).
Esta basada en una Librería
GTK+, Se puede utilizar para crear cuadros de diálogo de casi todos los programas compilados e interpretados y que es una característica muy atractiva ya que el desarrollador no tiene que aprender diferentes idiomas para la interfaz gráfica diversos lenguajes de programación.
Empezare con un event-driven en bash, es sencillo hacer estos eventos-impulsados para bash, declarando en la primeras lineas una llamada a gtkdialog con la función -e esto tiene que ser construido usando funciones y las descripciones de diálogo (como las variables de entorno), después le sigue MAIN_DIALOG, Este es como la función main() de C.

También se pueden correr scripts en AWK, usando #! /usr/bin/awk -f, y podemos usar también C:

[Codigo: gdialog.c - binario ]
Yo uso komodo, pero para cuando usen C, les recomiendo geany u otro. Que nos facilite la compilación y la ejecución de esté. jeje dejando los compiladores nos vamos, a los comandos, con gtkDialog.
Creando nuestro primer hola mundo, en un script en bash, usando la librería de gtkDialog:
[Código: 1.sh]
#! /bin/bash
export MAIN_DIALOG='
<vbox>
<text>
<label>Hola Mundo Cruel</label>
</text>
</vbox>'
gtkdialog --program MAIN_DIALOG # Desde aquí llamamos GtkDialog & Main
Muy sencillo no?, ahora un ejemplo de cuando necesitamos llamar enviar el estado de los widgets a la salida estándar al salir y así es como podemos obtener la entrada del usuario para el programa de BASH, sería una epecie de comando READ, algo así como guardar una variable flotante, pero en esté caso tenemos unos botones, Los cuales almacenan la información después de esté pasa por un for, el cual contiene IFS, esto nos sive para protejer los caracteres de los espacios, después de esto, sigue un pequeño if, el cual nos manda a imprimir lo que pusimos dentro del campo:
[Código: 2.sh]
Existe, Otra forma cuando son programas grandes de llamar a gtkDialog, una buena idea para romper el código de los archivos separados y se le es más fácil leer a gtkdialog. Al usar esto podemos obtener a partir de la salida estándar de la secuencia de comandos como por lo general.
#! /local/bin/gtkdialog -f
[Código: 3.sh]
Esto sería lo primero que aprenderíamos, al usar un lenguaje de programación o algo parecido, en esté caso GtkDialog.
Un saludo a @jainuX, que se desvelo esté domingo conmigo :-).