# Manual de Zenity

Manual de la aplicación de escritorio Zenity V2.0
2003
2004
Sun Microsystems, Inc.
2007-2010
Jorge González (jorgegonz@svn.gnome.org)
2005
Alejandro Aravena (raidenblast@gmail.com)
2005
QA: Francisco Javier F. Serrador (serrador@cvs.gnome.org)
Sun Microsystems, Inc.

Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU (GFDL),Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation sin secciones invariantes, sin textos de portada, y sin textos de contraportada. Puede encontrar una copia de la GFDL en este enlace o en el archivo COPYING-DOCS distribuido con este manual.

Este manual es parte de una colección de manuales de GNOME distribuidos bajo la GFDL. Si desea distribuir este manual separado de la colección, puede hacerlo adjuntando una copia de la licencia al manual, según lo descrito en la sección 6 de la licencia.

Muchos de los nombres usados por las compañías para distinguir sus productos y servicios son declarados cómo marcas registradas. Donde esos nombres aparecen en cualquier documentación de GNOME, y los miembros del proyecto de documentación GNOME se hacen saber de esas marcas registradas, por tanto los nombres están en mayúsculas o la letra inicial en mayúscula.

El DOCUMENTO Y LAS VERSIONES MODIFICADAS DEL MISMO SE PROPORCIONAN CON SUJECIÓN A LOS TÉRMINOS DE LA GFDL, QUEDANDO BIEN ENTENDIDO, ADEMÁS, QUE:

1. EL DOCUMENTO SE PROPORCIONA "TAL CUAL", SIN GARANTÍAS DE NINGÚN TIPO, NI EXPRESAS NI IMPLÍCITAS, INCLUYENDO, SIN LIMITACIÓN, CUALQUIER GARANTÍA DE QUE EL DOCUMENTO O UNA VERSIÓN MODIFICADA DEL MISMO CAREZCAN DE DEFECTOS, SEA COMERCIALIZABLE, ADECUADO PARA UNA FINALIDAD DETERMINADA O QUE NO CONSTITUYA NINGUNA INFRACCIÓN. TODO EL RIESGO EN CUANTO A LA CALIDAD, PRECISIÓN Y UTILIDAD DEL DOCUMENTO O DE CUALQUIER VERSIÓN MODIFICADA DEL MISMO LE CORRESPONDE A USTED. EN CASO DE QUE CUALQUIER DOCUMENTO O VERSIÓN MODIFICADA RESULTARA DEFECTUOSO EN CUALQUIER SENTIDO, SERÁ USTED (Y NO EL REDACTOR INICIAL, NI EL AUTOR NI CUALQUIER PERSONA QUE HAYA CONTRIBUIDO) QUIEN ASUMIRÁ EL COSTE DE CUALQUIER SERVICIO TÉCNICO, REPARACIÓN O CORRECCIÓN NECESARIOS. ESTA LIMITACIÓN DE LAS GARANTÍAS CONSTITUYE UNA PARTE ESENCIAL DE ESTA LICENCIA. NO SE AUTORIZA NINGÚN USO DE CUALQUIER DOCUMENTO O VERSIÓN MODIFICADA DEL MISMO SI NO ES CON SUJECIÓN A ESTA LIMITACIÓN DE LAS GARANTÍAS; Y

2. EN NINGUNA CIRCUNSTANCIA NI SEGÚN NINGÚN ARGUMENTO LEGAL, SEA POR MOTIVOS CULPOSOS (INCLUIDA LA NEGLIGENCIA), CONTRACTUALES O DE OTRO TIPO, NI EL AUTOR, NI EL REDACTOR INICIAL, NI CUALQUIER COLABORADOR, NI CUALQUIER DISTRIBUIDOR DEL DOCUMENTO O VERSIÓN MODIFICADA DEL MISMO, NI CUALQUIER PROVEEDOR DE CUALQUIERA DE DICHAS PARTES, SERÁN RESPONSABLES, ANTE NINGÚN TERCERO, DE NINGÚN DAÑO O PERJUICIO DIRECTO, INDIRECTO, ESPECIAL, INCIDENTAL O CONSIGUIENTE DE NINGÚN TIPO, INCLUIDOS, SIN LIMITACIÓN, LOS DAÑOS POR PÉRDIDA DE FONDO DE COMERCIO, INTERRUPCIÓN DEL TRABAJO, FALLO O MAL FUNCIONAMIENTO INFORMÁTICO, NI CUALQUIER OTRO DAÑO O PÉRDIDA DERIVADOS DEL USO DEL DOCUMENTO Y LAS VERSIONES MODIFICADAS DEL MISMO, O RELACIONADO CON ELLO, INCLUSO SI SE HABÍA COMUNICADO A AQUELLA PARTE LA POSIBILIDAD DE TALES DAÑOS.

