# Manuel de Zenity

Manuel de l'applicaton Zenity V2.0
2003
2004
Sun Microsystems, Inc.
2005
Christophe Bliard (cbliard@gmail.com)
2005
Vincent Untz (vuntz@gnome.org)
2009
Claude Paroz (claude@2xlibre.net)
Sun Microsystems, Inc.

Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation sans section inaltérable, sans texte de première page de couverture ni texte de dernière page de couverture. Vous trouverez un exemplaire de cette licence en suivant ce lien ou dans le fichier COPYING-DOCS fourni avec le présent manuel.

Le présent manuel fait partie d'une collection de manuels GNOME distribués dans les termes de la GFDL. Vous souhaitez, si vous le souhaitez, le distribuer indépendamment de la collection en incluant un exemplaire de la licence du manuel, comme le décrit la section 6 de la licence.

La plupart des noms utilisés par les entreprises pour leurs produits et leurs services sont des marques déposées. Lorsque ces noms apparaissent dans la documentation GNOME et que les membres du projet de documentation GNOME sont informés de l'existence de ces marques déposées, ces noms apparaissent en majuscules, ou la première lettre en majuscule.

LE PRÉSENT DOCUMENT ET SES VERSIONS DE MISE À JOUR SONT FOURNIS SOUS LES CONDITIONS DE L'ACCORD DE LICENCE DE DOCUMENTATION LIBRE GNU, SACHANT QUE :

