# Manual del Zenity

Manual de l'aplicació de l'escriptori Zenity v2.0
2003
2004
Sun Microsystems, Inc.
2008
Joan Duran (jodufi@gmail.com)
Sun Microsystems, Inc.

Teniu permís per a copiar, distribuir i/o modificar aquest document, sota els termes de la Llicència de documentació lliure GNU (GFDL), versió 1.1 o qualsevol versió publicada posteriorment per la Free Software Foundation, sense seccions invariants, sense texts de portada i sense texts de contraportada. Podeu trobar una còpia de la GFDL en aquest enllaç o en el fitxer COPYING-DOCS distribuït amb aquest manual.

Aquest manual forma part d'una col·lecció de manuals del GNOME distribuïts sota la GFDL. Si voleu distribuir aquest manual independentment de la col·lecció, podeu fer-ho afegint una còpia de la llicència al manual, tal com es descriu a la secció 6 de la llicència.

Molts dels noms que les empreses utilitzen per a distingir els seus productes i serveis es consideren marques comercials. Quan aquests noms apareguin en qualsevol documentació del GNOME, si els membres del Projecte de documentació del GNOME han estat avisats pel que fa a les marques, els noms apareixeran en majúscules o amb les inicials en majúscules.

EL DOCUMENT I LES VERSIONS MODIFICADES DEL DOCUMENT S'OFEREIXEN SOTA ELS TERMES DE LA LLICÈNCIA DE DOCUMENTACIÓ LLIURE DE GNU, TENINT EN COMPTE QUE:

1. EL DOCUMENT S'OFEREIX «TAL COM ÉS», SENSE CAP TIPUS DE GARANTIA, NI EXPLÍCITA NI IMPLÍCITA; AIXÒ INCLOU, SENSE LIMITAR-S'HI, LES GARANTIES QUE EL DOCUMENT O LA VERSIÓ MODIFICADA DEL DOCUMENT NO TINGUI DEFECTES, SIGUI COMERCIALITZABLE, SIGUI ADEQUAT PER A UN ÚS CONCRET O NO INFRINGEIXI CAP LLEI. TOT EL RISC PEL QUE FA A LA QUALITAT, EXACTITUD I RENDIMENT DEL DOCUMENT O LA VERSIÓ MODIFICADA DEL DOCUMENT ÉS VOSTRE. EN CAS QUE EL DOCUMENT RESULTÉS DEFECTUÓS EN QUALSEVOL ASPECTE, VÓS (NO PAS L'ESCRIPTOR INICIAL, L'AUTOR O CAP ALTRE COL·LABORADOR) ASSUMIU TOT EL COST DE MANTENIMENT, REPARACIÓ O CORRECCIÓ. AQUESTA RENÚNCIA DE GARANTIA CONSTITUEIX UNA PART ESSENCIAL D'AQUESTA LLICÈNCIA. NO S'AUTORITZA L'ÚS DE CAP DOCUMENT O VERSIÓ MODIFICADA DEL DOCUMENT EXCEPTE SOTA AQUESTA RENÚNCIA DE GARANTIA; I

2. EN CAP CAS I SOTA CAP INTERPRETACIÓ LEGAL, JA SIGUI PER AGREUJAMENT (INCLOENT-HI LA NEGLIGÈNCIA), CONTRACTE O ALTRE CAS, L'AUTOR, L'ESCRIPTOR ORIGINAL, QUALSEVOL DELS COL·LABORADORS O DISTRIBUÏDORS DEL DOCUMENT O UNA VERSIÓ MODIFICADA DEL DOCUMENT NI CAP PROVEÏDOR D'AQUESTES PARTS NO SERAN RESPONSABLES DAVANT DE NINGÚ PER CAP DANY DIRECTE, INDIRECTE, ESPECIAL, ACCIDENTAL O CONSECUTIU DE QUALSEVOL TIPUS; AIXÒ INCLOU, SENSE LIMITAR-S'HI, ELS DANYS PER PÈRDUA DE CLIENTS, INTERRUPCIONS DE LA FEINA, FALLADA O MALFUNCIONAMENT DE L'ORDINADOR, O QUALSEVOL ALTRA PÈRDUA O DANY RELACIONAT AMB L'ÚS DEL DOCUMENT I LES VERSIONS MODIFICADES DEL DOCUMENT, FINS I TOT SI S'HA INFORMAT AQUESTA PART DE LA POSSIBILITAT D'AQUESTS DANYS.