Sun
Equipo de documentación del escritorio de Java Desktop System
Sun Microsystems, Inc.
Glynn
Foster
Proyecto de documentación de GNOME
Nicholas
Curran
Proyecto de documentación de GNOME
Manual de la aplicación de escritorio Zenity V2.0
Agosto de 2004

Equipo de documentación del escritorio de Sun Java Desktop System

Sun Microsystems, Inc.

Manual de Zenity V1.0
Enero 2003

Glynn Foster

Proyecto de documentación de GNOME

Este manual describe la versión 2.6.0 de Zenity.

## Comentarios

Para enviar un comentario, siga las direcciones en Página de comentarios.

Zenity es una reescritura de gdialog, el «port» de GNOME de dialog que le permite mostrar cajas de diálogo desde la línea de comandos y scripts de shell.

## Introducción

Zenity le permite crear los siguientes tipos de diálogos simples:

- Calendario

- Seleccionador de archivos

- Lista

- Icono de notificación

- Mensajes

  - Error

  - Información

  - Pregunta

  - Advertencia

- Progreso

- Entrada de texto

- Información de texto

## Uso

Cuando escriba scripts, puede usar Zenity para crear diálogos simples que interactúen gráficamente con el usuario, como por ejemplo:

- Puede crear un diálogo para obtener información del usuario. Por ejemplo, puede pedir al usuario seleccionar una fecha de un diálogo del calendario, o seleccionar un archivo de un diálogo de selección de archivo.

- Usted puede crear un diálogo para proporcionar información al usuario. Por ejemplo, puede usar un diálogo de progreso para indicar el estado actual de una operación, o usar un diálogo de advertencia para alertar al usuario.

Cuando el usuario cierra el diálogo, Zenity imprime el texto producido por diálogo a la salida estándar de error.

Cuando usted escriba comandos de Zenity, asegúrese de poner comillas alrededor de cada argumento.

Por ejemplo, use:

    zenity --calendar --title="Planificador de vacaciones"

No use:

    zenity --calendar --title=Planificador de vacaciones

Si no usa comillas, puede que consiga resultados inesperados.

### Combinaciones de teclas

Una combinación de teclas le permite realizar una acción desde el teclado en lugar de utilizar el ratón para elegir un comando de un menú o un diálogo. Cada combinación de teclas se identifica por una letra subrayada en una opción del menú o de un diálogo.

Algunos diálogos de Zenity soportan el uso de combinaciones de teclas. Para especificar el carácter que se utilizará como combinación de teclas, ponga un guión bajo precediendo ese carácter en el texto del diálogo. El ejemplo siguiente muestra cómo especificar la letra 'E' como combinación de teclas:

    "_Elija un nombre".

### Códigos de salida

Zenity devuelve los siguientes códigos de salida:

Código de salida | Descripción
--- | ---
`0` | El usuario ha presionado Aceptar o Cerrar.
`1` | El usuario ha presionado Cancelar, o ha utilizado la función de la ventana para cerrar el diálogo.
`-1` | Ha ocurrido un error inesperado.
`5` | El diálogo se ha cerrado porque se alcanzó el tiempo de expiración.

### Opciones generales

Todos los diálogos de Zenity soportan las siguientes opciones generales:

`--title`=título

  Especifica el título de un diálogo.

`--window-icon`=ruta_al_icono

  Especifica el icono que se muestra en el marco de la ventana del diálogo. Hay 4 iconos disponibles, proporcionando las palabras claves siguientes - 'info', 'warning', 'question' y 'error'.

`--width`=anchura

  Especifica el ancho del diálogo.

`--height`=altura

  Especifica la altura del diálogo.