1. LE PRÉSENT DOCUMENT EST FOURNI « TEL QUEL », SANS AUCUNE GARANTIE, EXPRESSE OU IMPLICITE, Y COMPRIS, ET SANS LIMITATION, LES GARANTIES DE MARCHANDABILITÉ, D'ADÉQUATION À UN OBJECTIF PARTICULIER OU DE NON INFRACTION DU DOCUMENT OU DE SA VERSION MODIFIÉE. L'UTILISATEUR ASSUME TOUT RISQUE RELATIF À LA QUALITÉ, À LA PERTINENCE ET À LA PERFORMANCE DU DOCUMENT OU DE SA VERSION DE MISE À JOUR. SI LE DOCUMENT OU SA VERSION MODIFIÉE S'AVÉRAIT DÉFECTUEUSE, L'UTILISATEUR (ET NON LE RÉDACTEUR INITIAL, L'AUTEUR, NI TOUT AUTRE PARTICIPANT) ENDOSSERA LES COÛTS DE TOUTE INTERVENTION, RÉPARATION OU CORRECTION NÉCESSAIRE. CETTE DÉNÉGATION DE RESPONSABILITÉ CONSTITUE UNE PARTIE ESSENTIELLE DE CETTE LICENCE. AUCUNE UTILISATION DE CE DOCUMENT OU DE SA VERSION MODIFIÉE N'EST AUTORISÉE AUX TERMES DU PRÉSENT ACCORD, EXCEPTÉ SOUS CETTE DÉNÉGATION DE RESPONSABILITÉ ;

2. EN AUCUNE CIRCONSTANCE ET SOUS AUCUNE INTERPRÉTATION DE LA LOI, QU'IL S'AGISSE DE RESPONSABILITÉ CIVILE (Y COMPRIS LA NÉGLIGENCE), CONTRACTUELLE OU AUTRE, L'AUTEUR, LE RÉDACTEUR INITIAL, TOUT PARTICIPANT ET TOUT DISTRIBUTEUR DE CE DOCUMENTOU DE SA VERSION DE MISE À JOUR AINSI QUE TOUT FOURNISSEUR DE QUELQUE PARTIE QUE CE SOIT NE POURRONT ÊTRE TENUS RESPONSABLES À L'ÉGARD DE QUICONQUE POUR TOUT DOMMAGE DIRECT, INDIRECT, PARTICULIER OU ACCIDENTEL DE TOUT TYPE Y COMPRIS, SANS LIMITATION, LES DOMMAGES LIÉS À LA PERTE DE CLIENTÈLE, AUX ARRÊTS DE TRAVAIL, AUX DÉFAILLANCES ET AUX DYSFONCTIONNEMENTS INFORMATIQUES OU TOUT AUTRE DOMMAGE OU PERTE LIÉE À L'UTILISATION DU PRÉSENT DOCUMENT ET DE SES VERSIONS DE MISE À JOUR, ET CE MÊME SI CES PARTIES ONT ÉTÉ INFORMÉES DE LA POSSIBILITÉ DE TELS DOMMAGES.

Sun
L'équipe de documentation de Java Desktop System
Sun Microsystems, Inc.
Glynn
Foster
Projet de documentation GNOME
Nicholas
Curran
Projet de documentation GNOME
Manuel de l'applicaton Zenity V2.0
Août 2004

L'équipe de documentation de Sun Java Desktop System

Sun Microsystems, Inc.

Manuel de Zenity V1.0
Janvier 2003

Glynn Foster

Projet de documentation GNOME

Le présent manuel décrit la version 2.6.0 de Zenity.

## Votre avis

Pour rapporter une anomalie ou émettre une suggestion concernant l'application Zenity ou ce manuel, procédez comme indiqué sur la Page de réactions sur GNOME.

Zenity est une réécriture de gdialog, la version GNOME de dialog, vous permettant d'afficher des boîtes de dialogue depuis des scripts shell et la ligne de commande.

## Introduction

Vous trouverez ci-dessous les différents types de boîte de dialogue que Zenity peut créer :

- Calendrier

- Sélection de fichier

- Liste

- Icône de notification

- Message

  - Erreur

  - Information

  - Question

  - Avertissement

- Barre de progression

- Saisie de texte

- Texte d'information

## Utilisation

Quand vous écrivez des scripts, vous pouvez utiliser Zenity pour créer des boîtes de dialogue simples avec lesquels l'utilisateur interagit graphiquement :

- Pour obtenir des informations de la part de l'utilisateur. Par exemple en demandant de choisir une date dans une boîte de dialogue de calendrier, ou en demandant de sélectionner un fichier dans une boîte de dialogue de sélection de fichier.

- Pour donner des informations à l'utilisateur. Par exemple en utilisant une boîte de dialogue de barre de progression pour indiquer l'avancement d'une opération, ou en utilisant une boîte de dialogue d'avertissement pour alerter l'utilisateur.

Quand l'utilisateur ferme la boîte de dialogue, Zenity affiche le texte produit sur le flux de sortie standard.

Quand vous écrivez des commandes Zenity, assurez vous de bien placer des guillements autour de chaque argument.

Par exemple, utilisez :

    zenity --calendar --title="Planning des vacances"

N'utilisez pas :

    zenity --calendar --title=Planning des vacances

Si vous n'utilisez pas les guillemets, vous risquez d'obtenir des résultats inattendus.

### Touches d'accès

Une touche d'accès est une touche permettant d'effectuer une action au clavier plutôt qu'en utilisant la souris. Une touche d'accès est identifiée avec une lettre soulignée dans les entrées de menu ou de boîtes de dialogue.

Certaines boîtes de dialogue de Zenity permettent l'utilisation de touches d'accès. Pour indiquer la lettre à utiliser comme touche d'accès, placez un underscore (_) avant cette lettre dans le texte de la boîte de dialogue. L'exemple suivant montre comment utiliser la lettre 'C' comme touche d'accès :

    "_Choisissez un nom".

### Code de sortie

Zenity retourne les codes de sortie suivants :

Code de sortie | Description
--- | ---
`0` | L'utilisateur a appuyé sur OK ou sur Fermer.
`1` | L'utilisateur a soit appuyé sur le bouton Annuler, soit fermé la boîte de dialogue.
`-1` | Une erreur inattendue s'est produite.
`5` | La boîte de dialogue a été fermée car le délai d'affichage a expiré.

### Options générales

Toutes les boîtes de dialogue Zenity supportent les options générales suivantes :

`--title`=titre

  Indique le titre d'une boîte de dialogue.

`--window-icon`=chemin_icone

  Indique l'icône affichée dans le cadre de la boîte de dialogue. Quatre icônes prédéfinies sont également disponibles en utilisant l'un des mots-clés suivants : 'info', 'warning', 'question' et 'error'.

`--width`=largeur

  Indique la largeur de la boîte de dialogue.

`--height`=hauteur

  Indique la hauteur de la boîte de dialogue.

`--timeout`=délai

  Indique en secondes le délai après lequel la boîte de dialogue est fermée.

### Options d'aide

Zenity fournit les options d'aide suivantes :

`--help`

  Afficher un court texte d'aide.

`--help-all`

  Afficher le texte d'aide complet pour toutes les boîtes de dialogue.

`--help-general`

  Afficher l'aide pour les options générales.

`--help-calendar`

  Afficher l'aide pour les options de la boîte de dialogue de calendrier.

`--help-entry`

  Afficher l'aide pour les options de la boîte de dialogue de saisie.

`--help-error`

  Afficher l'aide pour les options de la boîte de dialogue d'erreur.

`--help-info`

  Afficher l'aide pour les options de la boîte de dialogue d'information.

`--help-file-selection`

  Afficher l'aide pour les options de la boîte de dialogue de sélection de fichier.

`--help-list`

  Afficher l'aide pour les options de la boîte de dialogue de liste.

`--help-notification`

  Afficher l'aide pour les options de l'icône de notification.

`--help-progress`

  Afficher l'aide pour les options de la boîte de dialogue de barre de progression.

`--help-question`

  Afficher l'aide pour les options de la boîte de dialogue de question.

`--help-warning`

  Afficher l'aide pour les options de la boîte de dialogue d'avertissement.

`--help-text-info`

  Afficher l'aide pour les options de la boîte de dialogue de texte d'information.

`--help-misc`

  Afficher l'aide pour les options diverses.

`--help-gtk`

  Afficher l'aide pour les options GTK+.

### Options diverses

Zenity fournit également les options suivantes :

`--about`

  Afficher la boîte de dialogue À propos de Zenity, qui contient des informations sur la version de Zenity, des informations sur la licence, et des informations sur les développeurs.

`--version`

  Afficher le numéro de version de Zenity.

### Options GTK+

Zenity supporte les options GTK+ standards. Pour plus d'informations à propos des options GTK+, lancez la commande `zenity --help-gtk`.

### Variables d'environnement

Normalement, Zenity détecte la fenêtre de terminal à partir de laquelle il a été lancé et demeure au-dessus de cette fenêtre. Ce comportement peut être désactivé en déconfigurant la variable d'environnement `WINDOWID`.

## Boîte de dialogue de calendrier

L'option `--calendar` crée une boîte de dialogue de calendrier. Zenity retourne la date sélectionnée sur le flux de sortie standard. Si aucune date n'est indiquée en ligne de commande, la boîte de dialogue utilise la date actuelle.

Options de la boîte de dialogue de calendrier :

`--text`=texte

  Spécifier le texte affiché dans la boîte de dialogue de calendrier.

`--day`=jour

  Spécifier le jour sélectionné dans la boîte de dialogue de calendrier. jour doit être un nombre compris entre 1 et 31 inclus.

`--month`=mois

  Spécifier le mois sélectionné dans la boîte de dialogue de calendrier. mois doit être un nombre compris entre 1 et 12 inclus.

`--year`=année

  Spécifier l'année sélectionnée dans la boîte de dialogue de calendrier.

`--date-format`=format

  Spécifier sous quel format la boîte de dialogue de calendrier retourne la date sélectionnée. Le format par défaut dépend de votre localisation. format doit être un format que la fonction `strftime` accepte, par exemple `%A %d/%m/%y`.

Le script d'exemple suivant montre comment créer une boîte de dialogue de calendrier :

    #!/bin/sh

    if zenity --calendar \
    --title="Choisissez une date" \
    --text="Cliquez sur une date pour la sélectionner." \
    --day=10 --month=8 --year=2004
      then echo $?
      else echo "Aucune date sélectionnée"
    fi

### Exemple de boîte de dialogue de calendrier

Exemple de boîte de dialogue de calendrier Zenity

## Boîte de dialogue de sélection de fichier

L'option `--file-selection` crée une boîte de dialogue de sélection de fichier. Zenity retourne les fichiers ou les dossiers sélectionnés sur le flux de sortie standard. Par défaut, la boîte de dialogue de sélection de fichier est en mode ouverture.

Options de la boîte de dialogue de sélection de fichiers :

`--filename`=nom_du_fichier

  Spécifier le fichier ou le dossier sélectionné au premier affichage de la boîte de dialogue de sélection de fichier.

`--multiple`

  Permettre la sélection de plusieurs fichiers.

`--directory`

  Permettre uniquement la sélection de dossiers.

`--save`

  Mettre la boîte de dialogue de sélection de fichier en mode sauvegarde.

`--separator`=séparateur

  Spécifier le texte utilisé comme séparateur pour diviser la liste des noms de fichiers retournée.

Le script d'exemple suivant montre comment créer une boîte de dialogue de sélection de fichier :

    #!/bin/sh

    FILE=`zenity --file-selection --title="Sélectionnez un fichier"`

    case $? in
      0)
        echo "\"$FILE\" est sélectionné.";;
      1)
        echo "Aucun fichier sélectionné.";;
      -1)
        echo "Aucun fichier sélectionné.";;
    esac

