Cuadros de diálogo con KDialog

Kdialog es una aplicación para KDE que se ejecuta desde la línea de órdenes y abre una ventana en modo gráfico según la opción que le suministremos en la ejecución. Esta orden está en el paquete kde-baseapps-bin.

La sintaxis general de este comando es:

kdialog --opcion "el texto que querramos mostrar"

Un ejemplo puede ser:

kdialog --msgbox "Hola usuarios"

Esto mostraría un cuadro de diálogo que dice: Hola usuarios

Hay tres opciones simples y fácil de entender:
--msgbox Muestra una notificación.
--sorry Muestra una advertencia.
--error Muestra un aviso de error.

Cuadros de diálogo con dos o tres botones:
--yesno Dos botones con el símbolo de notificación.
--yesnocancel Tres botones con el símbolo de notificación.
--warningyesno Dos botones con símbolo de advertencia.
--warningcontinuecancel Dos botones con símbolo de advertencia.
--warningyesnocancel Tres botones con símbolo de advertencia.
Los botones Yes y Continue devuelven el valor 0.
El botón No devuelve el valor 1.
El botón Cancel devuelve el valor 2.

En las opciones --yesno y --warningyesno el botón Cerrar devuelve el valor 1.
En las opciones --yesnocancel, --warningcontinuecancel y --warningyesnocancel devuelve el valor 2.

Sólo con estas opciones se puede editar el texto de los botones:
--yes-label
--no-label
--cancel-label
--continue-label

Un script de ejemplo puede ser:

kdialog --yesnocancel "¿Cómo salió tu equipo de fútbol?" --yes-label Ganamos --no-label Empatamos --cancel-label Perdimos
case $? in
0) echo ¡Felicitaciones!
1) echo Bueh, ¿rescataron un punto o perdieron dos?
2) echo Son una murga...

Ingresar datos normales o como contraseña:
--inputbox Es para ingresar el texto normalmente.
--password Es para ingresar el texto forma oculta.
La opción --inputbox tiene opción de texto doble.

Un ejemplo sería:

m=$(kdialog --inputbox "Ingrese una mensaje" "Viva la Paz")

Nos mostraría este cuadro de diálogo:

Lo que escribamos quedará guardado en la variable $m al hacer clic en botón Aceptar, si cancelaríamos quedaría guardado el mensaje por defecto. En este caso sería: Viva la Paz.

Visualización y creación de archivos de texto:
--textbox Muestra un texto de una o varias lineas y se le puede ingresar un archivo a visualizar.
--textinputbox Se puede crear un archivo de texto.

## Muestra el contenido de /tmp/archivo.txt
$ kdialog --textbox /tmp/archivo.txt
## Crea en la carpeta /tmp el archivo linux.txt
$ kdialog --textinputbox Escribí > /tmp/linux.txt

Opciones en los cuadros de diálogo:
--combobox "texto del item" Lista desplegable.
--menu mensaje item "texto del item" Para selecciona una opción.
--checklist mensaje item "texto del item" on/off Para seleccionar una o múltiple opciones.
--radiolist mensaje item "texto del item" on/off Para seleccionar una opción.

Un ejemplo sería:

web=$(kdialog --menu "Por favor, elija un navegador de Internet" rekonq Rekonq firefox "Mozilla Firefix" chromium-browser Chromium)

Se abrirá nuestro navegador cuando ejecutemos la variable $web.