`--timeout`=tiempo de expiración

  Especifica el tiempo de expiración en segundos después del cual el diálogo se cierra.

### Opciones de ayuda

Zenity proporciona las opciones de ayuda siguentes:

`--help`

  Muestra un texto de ayuda abreviado.

`--help-all`

  Muestra un texto de ayuda completo para todos los diálogos.

`--help-general`

  Muestra el texto de ayuda para los opciones de diálogo generales.

`--help-calendar`

  Muestra el texto de ayuda para las opciones de diálogo del calendario.

`--help-entry`

  Muestra el texto de ayuda para las opciones del diálogo de entrada de texto.

`--help-error`

  Muestra el texto de ayuda para las opciones del diálogo de error.

`--help-info`

  Muestra el texto de ayuda para las opciones del diálogo de información.

`--help-file-selection`

  Muestra el texto de ayuda para las opciones del diálogo de selección de archivos.

`--help-list`

  Muestra el texto de ayuda para las opciones del diálogo de lista.

`--help-notification`

  Muestra el texto de ayuda para las opciones de iconos de notificación.

`--help-progress`

  Muestra el texto de ayuda para las opciones del diálogo de progreso.

`--help-question`

  Muestra el texto de ayuda para las opciones del diálogo de pregunta.

`--help-warning`

  Muestra el texto de ayuda para las opciones del diálogo de advertencia.

`--help-text-info`

  Muestra el texto de ayuda para las opciones del diálogo de información.

`--help-misc`

  Muestra el texto de ayuda para las opciones misceláneas.

`--help-gtk`

  Muestra la ayuda para las opciones de GTK+.

### Opciones misceláneas

Zenity también proporciona las siguientes opciones misceláneas:

`--about`

  Muestra el diálogo Acerca de Zenity, que contiene la información de la versión de Zenity, información del copyright, e información del desarrollador.

`--version`

  Muestra el número de versión de Zenity.

### Opciones de GTK+

Zenity soporta las opciones estándares de GTK+. Para más información acerca de las opciones de GTK+, ejecute el comando `zenity -?`.

### Variables de entorno

Generalmente Zenity detecta la ventana del terminal desde la que se ha lanzado y se mantiene por encima de esa ventana. Este comportamiento se puede desactivar con la variable de entorno `WINDOWID`.

## Diálogo de calendario

Use la opción `--calendar` para crear un diálogo de calendario. Zenity devuelve la fecha seleccionada a la salida estándar. Si no se especifica una fecha en la línea de comando, el diálogo utilizará la fecha actual.

El diálogo de calendario soporta las siguientes opciones:

`--text`=texto

  Especifica el texto que se muestra en el diálogo del calendario.

`--day`=día

  Especifica el día que se selecciona en el diálogo del calendario.día debe ser un número entre 1 y 31 ambos incluídos.

`--month`=mes

  Especifica el mes que se selecciona en el diálogo del calendario. mes debe ser un número entre 1 y 12 ambos incluídos.

`--year`=año

  Especifica el año que se selecciona en el diálogo del calendario.

`--date-format`=formato

  Especifica el formato que se devuelve desde el diálogo de calendario después de la selección de la fecha. El formato predeterminado depende de configuración regional. formato debe ser un formato que sea compatible con la función `strftime`, por ejemplo `%A %d/%m/%y`.

El siguiente script de ejemplo muestra cómo se crea un diálogo de calendario:

            #!/bin/sh

            if zenity --calendar \
            --title="Seleccione una fecha" \
            --text="Pulse sobre una fecha para seleccionar esa fecha." \
            --day=7 --month=8 --year=2005
              then echo $?
              else echo "No ha seleccionado ninguna fecha."
            fi

### Ejemplo de un diálogo de calendario

Zenity ejemplo de un diálogo de calendario

## Diálogo de selección de archivos

Use la opción `--file-selection` para crear un diálogo de selección de archivos. Zenity devuelve los archivos o directorios seleccionados a la salida estándar. El modo predefinido de un diálogo de selección de archivo es «abrir».

El diálogo de selección de archivo soporta las siguientes opciones:

`--filename`=nombre_del_archivo

  Especifica el archivo o directorio que se selecciona en el diálogo de selección de archivo cuando el diálogo se muestra por primera vez.

