# BASH : Zenity {{METATOC 4-5}} #### Présentation Zenity est un programme permettant d'afficher des fenêtres GTK+, et d'obtenir un retour selon l'action réalisée. La "valeur" renvoyée après exécution peut prendre 2 formes : - Un code de retour, donc accessible via la variable $? (après exécution). Le 0 indique OK, le reste une erreur. - Résultat envoyé directement sur la sortie standard stdout. Que l'on récupère donc très simplement avec le =. Grâce à ceci, on peut donc facilement demander des informations à l'utilisateur, les traiter et lui en présenter grâce à une GUI avec un simple script. Zenity met à notre disposition 12 types de fenêtres avec des buts précis. Toutes ces fenêtres sont "créées" avec une ligne de commande commençant par zenity suivie d'options. - Un calendrier avec l'option --calendar - Une fenêtre possédant un champ pour entrer du texte avec l'option --entry - Une fenêtre d'erreur avec l'option --error - Une fenêtre de sélection de fichier avec l'option --file-selection - Une fenêtre pouvant contenir une information avec l'option --info - Une fenêtre qui contient une liste d'entrées avec l'option --list - Une icône dans la zone de notification avec l'option --notification - Une fenêtre associée avec une barre de progression avec l'option --progress - Une fenêtre qui contient 2 boutons pour répondre à une question avec l'option --question - Une fenêtre permettant d'afficher un texte complet avec l'option --text-info - Une fenêtre pour afficher un avertissement avec l'option --warning - Une fenêtre contenant une échelle pour déterminer une valeur avec l'option --scale #### Utilisation  zenity [OPTION...] ##### Options de l'application : --calendar Affiche une boîte de dialogue calendrier --entry Affiche une boîte de dialogue de saisie de texte --error Affiche une boîte de dialogue d'erreur --info Affiche une boîte de dialogue d'information --file-selection Affiche une boîte de dialogue de sélection de fichiers --list Affiche une boîte de dialogue de liste --notification Affiche une notification --progress Affiche une boîte de dialogue de barre de progression --question Affiche une boîte de dialogue de question --warning Affiche une boîte de dialogue d'avertissement --scale Affiche une boîte de dialogue de glissière --text-info Affiche une boîte de dialogue de texte d'information --color-selection Affiche une boîte de dialogue de sélection de couleur --password Affiche une boîte de dialogue de mot de passe --forms Affiche une boîte de dialogue de formulaire --display=DISPLAY X display to use ##### Miscellaneous options --about À propos de Zenity --version Affiche la version ##### Options GTK+ --class=CLASS Program class as used by the window manager --name=NAME Program name as used by the window manager --gdk-debug=FLAGS GDK debugging flags to set --gdk-no-debug=FLAGS GDK debugging flags to unset --gtk-module=MODULES Load additional GTK+ modules --g-fatal-warnings Make all warnings fatal --gtk-debug=FLAGS GTK+ debugging flags to set --gtk-no-debug=FLAGS GTK+ debugging flags to unset #### Options des boîtes de dialogue ##### General options --title=TITRE Définit le titre de la boîte de dialogue --window-icon=CHEMIN_DES_ICÔNES Définit l'icône de la fenêtre --width=LARGEUR Définit la largeur --height=HAUTEUR Définit la hauteur --timeout=EXPIRATION Définit le délai d'expiration de la boîte de dialogue en secondes --ok-label=TEXTE Définit l'étiquette du bouton Valider --cancel-label=TEXTE Définit l'étiquette du bouton Annuler --modal Définit l'indication modale ##### Calendar options --text=TEXTE Définit le texte de la boîte de dialogue --day=JOUR Définit le jour du calendrier --month=MOIS Définit le mois du calendrier --year=ANNÉE Définit l'année du calendrier --date-format=MODÈLE Définit le format de la date retournée ##### Text entry options --text=TEXTE Définit le texte de la boîte de dialogue --entry-text=TEXTE Définit le texte de saisie --hide-text Masque le texte de saisie ##### Error options --text=TEXTE Définit le texte de la boîte de dialogue --icon-name=NOM-DE-L-ICÔNE Définit l'icône de la boîte de dialogue --no-wrap Désactive le retour à la ligne --no-markup Désactive le balisage pango ##### Info options --text=TEXTE Définit le texte de la boîte de dialogue --icon-name=NOM-DE-L-ICÔNE Définit l'icône de la boîte de dialogue --no-wrap Désactive le retour à la ligne --no-markup Désactive le balisage pango ##### File selection options --filename=NOM_DU_FICHIER Définit le nom du fichier --multiple Autorise la sélection de plusieurs fichiers --directory Active uniquement la sélection des répertoires --save Active le mode de sauvegarde --separator=SÉPARATEUR Définit le caractère séparateur de sortie --confirm-overwrite Confirme la sélection du fichier si le nom du fichier existe déjà --file-filter=NOM | MODÈLE1 MODÈLE2 ... Définit un filtre de nom de fichiers ##### List options --text=TEXTE Définit le texte de la boîte de dialogue --column=COLONNE Définit l'en-tête de la colonne --checklist Utilise des cases à cocher pour la première colonne --radiolist Utilise des boutons radio pour la première colonne --imagelist Utilise une image pour la première colonne --separator=SÉPARATEUR Définit le caractère séparateur de sortie --multiple Autorise la sélection de plusieurs lignes --editable Autorise le changement du texte --print-column=NOMBRE Imprime une colonne spécifique (par défaut la première, « ALL » peut être utilisé pour imprimer toutes les colonnes) --hide-column=NOMBRE Masque une colonne précise --hide-header Masque les en-têtes de colonnes ##### Notification icon options --text=TEXTE Définit le texte de notification --listen Écoute les commandes issues de stdin --hint=TEXTE Définit les indications de notification ##### Progress options --text=TEXTE Définit le texte de la boîte de dialogue --percentage=POURCENTAGE Définit le pourcentage initial --pulsate Barre de progression discontinue --auto-close Faire disparaître la fenêtre quand 100 % a été atteint --auto-kill Tue le processus parent si le bouton Annuler est cliqué --no-cancel Masque le bouton Annuler #### Question options --text=TEXTE Définit le texte de la boîte de dialogue --icon-name=NOM-DE-L-ICÔNE Définit l'icône de la boîte de dialogue --no-wrap Désactive le retour à la ligne --no-markup Désactive le balisage pango ##### Warning options --text=TEXTE Définit le texte de la boîte de dialogue --icon-name=NOM-DE-L-ICÔNE Définit l'icône de la boîte de dialogue --no-wrap Désactive le retour à la ligne --no-markup Désactive le balisage pango ##### Scale options --text=TEXTE Définit le texte de la boîte de dialogue --value=VALEUR Définit la valeur initiale --min-value=VALEUR Définit la valeur minimale --max-value=VALEUR Définit la valeur maximale --step=VALEUR Définit le pas --print-partial Affiche les valeurs intermédiaires --hide-value Masque la valeur ##### Text information options --filename=NOM_DU_FICHIER Ouvre un fichier --editable Autorise le changement du texte --font=TEXTE Définit la police du texte --checkbox=TEXTE Active une case à cocher « J'ai lu et j'accepte » --html Active la prise en charge du HTML --url=URL Définit un URL au lieu d'un fichier. Fonctionne uniquement avec l'option --html ##### Color selection options --color=VALEUR Définit la couleur --show-palette Affiche la palette ##### Password dialog options --username Affiche l'option du nom d'utilisateur ##### Forms dialog options --add-entry=Nom du champ Ajoute une nouvelle zone de saisie dans la boîte de dialogue de formulaire --add-password=Nom du champ Ajoute une nouvelle zone de saisie de mot de passe dans la boîte de dialogue de formulaire --add-calendar=Nom du champ calendrier Ajoute un nouveau calendrier dans la boîte de dialogue de formulaire --add-list=Champ de liste et nom d'en-tête Ajoute une nouvelle liste dans la boîte de dialogue de formulaire --list-values=Liste des valeurs séparées par | Liste des valeurs de la liste --column-values=Liste des valeurs séparées par | Liste des valeurs pour les colonnes --show-header Affiche les en-têtes des colonnes --text=TEXTE Définit le texte de la boîte de dialogue --separator=SÉPARATEUR Définit le caractère séparateur de sortie --forms-date-format=MODÈLE Définit le format de la date retournée