Sun
Equip de documentació del sistema d'escriptori de Java
Sun Microsystems, Inc.
Glynn
Foster
Projecte de documentació del GNOME
Nicholas
Curran
Projecte de documentació del GNOME
Manual de l'aplicació de l'escriptori Zenity v2.0
Agost de 2004

Equip de documentació del sistema d'escriptori de Sun Java

Sun Microsystems, Inc.

Manual del Zenity v1.0
Gener de 2003

Glynn Foster

Projecte de documentació del GNOME

Aquest manual descriu la versió 2.6.0 del Zenity.

## Comentaris

Per enviar comentaris, seguiu les indicacions de la pàgina de comentaris.

El Zenity és una reescriptura del gdialog, la versió del GNOME del diàleg que ús permet mostrar els diàlegs des de la línia d'ordres i scripts de l'intèrpret d'ordres.

## Introducció

El Zenity us permet crear els tipus de diàlegs senzills següents:

- Calendari

- Selecció de fitxers

- Llista

- Icona de notificació

- Missatge

  - Error

  - Informació

  - Pregunta

  - Avís

- Progrés

- Entrada de text

- Text informatiu

## Utilització

Quan escriviu scripts, podeu utilitzar el Zenity per crear diàlegs senzills que interactuen gràficament amb l'usuari. Funciona així:

- Podeu crear un diàleg per obtenir informació de l'usuari. Per exemple, podeu sol·licitar a l'usuari que seleccioni una data d'un diàleg de calendari o que seleccioni un fitxer d'un diàleg de selecció de fitxers.

- Podeu crear un diàleg per proporcionar informació a l'usuari. Per exemple, podeu utilitzar un diàleg de progrés per indicar l'estat actual d'una operació o utilitzar el diàleg de missatge d'avís per alertar a l'usuari.

Qual l'usuari tanca el diàleg, el Zenity imprimeix el text produït pel diàleg a la sortida estàndard.

Quan escriviu ordres del Zenity, assegureu-vos que poseu cometes al voltant de cada argument.

Per exemple, utilitzeu:

    zenity --calendar --title="Planificació de les vacances"

No utilitzeu:

    zenity --calendar --title=Planificació de les vacances

Si no utilitzeu les cometes no obtindreu els resultats esperats.

### Tecles d'accés

Una tecla d'accés és una tecla que us permet realitzar una acció des del teclat enlloc d'utilitzar el ratolí per a seleccionar una ordre des d'un menú o diàleg. Cada tecla d'accés està identificada per una lletra subratllada en l'opció d'un menú o d'un diàleg.

Alguns diàlegs del Zenity admeten la utilització de tecles d'accés. Per especificar el caràcter a utilitzar com a tecla d'accés, col·loqueu un caràcter subratllat abans del caràcter al text del diàleg. L'exemple següent mostra com especificar la lletra «T» com a tecla d'accés:

    «_Trieu un nom».

### Codis de sortida

El Zenity retorna els codis de sortida següents:

Codi de sortida | Descripció
--- | ---
`0` | L'usuari ha premut D'acord o Tanca.
`1` | L'usuari ha premut Cancel·la o ha utilitzat les funcions de la finestra per a tancar el diàleg.
`-1` | S'ha produït un error inesperat.
`5` | S'ha tancat el diàleg perquè s'ha acabat el temps d'espera.

### Opcions generals

Tots els diàlegs del Zenity admeten les opcions generals següents:

`--title`=títol

  Especifica el títol d'un diàleg.

`--window-icon`=ruta_de_la_icona

  Especifica la icona que es mostrarà al marc de la finestra del diàleg. També podeu utilitzar 4 icones predefinides si proporcioneu les paraules clau següents: «info» (informació), «warning» (avís), «question» (pregunta) i «error» (error).

`--width`=amplada

  Especifica l'amplada del diàleg.

`--height`=alçada

  Especifica l'alçada del diàleg.

`--timeout`=temps d'espera

  Especifica el temps d'espera, en segons, passats els quals es tancarà el diàleg.

### Opcions d'ajuda