`--multiple`

  Permite seleccionar archivos múltiples en el diálogo de selección.

`--directory`

  Permite solamente la selección de directorios en el diálogo de selección de archivos.

`--save`

  Establece el diálogo de selección de archivo en el modo «guardar».

`--separator`=separador

  Especifica la cadena que se usará para dividir la lista de nombres de archivo devuelta.

El siguiente script de ejemplo muestra cómo crear un diálogo de selección de archivo:

            #!/bin/sh

            FILE=`zenity --file-selection --title="Seleccione un archivo"`

            case $? in
                     0)
                            echo "\"$FILE\" seleccionado.";;
                     1)
                            echo "No ha seleccionado ningún archivo.";;
                    -1)
                            echo "No ha seleccionado ningún archivo.";;
            esac

### Ejemplo del diálogo de selección de archivos

Zenity ejemplo del diálogo de selección de archivo

## Icono de notificación

`--text`=texto

  Especifica el texto que se mostrara en el área de la notificación.

El siguiente script de ejemplo muestra cómo se crea un icono de notificación:

            #!/bin/sh

            zenity --notification\
              --window-icon="info" \
              --text="!Hay actualizaciones que son necesarias para su sistema!"

### Ejemplo de icono de notificación

Zenity ejemplo del icono de notificación

## Diálogo de lista

Use la opción `--list` para crear un diálogo de lista. Zenity devuelve las entradas en la primera columna de texto de las filas seleccionadas a la salida estándar.

Los datos para el diálogo deben especificarse columna por columna, fila por fila. Puede proporcionar datos al diálogo a través de la entrada estándar. Cada entrada se debe separar por un carácter de línea nueva.

Si usa la opción `--checklist` o `--radiolist`, cada fila debe comenzar con 'TRUE' o 'FALSE'.

El diálogo de lista soporta las siguientes opciones:

`--column`=columna

  Especifica el encabezado de la columna mostrada en el diálogo de lista. Usted debe especificar una opción `--column` por cada columna que usted desea mostrar en el diálogo.

`--checklist`

  Especifica que la primera columna en el diálogo de lista contiene casillas de marcado.

`--radiolist`

  Especifica que la primera columna en el diálogo de lista contiene casillas de opción.

`--editable`

  Permite editar los elementos mostrados.

`--separator`=separador

  Especifica qué cadena de caracteres se utilizará cuando el diálogo de lista devuelva las entradas seleccionadas.

`--print-column`=columna

  Especifica qué columna debería imprimirse hasta la selección. La columna predeterminada es '1', 'ALL' puede usarse para imprimir todas las columnas.

El siguiente script de ejemplo muestra cómo crear un diálogo de lista:

            #!/bin/sh

            zenity --list \
              --title="Elija los fallos que desea ver" \
              --column="Número del fallo" --column="Severidad" --column="Descripción" \
                992383 Normal "GtkTreeView se cuelga con selecciones múltiples" \
                293823 Alto "El diccionario de GNOME no manipula proxys" \
                393823 Critico "El editor de menú no trabaja en GNOME 2.0"

### Ejemplo del diálogo de lista

Zenity ejemplo del diálogo de lista

## Diálogos de mensaje

Zenity puede crear cuatro tipos de diálogos de mensajes:

- Error

- Información

- Pregunta

- Advertencia

Para cada tipo, use la opción `--text` para especificar el texto que se muestra en el diálogo.

### Diálogo de error

Use la opción `--error` para crear un diálogo de error.

El siguiente script de ejemplo muestra cómo crear un diálogo de error:

              #!/bin/bash

              zenity --error \
              --text="No se encuentra /var/log/syslog."

#### Ejemplo de diálogo de error

Zenity ejemplo del diálogo de error

### Diálogo de información

Use la opción `--info` para crear un diálogo de información.

El siguiente script de ejemplo muestra cómo crear un diálogo de información:

              #!/bin/bash

              zenity --info \
              --text="Combinación completa. Actualizado 3 de 10 archivos."

#### Ejemplo de diálogo de información

Zenity ejemplo del diálogo de información

### Diálogo de pregunta

Use la opción `--question` para crear un diálogo de pregunta.