### Exemple de boîte de dialogue de sélection de fichier

Exemple de boîte de dialogue de sélection de fichier Zenity

## Icône de notification

`--text`=texte

  Spécifier le texte affiché dans la zone de notification.

Le script d'exemple suivant montre comment créer une icône de notification :

    #!/bin/sh

    zenity --notification\
      --window-icon="info" \
      --text="Mise à jour du système nécessaire !"

### Exemple d'icône de notification

Exemple d'icône de notification Zenity

## Boîte de dialogue de liste

L'option `--list` crée une boîte de dialogue de liste. Zenity retourne les entrées de la première colonne de texte des lignes sélectionnées sur le flux de sortie standard.

Spécifiez les données de la boîte de dialogue colonne par colonne, ligne par ligne. Ces données peuvent être transmises par le flux d'entrée standard. Utilisez un retour chariot pour séparer chaque ligne de données.

Si vous utilisez les options `--checklist` ou `--radiolist`, chaque ligne doit commencer par 'TRUE' ou 'FALSE'.

Options de la boîte de dialogue de liste :

`--column`=titre

  Spécifier le titre de colonne affiché dans la boîte de dialogue de liste. Vous devez utiliser une option `--column` pour chaque colonne que vous voulez afficher dans la boîte de dialogue.

`--checklist`

  Utiliser des cases à cocher pour la première colonne de la liste.