El Zenity proporciona les opcions d'ajuda següents:

`--help`

  Mostra el text d'ajuda abreviat.

`--help-all`

  Mostra el text d'ajuda complet per tots els diàlegs.

`--help-general`

  Mostra el text d'ajuda de les opcions generals dels diàlegs.

`--help-calendar`

  Mostra el text d'ajuda de les opcions del diàleg de calendari.

`--help-entry`

  Mostra el text d'ajuda de les opcions del diàleg d'entrada de text.

`--help-error`

  Mostra el text d'ajuda de les opcions del diàleg d'error.

`--help-info`

  Mostra el text d'ajuda de les opcions del diàleg informatiu.

`--help-file-selection`

  Mostra el text d'ajuda de les opcions del diàleg de selecció de fitxers.

`--help-list`

  Mostra el text d'ajuda de les opcions del diàleg de llista.

`--help-notification`

  Mostra el text d'ajuda de les opcions de la icona de notificació.

`--help-progress`

  Mostra el text d'ajuda de les opcions del diàleg de progrés.

`--help-question`

  Mostra el text d'ajuda de les opcions del diàleg de pregunta.

`--help-warning`

  Mostra el text d'ajuda de les opcions del diàleg d'avís.

`--help-text-info`

  Mostra l'ajuda de les opcions del diàleg de text informatiu.

`--help-misc`

  Mostra l'ajuda de les opcions miscel·lànies.

`--help-gtk`

  Mostra l'ajuda de les opcions de la GTK+.

### Opcions miscel·lànies

El Zenity també proporciona les opcions misel·lànies següents:

`--about`

  Mostra el diàleg Quant al Zenity, que conté informació de la versió, del copyright i de desenvolupament del Zenity.

`--version`

  Mostra el número de versió del Zenity.

### Opcions de la GTK+

El Zenity admet les opcions estàndard de la GTK+. Per obtenir més informació sobre les opcions de la GTK+, executeu l'ordre `zenity -?`.

### Variables d'entorn

Normalment el Zenity detecta la finestra del terminal des d'on s'ha executat i es manté sobre d'aquesta. Aquest comportament es pot desactivar amb la variable d'entorn `WINDOWID`.

## Diàleg de calendari

Utilitzeu l'opció `--calendar` per crear un diàleg de calendari. El Zenity retorna la data seleccionada a la sortida estàndard. Si no s'ha especificat cap data a la línia d'ordres, el diàleg utilitza la data actual.

El diàleg de calendari admet les opcions següents:

`--text`=text

  Especifica el text que es mostra al diàleg del calendari.

`--day`=dia

  Especifica el dia que hi ha seleccionat al diàleg del calendari. El dia ha de ser un número entre 1 i 31 inclosos.

`--month`=mes

  Especifica el mes que hi ha seleccionat al diàleg del calendari. El mes ha de ser un número entre 1 i 12 inclosos.

`--year`=any

  Especifica l'any hi ha seleccionat al diàleg del calendari.

`--date-format`=format

  Especifica el format que es retorna des del diàleg del calendari després de seleccionar la data. El format predeterminat depèn de la configuració regional. El format ha de ser un format acceptable per a la funció `strftime`, per exemple: `%A %d/%m/%y`.

L'script d'exemple següent mostra com crear un diàleg de calendari:

            #!/bin/sh

            if zenity --calendar \
            --title="Seleccioneu una data" \
            --text="Feu clic a una data per a seleccionar-la." \
            --day=23 --month=11 --year=2008
              then echo $?
              else echo "No s'ha seleccionat cap data"
            fi

### Exemple de diàleg de calendari

Exemple de diàleg de calendari del Zenity

## Diàleg de selecció de fitxers

Utilitzeu l'opció `--file-selection` per a crear un diàleg de selecció de fitxers. El Zenity retorna els fitxers o directoris seleccionats a la sortida estàndard. El mode per defecte del diàleg de selecció de fitxers és obrir.

El diàleg de selecció de fitxers admet les opcions següents:

`--filename`=nom_de_fitxer

  Especifica el fitxer o directori que està seleccionat al diàleg de selecció de fitxers quan es mostra el diàleg per primer cop.

`--multiple`

  Permet la selecció de diversos noms de fitxer al diàleg de selecció de fitxers.