El siguiente script de ejemplo muestra cómo crear un diálogo de pregunta:

              #!/bin/bash

              zenity --question \
              --text="¿Está seguro de que desea continuar?"

#### Ejemplo del diálogo de pregunta

Zenity ejemplo del diálogo de pregunta

### Diálogo de advertencia

Use la opción `--warning` para crear un diálogo de advertencia.

El siguiente script de ejemplo muestra cómo crear un diálogo de advertencia:

              #!/bin/bash

              zenity --warning \
              --text="Desconecte el cable de eléctrico para evitar un shock eléctrico."

#### Ejemplo del diálogo de advertencia

Zenity ejemplo del diálogo de advertencia

## Diálogo de progreso

Use la opción `--progress` para crear un diálogo de progreso.

Zenity lee línea por línea los datos desde la entrada estándar. Si una línea se antepone con #, el texto se actualiza con el texto en esa línea. Si una línea contiene solamente un número, el porcentaje se actualiza con ese número.

El diálogo de progreso soporta las siguientes opciones:

`--text`=texto

  Especifica el texto que se muestra en el diálogo de progreso.

`--percentage`=porcentaje

  Especifica el porcentaje inicial que se establece en el diálogo de progreso.

`--auto-close`

  Cierra el diálogo de progreso cuando se ha alcanzado 100%.

`--pulsate`

  Especifica que la barra de progreso pulse hasta que se lea un carácter EOF desde la entrada estándar.

El siguiente script de ejemplo muestra cómo se crea un diálogo de progreso:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Actualizando los registros de los correos" ; sleep 1
            echo "20" ; sleep 1
            echo "# Reiniciando las tareas de cron" ; sleep 1
            echo "50" ; sleep 1
            echo "Esta linea sera ignorada" ; sleep 1
            echo "75" ; sleep 1
            echo "# Reiniciando el sistema" ; sleep 1
            echo "100" ; sleep 1
            ) |
            zenity --progress \
              --title="Actualizando los registros del sistema" \
              --text="Rastreando los registros de los correos..." \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    zenity --error \
                      --text="Actualización cancelada."
            fi

### Ejemplo de diálogo de progreso

Zenity ejemplo del diálogo de progreso

## Diálogo para la entrada de texto

Use la opción `-entry` para crear un diálogo de entrada de texto. Zenity devuelve a la salida estándar el contenido del texto introducido.

El diálogo de entrada de texto soporta las siguientes opciones:

`--text`=texto

  Especifica el texto que se muestra en el diálogo de entrada de texto.

`--entry-text`=texto

  Especifica el texto que se muestra en el campo de entrada del diálogo de entrada.

`--hide-text`

  Oculta el texto en el campo de entrada del diálogo de entrada de texto.

El siguiente script de ejemplo muestra cómo se crea un diálogo de entrada de texto:

            #!/bin/sh

            if zenity --entry \
            --title="Agregar una entrada" \
            --text="Introdusca su _contraseña:" \
            --entry-text "contraseña" \
            --hide-text
              then echo $?
              else echo "No ha introducido ninguna contraseña."
            fi

### Ejemplo de diálogo de entrada de texto

Zenity ejemplo del diálogo de entrada de texto

## Diálogo para la texto de información

Use la opción `--text-info` para crear un diálogo de texto de información.

El diálogo de texto de información soporta las siguientes opciones:

`--filename`=nombre_del_archivo

  Especifica un archivo que se carga en el diálogo de texto de información.

`--editable`

  Permite que el texto mostrado sea editado. El texto editado se devuelve por la salida estándar cuando el diálogo se cierra.

El siguiente script de ejemplo muestra cómo se crea un diálogo de texto de información:

            #!/bin/sh

            FILE=`zenity --file-selection \
              --title="Seleccione un archivo"`

            case $? in
                     0)
                            zenity --text-info \
                              --title=$FILE \
                              --filename=$FILE \
                              --editable 2>/tmp/tmp.txt;;
                     1)
                            echo "No ha seleccionado ningún archivo.";;
                    -1)
                            echo "No ha seleccionado ningún archivo.";;
            esac

### Ejemplo del diálogo de texto de información

Zenity ejemplo del diálogo de texto de información