`--radiolist`

  Utiliser des boutons radio pour la première colonne de la liste.

`--editable`

  Permettre l'édition des éléments affichés.

`--separator`=séparateur

  Spécifier le texte utilisé comme séparateur pour diviser la liste des entrées sélectionnées que la boîte de dialogue retourne.

`--print-column`=colonne

  Spécifier de quelle colonne afficher le contenu après sélection. La colonne par défaut est '1'. 'ALL' peut être utilisé pour afficher le contenu de toutes les colonnes de la liste.

Le script d'exemple suivant montre comment créer une boîte de dialogue de liste :

    #!/bin/sh

    zenity --list \
      --title="Choisissez les bogues à afficher" \
      --column="N° de bogue" --column="Gravité" --column="Description" \
        992383 Normal "GtkTreeView plante lors de sélections multiples" \
        293823 Grave "Le dictionnaire GNOME ne prend pas de proxy en charge" \
        393823 Critique "L'édition de menu ne fonctionne pas avec GNOME 2.0"

### Exemple de boîte de dialogue de liste

Exemple de boîte de dialogue de liste Zenity

## Boîtes de dialogue de message

Zenity sait créer quatre types de boîte de dialogue de message :

- Erreur

- Information

- Question

- Avertissement

Pour chaque type, utilisez l'option `--text` pour spécifier le texte affiché dans la boîte de dialogue.

### Boîte de dialogue d'erreur

Utilisez l'option `--error` pour créer une boîte de dialogue d'erreur.

Le script d'exemple suivant montre comment créer une boîte de dialogue d'erreur :

    #!/bin/bash

    zenity --error \
      --text="Impossible de trouver /var/log/syslog."

#### Exemple de boîte de dialogue d'erreur

Exemple de boîte de dialogue d'erreur Zenity

### Boîte de dialogue d'information

Utilisez l'option `--info` pour créer une boîte de dialogue d'information.

Le script d'exemple suivant montre comment créer une boîte de dialogue d'information :

    #!/bin/bash

    zenity --info \
      --text="Fusion effectuée. 3 fichiers sur 10 mis à jour."

#### Exemple de boîte de dialogue d'information

Exemple de boîte de dialogue d'information Zenity

### Boîte de dialogue de question

Utilisez l'option `--question` pour créer une boîte de dialogue de question.

Le script d'exemple suivant montre comment créer une boîte de dialogue de question :

    #!/bin/bash

    zenity --question \
      --text="Voulez-vous vraiment continuer ?"