`--directory`

  Només permet la selecció de directoris al diàleg de selecció de fitxers.

`--save`

  Estableix el diàleg de selecció de fitxers al mode de desar.

`--separator`=separador

  Especifica la cadena que s'utilitza per a dividir la llista de noms de fitxers retornada.

L'script d'exemple següent mostra com crear un diàleg de selecció de fitxers:

            #!/bin/sh

            FILE=`zenity --file-selection --title="Seleccioneu un fitxer"`

            case $? in
                     0)
                            echo "S'ha seleccionat \"$FILE\".";;
                     1)
                            echo "No s'ha seleccionat cap fitxer.";;
                    -1)
                            echo "No s'ha seleccionat cap fitxer.";;
            esac

### Exemple de diàleg de selecció de fitxers

Exemple de diàleg de selecció de fitxers del Zenity

## Icona de notificació

`--text`=text

  Especifica el text que es mostra a l'àrea de notificació.

L'script d'exemple següent mostra com crear una icona de notificació:

            #!/bin/sh

            zenity --notification\
              --window-icon="info" \
              --text="Hi ha actualitzacions necessàries per al sistema."

### Exemple d'icona de notificació

Exemple d'icona de notificació del Zenity

## Diàleg de llista

Utilitzeu l'opció `--list` per crear un diàleg de llista. El Zenity retorna les entrades de la primera columna de text de les files seleccionades a la sortida estàndard.

Les dades del diàleg s'han d'especificar columna per columna, fila per fila. Les dades es poden proporcionar al diàleg a través de l'entrada estàndard. Cada entrada s'ha de separar per un caràcter de línia nova.

Si utilitzeu les opcions `--checklist` o `--radiolist`, cada fila ha de començar amb «TRUE» (cert) o «FALSE» (fals).

El diàleg de llista admet les opcions següents:

`--column`=columna

  Especifica les capçaleres de la columna que es mostren al diàleg de llista. Heu d'especificar una opció de `--column` per a cada columna que voleu mostrar al diàleg.

`--checklist`

  Especifica que la primera columna del diàleg de llista conté caselles de selecció.

`--radiolist`

  Especifica que la primera columna del diàleg de llista conté botons d'opció.

`--editable`

  Permet que s'editin els elements mostrats.

`--separator`=separador

  Especifica quina cadena s'utilitza quan el diàleg de llista retorna les entrades seleccionades.

`--print-column`=columna

  Especifica quina columna s'hauria d'imprimir si es selecciona. La columna per defecte és «1». Es pot utilitzar «ALL» (totes) per a imprimir totes les columnes de la llista.

L'script d'exemple següent mostra com crear un diàleg de llista:

            #!/bin/sh

            zenity --list \
              --title="Trieu els errors que voleu visualitzar" \
              --column="Número de l'error" --column="Severitat" --column="Descripció" \
                992383 Normal "El GtkTreeView falla en seleccions múltiples" \
                293823 Alta "El diccionari del GNOME no gestiona servidors intermediaris" \
                393823 Crítica "L'edició del menú no funciona al GNOME 2.0"

### Exemple de diàleg de llista

Exemple de diàleg de llista del Zenity

## Diàlegs de missatge

El Zenity pot crear quatre tipus de diàlegs de missatge:

- Error

- Informació

- Pregunta

- Avís

Per a cada tipus, utilitzeu l'opció `--text` per especificar el text que es mostra al diàleg.

### Diàleg d'error

Utilitzeu l'opció `--error` per crear un diàleg d'error.

L'script d'exemple següent mostra com crear un diàleg d'error:

              #!/bin/bash

              zenity --error \
              --text="No es pot trobar /var/log/syslog."

#### Exemple de diàleg d'error

Exemple de diàleg d'error del Zenity

### Diàleg d'informació

Utilitzeu l'opció `--info` per crear un diàleg d'informació.

L'script d'exemple següent mostra com crear un diàleg d'informació:

              #!/bin/bash

              zenity --info \
              --text="S'ha completat la combinació. S'han actualitzat 3 de 10 fitxers."

#### Exemple de diàleg d'informació

Exemple de diàleg d'informació del Zenity

### Diàleg de pregunta

Utilitzeu l'opció `--question` per crear un diàleg de pregunta.