#### Exemple de boîte de dialogue de question

Exemple de boîte de dialogue de question Zenity

### Boîte de dialogue d'avertissement

Utilisez l'option `--warning` pour créer une boîte de dialogue d'avertissement.

Le script d'exemple suivant montre comment créer une boîte de dialogue d'avertissement :

    #!/bin/bash

    zenity --warning \
      --text="Débranchez le câble pour éviter tout choc électrique."

#### Exemple de boîte de dialogue d'avertissement

Exemple de boîte de dialogue d'avertissement Zenity

## Boîte de dialogue de barre de progression

L'option `--progress` crée une boîte de dialogue de barre de progression.

Zenity lit les données à partir de l'entrée standard, ligne par ligne. Si une ligne commence par '#', le texte est mis à jour avec le texte de cette ligne. Si une ligne contient seulement un nombre, le pourcentage est mis à jour avec ce nombre.

Options de la boîte de dialogue de barre de progression :

`--text`=texte

  Spécifier le texte affiché dans la boîte de dialogue de barre de progression.

`--percentage`=pourcentage

  Spécifier le pourcentage initial réglé dans la boîte de dialogue de barre de progression.

`--auto-close`

  Fermer la boîte de dialogue quand la barre de progression atteint 100%.

`--pulsate`

  Utiliser une barre de progression discontinue jusqu'à ce qu'un caractère EOF soit lu sur l'entrée standard.

Le script d'exemple suivant montre comment créer une boîte de dialogue de barre de progression :

    #!/bin/sh
    (
    echo "10" ; sleep 1
    echo "# Mise à jour des journaux de mail" ; sleep 1
    echo "20" ; sleep 1
    echo "# Remise à zéro des paramètres" ; sleep 1
    echo "50" ; sleep 1
    echo "Cette ligne est ignorée" ; sleep 1
    echo "75" ; sleep 1
    echo "# Redémarrage du système" ; sleep 1
    echo "100" ; sleep 1
    ) |
    zenity --progress \
      --title="Mise à jour des journaux système" \
      --text="Analyse des journaux de mail..." \
      --percentage=0

    if [ "$?" = -1 ] ; then
      zenity --error \
        --text="Mise à jour annulée."
    fi

### Exemple de boîte de dialogue de barre de progression

Exemple de boîte de dialogue de barre de progression Zenity

## Boîte de dialogue de saisie

L'option `--entry` crée une boîte de dialogue de saisie. Zenity retourne le texte saisi sur le flux de sortie standard.

Options de la boîte de saisie :

`--text`=texte

  Spécifier le texte affiché dans la boîte de dialogue de saisie.

`--entry-text`=texte

  Spécifier le texte affiché dans le champ de saisie de la boîte de dialogue.

`--hide-text`

  Cacher le texte dans le champ de saisie de la boîte de dialogue.

Le script d'exemple suivant montre comment créer une boîte de dialogue de saisie :

    #!/bin/sh

    if zenity --entry \
      --title="Ajouter une entrée" \
      --text="Saisissez votre mot de _passe :" \
      --entry-text "password" \
      --hide-text
      then echo $?
      else echo "Aucun mot de passe entré"
    fi

### Exemple de boîte de dialogue de saisie

Exemple de boîte de dialogue de saisie Zenity

## Boîte de dialogue de texte d'information

L'option `--text-info` crée une boîte de dialogue de texte d'information.

Options de la boîte de dialogue de texte d'information :

`--filename`=nom_du_fichier

  Spécifier un fichier texte à charger dans la boîte de dialogue de texte d'information.

`--editable`

  Permettre l'édition du texte affiché. Le texte édité est retourné sur le flux de sortie standard à la fermeture de la boîte de dialogue.

Le script d'exemple suivant montre comment créer une boîte de dialogue de texte d'information :

    #!/bin/sh

    FILE=`zenity --file-selection \
      --title="Choisissez un fichier"`

    case $? in
      0)
        zenity --text-info \
          --title=$FILE \
          --filename=$FILE \
          --editable 2>/tmp/tmp.txt;;
      1)
        echo "Aucun fichier sélectionné.";;
      -1)
        echo "Aucun fichier sélectionné.";;
    esac

### Exemple de boîte de dialogue de texte d'information

Exemple de boîte de dialogue de texte d'information Zenity