L'script d'exemple següent mostra com crear un diàleg de pregunta:

              #!/bin/bash

              zenity --question \
              --text="Segur que voleu continuar?"

#### Exemple de diàleg de pregunta

Exemple de diàleg de pregunta del Zenity

### Diàleg d'avís

Utilitzeu l'opció `--warning` per crear un diàleg d'avís.

L'script d'exemple següent mostra com crear un diàleg d'avís:

              #!/bin/bash

              zenity --warning \
              --text="Desconnecteu el cable d'alimentació per a evitar una descàrrega elèctrica."

#### Exemple de diàleg d'avís

Exemple de diàleg d'avís del Zenity

## Diàleg de progrés

Utilitzeu l'opció `--progress` per crear un diàleg de progrés.

El Zenity llegeix dades de l'entrada estàndard línia per línia. Si una línia té el prefix #, el text s'actualitza amb el text d'aquesta línia. Si una línia només conté un número, el percentatge s'actualitza amb aquest número.

El diàleg de progrés admet les opcions següents:

`--text`=text

  Especifica el text que es mostrarà al diàleg de progrés.

`--percentage`=percentatge

  Especifica els percentatge inicial que s'estableix al diàleg de progrés.

`--auto-close`

  Tanca el diàleg de progrés quan s'arribi al 100%.

`--pulsate`

  Especifica que la barra de progrés parpellegi fins que es llegeixi un caràcter EOF (final de fitxer) de l'entrada estàndard.

L'script d'exemple següent mostra com crear un diàleg de progrés:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# S'estan actualitzant els registres del correu" ; sleep 1
            echo "20" ; sleep 1
            echo "# S'estan reiniciant les tasques del cron" ; sleep 1
            echo "50" ; sleep 1
            echo "Aquesta línia s'ignorarà" ; sleep 1
            echo "75" ; sleep 1
            echo "# S'està reiniciant el sistema" ; sleep 1
            echo "100" ; sleep 1
            ) |
            zenity --progress \
              --title="Actualització dels registres del sistema" \
              --text="Comprovació dels registres del sistema..." \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    zenity --error \
                      --text="Actualització cancel·lada."
            fi

### Exemple de diàleg de progrés

Exemple de diàleg de progrés del Zenity

## Diàleg d'entrada de text

Utilitzeu l'opció `-entry` per crear un diàleg d'entrada de text. El Zenity retorna els continguts de l'entrada de text a la sortida estàndard.

El diàleg d'entrada de text admet les opcions següents:

`--text`=text

  Especifica el text que es mostra al diàleg d'entrada de text.

`--entry-text`=text

  Especifica el text que es mostra al camp d'entrada del diàleg d'entrada de text.

`--hide-text`

  Amaga el text del camp d'entrada del diàleg d'entrada de text.

L'script d'exemple següent mostra com crear un diàleg d'entrada de text:

            #!/bin/sh

            if zenity --entry \
            --title="Afegeix una entrada" \
            --text="Introduïu la _contrasenya:" \
            --entry-text "contrasenya" \
            --hide-text
              then echo $?
              else echo "No s'ha introduït cap contrasenya"
            fi

### Exemple de diàleg d'entrada de text

Exemple de diàleg d'entrada de text del Zenity

## Diàleg de text informatiu

Utilitzeu l'opció `--text-info` per crear un diàleg de text informatiu.

El diàleg de text informatiu admet les opcions següents:

`--filename`=nom_de_fitxer

  Especifica el fitxer que es carregarà al diàleg de text informatiu.

`--editable`

  Permet que el text mostrat es pugui editar. El text editat es retorna a la sortida estàndard quan es tanca el diàleg.

L'script d'exemple següent mostra com crear un diàleg de text informatiu:

            #!/bin/sh

            FILE=`zenity --file-selection \
              --title="Seleccioneu un fitxer"`

            case $? in
                     0)
                            zenity --text-info \
                              --title=$FILE \
                              --filename=$FILE \
                              --editable 2>/tmp/tmp.txt;;
                     1)
                            echo "No s'ha seleccionat cap fitxer.";;
                    -1)
                            echo "No s'ha seleccionat cap fitxer.";;
            esac

### Exemple del diàleg de text informatiu

Exemple del diàleg de text informatiu del Zenity