Provided by: manpages-fr_4.27.0-1_all 

NOM
dialog – Afficher des boîtes de dialogue à partir de scripts d’interpréteur de commandes
SYNOPSIS
dialog --clear
dialog --create-rc fichier
dialog --print-maxsize
dialog options_communes options_boîte
DESCRIPTION
Dialog est un programme qui permet de présenter une grande variété de questions ou d’afficher des
messages en utilisant des boîtes de dialogue depuis un script d’interpréteur de commandes. Ces types de
boîte de dialogue sont implémentés (bien que tous ne soient pas nécessairement compilés dans dialog) :
buildlist, calendar, checklist, dselect, editbox, form, fselect, gauge, infobox, inputbox,
inputmenu, menu, mixedform, mixedgauge, msgbox (message), passwordbox, passwordform, pause,
prgbox, programbox, progressbox, radiolist, rangebox, tailbox, tailboxbg, textbox, timebox,
treeview et yesno (oui/non).
Plusieurs boîtes de dialogue peuvent être mises dans un script :
• utiliser l’indicateur --and-widget pour forcer dialog à traiter le dialogue suivant à moins d’avoir
appuyé sur ESC pour annuler, ou ;
• ajouter simplement les indications pour la boîte de dialogue suivante, réalisant ainsi une chaine.
dialog cesse l’enchaînement quand le code de retour est différent de zéro, par exemple, Annuler ou
Non (voir DIAGNOSTICS).
Certains composants graphiques, par exemple, checklist, écrivent le texte sur la sortie de dialog.
Normalement, c’est la sortie d’erreur standard, mais il existe des options pour changer cela :
« --output-fd », « --stderr » et « --stdout ». Aucun texte n’est écrit si le bouton Annuler (ou ESC) est
pressé, dialog abandonne immédiatement dans ce cas.
OPTIONS
Toutes les options commencent par « -- » (deux tirets ASCII, pour ceux qui utilisent des systèmes avec
une prise en charge de la locale incomplète).
Un « -- » par lui-même est utilisé comme échappement, c’est-à-dire, l’indication suivante sur la ligne de
commande n'est pas traitée comme une option. Cela est différent de getopt(1) qui utilise cette indication
pour traiter les indications suivantes comme paramètres plutôt que comme options.
dialog --title -- --Pas une option
dialog --title Cela -- --titre n’est pas une option
dialog n’utilise pas de paramètres et utilise son propre analyseur d’options.
Quand une option commune (par exemple, qui n’est pas un composant graphique) est répétée, la dernière
option rencontrée est celle utilisée. Les options booléennes sont gérées spécialement de façon à pouvoir
être annulées en ajoutant (ou en omettant) un modificateur « no » après le « -- » de début. Par exemple,
--no-shadow est documentée ici, mais --shadow est aussi acceptée.
L’option « --args » indique à dialog de lister les paramètres de la ligne de commande sur la sortie
d’erreur standard. Cela est utile pour le débogage de scripts complexes en utilisant « -- » et « --file »
puisque la ligne de commande peut être réécrite lors de leur développement.
L’option « --file » indique à dialog de lire les paramètres depuis le fichier indiqué.
dialog --file fichier_paramètre
Les blancs non entourés de guillemets droits doubles sont ignorés (utiliser des contre-obliques pour
mettre entre guillemets des caractères uniques). Le résultat est inséré dans la ligne de commande,
remplaçant « --file » et sa valeur d’option. L’interprétation de la ligne de commande continue à partir
de ce point. Si fichier_paramètre commence avec « & », dialog interprète le texte qui suit comme un
numéro de descripteur de fichier plutôt que comme un nom de fichier.
La plupart des composants graphiques acceptent des paramètres hauteur et largeur qui peuvent être
utilisés pour dimensionner automatiquement le composant graphique pour s’adapter aux valeurs de message
multiligne d’invite :
• si le paramètre est négatif, dialog utilise la taille de l’écran ;
• si le paramètre est zéro, dialog utilise la taille minimale du composant graphique pour afficher
l’invite et les données ;
• autrement, dialog utilise la taille indiquée du composant graphique.
Options courantes
La plupart des options communes sont réinitialisées avant de traiter chaque composant graphique.
--ascii-lines
Plutôt que de dessiner des lignes autour des boîtes, dessiner des « + » et des « - » ASCII aux
mêmes emplacements (voir aussi « --no-lines »).
--aspect ratio
Cette option permet un certain contrôle des dimensions de la boîte lors de l’utilisation du
dimensionnement automatique (en spécifiant 0 pour la hauteur et la largeur). Elle représente le
rapport hauteur/largeur. La valeur par défaut est 9, ce qui signifie une largeur de 9 caractères
pour chaque hauteur de ligne.
--backtitle titre_fond
Indication d’une chaîne titre_fond pour un affichage en arrière-plan en haut de l’écran.
--begin y x
Indication de la position du coin supérieur gauche de la boîte de dialogue sur l’écran.
--cancel-label chaine
Remplacement du libellé utilisé pour les boutons « Annulation ».
--clear
Effacement de l’écran du composant graphique, conservant uniquement la couleur d’arrière-plan.
Cette option est à utiliser lors d’une combinaison de composants graphiques avec « --and-widget »
pour effacer le contenu du composant graphique précédent sur l’écran de façon à ce qu’il
n’apparaisse pas dans le contenu d’un composant graphique suivant. Cette option est à considérer
comme un complément de « --keep-window ». Pour comparer les effets, utilisez ce qui suit :
Trois composants graphiques visibles, effet d’escalier, ordre 1,2,3 :
dialog \
--begin 2 2 --yesno "" 0 0 \
--and-widget --begin 4 4 --yesno "" 0 0 \
--and-widget --begin 6 6 --yesno "" 0 0
Seul le dernier composant graphique reste visible :
dialog \
--clear --begin 2 2 --yesno "" 0 0 \
--and-widget --clear --begin 4 4 --yesno "" 0 0 \
--and-widget --begin 6 6 --yesno "" 0 0
Trois composants graphiques visibles, effet d’escalier, ordre 3,2,1 :
dialog \
--keep-window --begin 2 2 --yesno "" 0 0 \
--and-widget --keep-window --begin 4 4 --yesno "" 0 0 \
--and-widget --begin 6 6 --yesno "" 0 0
Premier et troisième composants graphiques visibles, effet d’escalier, ordre 3,1 :
dialog \
--keep-window --begin 2 2 --yesno "" 0 0 \
--and-widget --clear --begin 4 4 --yesno "" 0 0 \
--and-widget --begin 6 6 --yesno "" 0 0
Remarque : pour restaurer les couleurs d’origine de console et réintégrer le curseur après la fin
du programme dialog, utiliser la commande clear(1). Inversement, pour effacer l’écran et
réintégrer le curseur au bas gauche après la fin du programme dialog, utiliser l’option
--erase-on-exit.
--color-mode code
Extension de l’option --colors pour le contenu de programbox, tailbox et textbox. Utiliser le
code « 2 » pour cette fonctionnalité.
--colors
Interprétation des séquences « \Z » imbriquées dans la boîte de dialogue par le caractère qui suit
pour indiquer à dialog de définir les attributs de couleurs et de vidéo :
• 0 à 7 sont les codes ANSI de couleur utilisés dans curses, respectivement : noir, rouge, vert,
jaune, magenta, cyan et blanc.
• le gras est défini par « b » et annulé par « B » ;
• l’inversion est définie par « r » et annulée par « R » ;
• le soulignement est défini par « u » et annulé par « U » ;
• les réglages sont cumulatifs, par exemple, « \Zb\Z1 » rend le texte qui suit en rouge gras
(peut-être vif) ;
• les réglages sont restaurés avec « \Zn ».
--column-separator chaine
Demande à dialog de diviser les données pour les boîtes radio/check et les menus lors des
occurrences de la chaine indiquée et d’aligner ces données en colonnes.
--cr-wrap
Interprétation des caractères de nouvelle ligne imbriqués dans le texte du dialogue comme de
nouvelles lignes sur l’écran. Autrement, dialog repliera les lignes où cela est nécessaire pour
rentrer dans la boîte de texte.
Même s’il est possible de contrôler les changements de ligne avec cela, dialog replie toute ligne
trop longue pour tenir dans la boîte. Sans l’option cr-wrap, la disposition du texte peut être
formatée joliment dans le code source du script sans affecter la manière dont il apparaitra dans
la boîte de dialogue.
La fonctionnalité cr-wrap est mise en œuvre sous les conditions suivantes :
• la chaine contient « \n » et l’option --no-nl-expand n’est pas utilisée ;
• ou l’option --trim est utilisée.
Pour plus d’informations, consulter Options d’espaces blancs.
--create-rc fichier
Si dialog gère la configuration d’environnement d’exécution, cette option peut être utilisée pour
copier un fichier d’exemple de configuration dans le fichier indiqué par fichier.
--cursor-off-label
Placement du curseur du terminal à la fin du bouton plutôt que sur le premier caractère du libellé
du bouton. Cela est utile pour réduire la confusion visuelle quand la couleur du bouton se
différencie peu de celle du son libellé.
--date-format format
Si l’hôte prend en charge strftime, cette option permet de préciser le format de la date affichée
dans le composant graphique --calendar. Le moment du jour (heure, minute, seconde) est au temps
local actuel.
--defaultno
Réglage de la valeur par défaut de la boîte yes/no à No. De même, traiter le bouton par défaut des
composants graphiques qui fournissent « Ok » et « Annuler » comme un Cancel. Si les options
« --no-cancel » ou « --visit-items » sont fournies, elles outrepassent cette option, rendant le
bouton par défaut toujours « Yes » (de même pour « OK »).
--default-button chaine
Réglage du bouton (présélectionné) par défaut dans un composant graphique. En présélectionnant un
bouton, un script rend possible l’utilisation par l’utilisateur d’une simple pression sur Entrée
pour exécuter le dialogue avec une interaction minimale.
La valeur de l’option est le nom du bouton : ok, yes, cancel, no, help ou extra.
Normalement, le premier bouton de chaque composant graphique est celui par défaut. Le premier
bouton affiché est déterminé par le composant graphique de concert avec les options « --no-ok » et
« --no-cancel ». Si cette option n’est pas indiquée, aucun bouton n’est assigné par défaut.
--default-item chaine
Réglage de l’élément par défaut dans une boîte checklist, form ou menu. Normalement le premier
item de la boîte est celui par défaut.
--erase-on-exit
Lorsque dialog quitte, supprimer le composant graphique de dialogue en remettant l’écran entier à
sa couleur native d’arrière-plan et en plaçant le curseur du terminal au coin bas de gauche.
--exit-label chaine
Remplacement du libellé utilisé pour les boutons « EXIT ».
--extra-button
Afficher un bouton supplémentaire entre les boutons « OK » et « Annuler ».
Le bouton supplémentaire apparait entre « Yes » et « No » pour le composant graphique yesno
--extra-label chaine
Remplacement du libellé utilisé pour les boutons « Extra ». Note : pour les composants graphiques
inputmenu, la valeur par défaut est « Rename ».
--help Affichage d’un message d’aide sur la sortie standard et quitter. Le message d’aide est aussi
affiché si aucune option n’est précisée ou si une option inconnue est indiquée.
--help-button
Affichage d’un bouton d’aide après les boutons « OK » et « Annuler » dans des boîtes qui ont une
liste d’items étiquetés (c’est-à-dire une boîte checklist, radiolist, menu ou treeview).
Le bouton d’aide apparait après « Yes » et « No » pour le composant graphique yesno.
Lors de l’abandon, le code de retour indique que le bouton Help a été appuyé. dialog écrit aussi
un message sur sa sortie après l’étiquette « HELP » :
• si « --item-help » est aussi indiquée, le texte d’aide de l’item est écrit ;
• autrement, l’étiquette de l’item (le premier champ) est écrit.
L’option --help-tags peut être utilisée et/ou la variable d’environnement DIALOG_ITEM_HELP peut
être réglée pour modifier ces messages et le code de retour.
Cette option peut être utilisée pour les autres composants graphiques qui ont un bouton « OK »,
que le bouton « Annuler » soit utilisé ou non. Le code de retour et la sortie ne sont pas traités
spécialement pour les autres composants graphiques, le bouton d’aide est seulement un bouton
supplémentaire.
--help-label chaine
Remplacement du libellé des boutons « Help ».
--help-status
Si le bouton d’aide est sélectionné, les informations de checklist, radiolist ou form seront
affichées après l’information « HELP » d’item-help. Cela peut être utile pour reconstruire l’état
d’une checklist après le traitement d’une requête d’aide.
--help-tags
Modification des messages écrits lors de l’abandon pour --help-button en les modifiant toujours à
la simple étiquette de l’item. Cette option ne modifie pas le code de retour d’abandon.
--hfile fichier
Affichage du fichier indiqué dans une textbox lorsque l’utilisateur appuie sur F1.
--hline chaine
Afficher la chaine indiquée centrée au bas du composant graphique.
--ignore
Ignorance des options non reconnues par dialog. Certaines options bien connues telles que
« --icon » sont quand même ignorées, mais c’est le meilleur choix pour la compatibilité avec
d’autres implémentations.
--input-fd desc_de_fichier
Lecture de la saisie au clavier pour le descripteur de fichier indiqué. La plupart des scripts de
dialog lisent l’entrée standard, mais le composant graphique gauge lit un tube (qui est toujours
l’entrée standard). Certaines configurations ne fonctionnent pas correctement quand dialog essaie
de réouvrir le terminal. Cette option est à utiliser (avec un réarrangement approprié des
descripteurs de fichier) si un script doit fonctionner dans ce type d’environnement.
--insecure
Rendu du composant graphique de mot de passe plus convivial, mais moins sécurisé, en affichant un
astérisque pour chaque caractère.
--iso-week
Définition du point de départ du numéro de semaine affiché dans l’option « --calendar » selon la
norme ISO-8601, qui démarre la numérotation avec la première semaine qui inclut un jeudi en
janvier.
--item-help
Interprétation des données d’étiquette pour les boîtes checklist, radiolist et menu en ajoutant
une colonne affichée au bas de l’écran pour l’item actuellement sélectionné.
--keep-tite
Lorsque construit avec ncurses, dialog vérifie normalement s’il est exécuté dans un xterm et, dans
ce cas, essaie de supprimer les chaines d’initialisation qui pourraient le faire basculer vers un
écran de remplacement. Basculer entre l’écran normal et celui de remplacement est gênant
visuellement lors d’un script qui exécute dialog plusieurs fois. Cette option est à utiliser pour
permettre à dialog d’utiliser ces chaines d’initialisation.
--keep-window
Normalement quand dialog crée plusieurs composants graphiques tailboxbg connectés par
« --and-widget », il efface l’ancien composant graphique de l’écran par superposition. Cette
option est à utiliser pour supprimer cette superposition.
Lors de l’abandon, dialog superpose tous les composants graphiques qui ont été marqués avec
« --keep-window », même s’ils ne sont pas des composants graphiques tailboxbg. Cela fait qu’ils
sont superposés en ordre inverse. Consulter les explications de l’option « --clear » pour des
exemples.
--last-key
Lors de l’abandon, rapport de la dernière touche appuyée. C’est le code de touche de curses plutôt
qu’un symbole ou un caractère littéral, et ce rapport n'est fait que pour les touches liées à une
action. Cette option peut être utilisée par des scripts pour faire la distinction entre deux
touches liées à la même action.
--max-input size
Limitation des chaines d’entrée à une taille donnée. Si elle n’est pas indiquée, la limite
est 2048.
--no-cancel
Suppression du bouton « Annuler » dans les modes de boîte checklist, inputbox et menu. Un script
peut toujours tester si l’utilisateur appuie sur la touche ESC pour empêcher l’abandon.
--no-collapse
Normalement, dialog convertit les tabulations en espaces et réduit plusieurs espaces à une seule
pour le texte qui est affiché dans une boîte de message, etc. Cette option est à utiliser pour
désactiver cette fonctionnalité. Remarque : dialog repliera toujours le texte soumis aux options
« --cr-wrap » et « --trim ».
La fonctionnalité no-collapse est mise en œuvre sous les conditions suivantes :
• la chaine contient « \n » et l’option --no-nl-expand n’est pas utilisée ;
• ou l’option --trim n’est pas utilisée ;
Pour plus d’informations, consulter Options d’espaces blancs.
--no-hot-list
Indication pour dialog de supprimer la fonctionnalité de raccourci de clavier pour les listes, par
exemple, checkbox, menu.
Normalement, le premier caractère en capitale d’une entrée de liste sera mis en évidence, et la
saisie de ce caractère déplacera le focus sur cette entrée. Cette option supprime la mise en
évidence et le mouvement.
Les raccourcis clavier pour « OK », « Annuler », etc ne sont pas affectés.
--no-items
Certains composants graphiques (checklist, inputmenu, radiolist, menu) affichent une liste avec
deux colonnes (« étiquette » et « item », c’est-à-dire « description »). Cette option indique à
dialog de lire des lignes plus courtes en omettant la partie « item » de la liste. Cela est
occasionnellement utile, par exemple, si les étiquettes fournissent assez d’informations.
Voir aussi --no-tags. Si les deux options sont indiquées, cette dernière est ignorée.
--no-kill
Demande à dialog de mettre la boîte tailboxbg en arrière-plan, affichant son identifiant de
processus sur la sortie de dialog. SIGHUP est désactivé pour le processus d’arrière-plan.
--no-label chaine
Outrepassement du libellé utilisé pour les boutons « No ».
--no-lines
Plutôt que de dessiner des lignes autour de la boîte, dessiner des espaces au même endroit. Voir
aussi « --ascii-lines ».
--no-mouse
Désactivation de la souris.
--no-nl-expand
Pas de conversion des sous-chaines « \n » du texte de message/invite en nouvelles lignes
littérales.
La fonctionnalité no-nl-expand est utilisée seulement si la chaine contient « \n » de façon à
avoir quelque chose à convertir.
Pour plus d’informations, consulter Options d’espaces blancs.
--no-ok
Suppression du bouton « OK » pour ne pas l’afficher. Un script peut toujours tester si
l’utilisateur presse la touche « Entrée » pour accepter les données :
• la touche « Entrée » est toujours gérée comme bouton « OK » quand l’option --no-ok est
utilisée, c’est-à-dire que par défaut elle est liée à la touche virtuelle LEAVE ;
quand l’option --no-ok n’est pas utilisée, la touche Tab peut être utilisée pour déplacer le
curseur à travers les champs et les boutons du composant graphique. Dans ce cas, la touche
Entrée active le bouton sur lequel le curseur est positionné ;
• pour pouvoir activer un bouton lors de l’utilisation de l’option --no-ok, une autre touche
LEAVE virtuelle existe qui active le bouton en cours. Par défaut, ^D (EOF) est lié à cette
touche.
--no-shadow
Suppression de l’ombrage à la droite et au bas de chaque boîte de dialogue.
--no-tags
Certains composants graphiques (checklist, inputmenu, radiolist, menu) affichent une liste avec
deux colonnes (étiquette et description). L’étiquette est utile pour des scripts mais peut ne pas
aider l’utilisateur. L’option --no-tags (de Xdialog) peut être utilisée pour supprimer de
l’affichage la colonne d’étiquettes. Au contraire de l’option --no-items, cela n’affecte pas les
données lues à partir du script.
Xdialog n’affiche pas la colonne d’étiquettes pour les composants graphiques analogues buildlist
et treeview. dialog fait de même.
Normalement, dialog permet un déplacement rapide entre les entrées de la liste affichée en
établissant une correspondance à un seul caractère avec le premier caractère de l’étiquette. Quand
l’option --no-tags est indiquée, dialog établit la correspondance avec le premier caractère de la
description. Dans tous les cas, le caractère utilisé comme correspondance est mis en évidence.
--ok-label chaine
Outrepassement du libellé utilisé pour les boutons « OK ».
--output-fd desc_de_fichier
Écriture de la sortie dans le descripteur de fichier indiqué. La plupart des scripts de dialog
écrivent sur la sortie standard d’erreur, mais les messages d’erreur peuvent être écrits ici selon
l’indication du script.
--separator chaine
--output-separator chaine
Spécification d’une chaine séparant la sortie lors d’une sortie de dialog à partir de checklists,
à la place d’une nouvelle ligne (pour --separate-output) ou d’une espace. Cette option s’applique
à d’autres composants graphiques tels que form et editbox qui normalement utilisent une nouvelle
ligne.
--print-maxsize
Affichage de la taille maximale des boîtes de dialogue , c’est-à-dire la taille de l’écran, pour
la sortie de dialog. Cela peut être utilisé seul sans autres options.
--print-size
Affichage de la taille de chaque boîte de dialogue sur la sortie de dialog lors de
l’initialisation de la boîte.
--print-text-only chaine [ hauteur [ largeur ] ]
Affichage de la chaine telle qu’elle serait repliée dans une boîte de message dans la sortie de
dialog.
À cause des valeurs facultatives par défaut de hauteur et largeur à zéro, si elles sont omises,
dialog définit automatiquement la taille à celle de l’écran.
--print-text-size chaine [ hauteur [ largeur ] ]
Affichage de la taille de la chaine telle qu’elle serait repliée dans une boîte de message dans la
sortie de dialog sous la forme :
hauteur largeur
À cause des paramètres facultatifs par défaut de hauteur et largeur à zéro, s’ils sont omis,
dialog définit automatiquement la taille à celle de l’écran.
--print-version
Affichage de la version de dialog dans la sortie de dialog. Cette option peut être utilisée seule
sans autres options et ne provoque pas que dialog quitte de lui-même.
--quoted
Normalement, dialog met entre guillemets droits les chaines renvoyées par les checklist ainsi que
le texte d’item-help. Cette option est à utiliser pour mettre entre guillemets tous les résultats
de chaine si nécessaire (c’est-à-dire si la chaine contient un caractère d’espace blanc ou de
guillemet droit simple ou double).
--reorder
Par défaut, le composant graphique buildlist utilise le même ordre pour la sortie (droite) que
pour l’entrée (gauche). Cette option est à utiliser pour indiquer à dialog l’ordre dans lequel un
utilisateur ajoute des sélections dans la liste de sortie.
--scrollbar
Pour les composants graphiques possédant un liste déroulante de données, dessin d’une barre de
défilement sur la marge droite, non manipulable avec la souris.
--separate-output
Pour certains composants graphiques (buildlist, checklist, treeview), production du résultat une
ligne à la fois, sans guillemets. Cela facilite l’analyse par un autre programme.
--separate-widget chaine
Spécification d’une chaine séparant la sortie dans la sortie de dialog de chaque composant
graphique. Cette option est utilisée pour simplifier l’analyse du résultat d’une boîte de dialogue
ayant plusieurs composants graphiques. Si cette option n’est pas spécifiée, par défaut la chaine
de séparation est le caractère de tabulation.
--single-quoted
Utilisation de guillemets droits simples si c’est nécessaire (pas de guillemets autrement) pour la
sortie du texte d’une checklist ou de item-help.
Si cette option n’est pas spécifiée, dialog peut utiliser des guillemets droits doubles autour de
chaque item. Dans tous les cas, dialog ajoute des contre-obliques pour que la sortie soit
utilisable dans des scripts d’interpréteur de commandes.
Des guillemets droits simples peuvent être nécessaires si la chaine contient des caractères
d’espace blanc ou des guillemets droits doubles ou simples.
--size-err
Vérification de la taille résultante de la boîte de dialogue avant de l’utiliser et son affichage
si elle est supérieure à celle de l’écran (cette option est obsolète puisque tous les appels
new-window sont vérifiés).
--sleep secs
Mise en veille (délai) du nombre de secondes indiqués après le traitement d’une boîte de dialogue.
--stderr
Sortie directe sur la sortie standard d’erreur. C’est le comportement par défaut puisque curses
écrit normalement les mises à jour d’écran sur la sortie standard.
--stdout
Sortie directe sur la sortie standard. Cette option est fournie pour la compatibilité avec
Xdialog. Cependant, l’utiliser dans des scripts portables n’est pas recommandé puisque curses
écrit normalement les mises à jour d’écran sur la sortie standard. Si cette option est utilisée,
dialog essaie de réouvrir le terminal pour écrire sur l’écran. En fonction de la plateforme et de
l’environnement, cela peut échouer.
--tab-correct
Conversion de chaque caractère de tabulation en une ou plusieurs espaces (pour le composant
graphique textbox, autrement une seule espace). Sinon les tabulations sont rendues selon
l’interprétation de la bibliothèque curses. L’option --no-collapse désactive cette expansion.
--tab-len n
Spécification du nombre d’espaces que le caractère de tabulation occupe si l’option
« --tab-correct » est indiquée. La valeur par défaut est huit. Cette option est seulement
effective pour le composant graphique textbox.
--time-format format
Si l’hôte prend en charge strftime, cette option permet de préciser le format de l’heure affichée
par le composant graphique --timebox. Les valeurs du jour, du mois et de l’année sont dans ce cas
celles locales.
--timeout secs
Délai en secondes en cas de non-réponse de l’utilisateur. Un délai de zéro seconde est ignoré.
Normalement, le délai fait qu’un caractère ESC est entré dans le composant graphique en cours et
l’annule. D’autres composants graphiques peuvent toujours être sur l’écran et ne sont pas annulés.
Définir la variable d’environnement DIALOG_TIMEOUT pour indiquer à dialog de quitter directement,
c’est-à-dire effacement de tous les composants graphiques sur l’écran.
Cette option est ignorée par le composant graphique « --pause ». Elle est aussi outrepassée si
l’option d’arrière-plan « --tailboxbg » est utilisée pour définir plusieurs composants graphiques
simultanés.
--title titre
Spécification d’une chaine de titre à afficher au haut de la boîte de dialogue.
--trace fichier
Journalisation des paramètres de ligne de commande, des frappes de touche et d’autres informations
dans le fichier indiqué. Si dialog lit un fichier de configuration, cela est aussi journalisé. La
capture de l’entrée dans le composant graphique gauge est journalisée. Ctrl/T est utilisé pour
journaliser une image de la fenêtre de dialogue en cours.
Le programme dialog gère quelques paramètres de ligne de commande de façon spéciale et les
supprime de la liste de paramètres au fur et à mesure qu’ils sont traités. Par exemple, si la
première option est --trace, ce qui est traité (et supprimé) avant que dialog initialise
l’affichage.
--week-start jour
Spécification du premier jour de la semaine utilisé par l’option « --calendar ». Le paramètre jour
peut être :
• un nombre (0 à 6, dimanche à samedi utilisant POSIX) ;
• la valeur spéciale « locale » (cela fonctionne avec les systèmes utilisant la glibc,
fournissant une extension à la commande locale, la valeur first_weekday) ;
• une chaine de correspondance d’abréviation de jour de la semaine affiché dans le composant
graphique calendar, par exemple, « Mo » pour « lundi ».
--trim Élimination des blancs de début du texte de message et élimination des répétitions de nouvelle
ligne et de blancs.
La fonctionnalité trim est mise en œuvre aux conditions suivantes :
• la chaine ne contient pas de « \n » ou ;
• l’option --no-nl-expand est utilisée.
Pour plus d’informations, consulter Options d’espaces blancs.
Voir aussi les options « --cr-wrap » et « --no-collapse ».
--version
Affichage de la version de dialog sur la sortie standard et abandon. Voir aussi l’option
« --print-version ».
--visit-items
Modification du parcours par tabulation des checklist, radiolist, menubox et inputmenu pour
inclure la liste des items sous forme d’un des états. Cette option est utile comme aide visuelle,
c’est-à-dire que la position du curseur aide quelques utilisateurs.
Lorsque cette option est spécifiée, le curseur est initialement placé sur la liste. Les
abréviations (la première lettre de l’étiquette) s’appliquent à la liste d’items. Lors d’un
parcours par tabulation jusqu’à la rangée de boutons, les abréviations s’appliquent aux boutons.
--yes-label chaine
Outrepassement du libellé pour les boutons « Yes ».
Options de boîte
Toutes les boîtes de dialogue ont au moins trois paramètres :
texte la légende ou le contenu de la boîte ;
hauteur
la hauteur de la boîte de dialogue ;
largeur
la largeur de la boîte de dialogue.
Les autres paramètres dépendent du type de la boîte de dialogue.
--buildlist texte hauteur largeur hauteur_liste [ étiquette item état ] ...
Une boîte de dialogue buildlist affiche deux listes l’une à côté de l’autre. La liste de gauche
affiche les items non sélectionnés, la liste de droite ceux sélectionnés. Lorsque les items sont
sélectionnés ou désélectionnés, ils changent de liste.
Un retour chariot ou le bouton « OK » permettent d’accepter la valeur actuelle dans la fenêtre
choisie et de quitter. Les résultats sont écrits en utilisant l’ordre affiché dans la fenêtre
choisie.
La valeur initiale on/off de chaque entrée est indiquée par état.
La boîte de dialogue se comporte comme un menu, utilisant l’option --visit-items pour contrôler si
le curseur est autorisé à parcourir les listes directement :
• si l’option --visit-items n’est pas précisée, le parcours avec Tab utilise deux états
(OK/Annuler) ;
• si l’option --visit-items est spécifiée, le parcours avec Tab utilise quatre états
(Gauche/droite//OK/Annuler).
Que l’option --visit-items soit spécifiée ou non, il est possible de modifier la mise en évidence
en utilisant les touches par défaut : « ^ » (colonne gauche) et « $ » (colonne droite).
Lors de l’abandon, une liste de chaines d’étiquette de ces entrées qui sont activées est affichée
sur la sortie de dialog.
Si l’option « --separate-output » n’est pas indiquée, les chaines seront entre guillemets droits,
si nécessaire, pour simplifier leurs séparations dans des scripts. Par défaut, ce sont des
guillemets droits doubles. Consulter l’option « --single-quoted » qui modifie le comportement de
la mise entre guillemets.
--calendar texte hauteur largeur jour mois année
Une boîte de dialogue calendar affiche le mois, le jour et l’année dans des fenêtres ajustables
séparées. Si les valeurs pour le jour, le mois ou l’année sont absentes ou négatives, les valeurs
correspondant à la date courante sont utilisées. Il est possible d’augmenter ou de diminuer toutes
ces valeurs en utilisant les flèches gauche, haut, bas ou droit. Il est possible d’utiliser les
touches h, j, k et l de style vi pour parcourir la grille du mois et d’utiliser les touches Tab et
Shift+Tab pour changer de fenêtre. Si l’année indiquée est zéro, la date courante est utilisée
comme valeur initiale.
Lors de l’abandon, la date est affichée sous la forme jour/mois/année. L’option --date-format
permet de passer outre ce format.
--checklist texte hauteur largeur hauteur_liste [ étiquette item état ] ...
Une boîte de dialogue checklist est similaire à une boîte de dialogue menu. Plusieurs entrées sont
présentées sous la forme d’un menu. Une autre différence est qu’il est possible d’indiquer quelles
entrées sont sélectionnées en établissant leur état à on. Au lieu de choisir une seule entrée,
chaque entrée peut être sélectionnée ou désélectionnée. La valeur initiale on/off de l’état de
chaque entrée est spécifiée par état.
Lors de l’abandon, une liste de chaines d’étiquette de ces entrées qui sont activées est affichée
sur la sortie de dialog.
Si l’option « --separate-output » n’est pas spécifiée, les chaines seront entre guillemets droits
si nécessaire pour que les scripts puissent les séparer simplement. Par défaut, ce sont des
guillemets droits doubles. Consulter l’option « --single-quoted » qui modifie le comportement de
la mise entre guillemets.
--dselect chemin_fichier hauteur largeur
La boîte de dialogue de sélection de répertoire affiche une fenêtre text-entry pour saisir un nom
de répertoire et au-dessus une fenêtre avec les noms de répertoire.
Ici, chemin_fichier peut être un chemin de fichier auquel cas la fenêtre de répertoires affiche le
contenu du chemin et la fenêtre text-entry contient le répertoire présélectionné.
Les touches Tab et de flèches permettent de changer de fenêtre. Dans la fenêtre de répertoires,
les touches de flèche haut et bas permettent de parcourir la sélection en cours. La barre d’espace
permet de copier le répertoire sélectionné dans la fenêtre text-entry.
La saisie de n’importe quel caractère imprimable déplace le focus sur la fenêtre text-entry,
saisissant ce caractère et parcourant la fenêtre de répertoires à la correspondance de caractère
la plus proche.
Un retour chariot ou le bouton « OK » sont à utiliser pour accepter la valeur en cours dans la
fenêtre text-entry et pour quitter.
Lors de l’abandon, le contenu de la fenêtre text-entry est écrit sur la sortie de dialog.
--editbox chemin_fichier hauteur largeur
La boîte de dialogue edit-box affiche une copie du fichier. Il est possible de l’éditer en
utilisant les touches Retour_arrière, Suppr et les touches de curseur pour corriger les erreurs de
saisie. Les touches page suivante et page précédente sont aussi reconnues. Au contraire de
--inputbox, la touche Tab doit être utilisée pour sélectionner les boutons « OK » ou « Annuler »
pour clore le dialogue. Appuyer sur la touche « Entrée » dans la boîte coupe la ligne
correspondante.
Lors de l’abandon, le contenu de la fenêtre d’édition est écrite dans la sortie de dialog.
--form texte haut larg haut_form [ libellé y x item y x larg_form larg_entrée ] ...
La boîte de dialogue form affiche un formulaire constitué de libellés et de champs qui sont
positionnés sur une fenêtre déroulante aux coordonnées données par le script. La valeur des champs
largeur_form et largeur_entrée indiquent leur taille possible. La première définit la largeur du
champ sélectionné tandis que la dernière définit la largeur possible des données entrées dans le
champ.
• Si larg_form est zéro, le champ correspondant ne peut être altéré et le contenu du champ
détermine la largeur affichée.
• Si larg_form est négative, le champ correspondant ne peut être altéré et la valeur mise en
positif de larg_form est utilisée pour la largeur d’affichage.
• Si larg_entrée est zéro, elle est définie à larg_form.
Les flèches haut/bas (ou Crtl/N ou Crtl/P) permettent de naviguer dans les champs et la touche Tab
de changer de fenêtre.
Lors de l’abandon, le contenu des champs de formulaire est écrit sur la sortie de dialog. Le texte
utilisé pour remplir les champs non éditables (largeur_form est zéro ou négative) n’y est pas
écrit.
--fselect chemin_fichier hauteur largeur
La boîte de dialogue dialog de sélection de fichier affiche une fenêtre text-entry dans laquelle
il est possible de saisir un nom de fichier (ou de répertoire), et au-dessus deux fenêtres pour
les répertoires et les noms de fichier.
Ici chemin_fichier peut être un chemin, auquel cas les fenêtres de fichiers et de répertoires
affichent le contenu du chemin et la fenêtre text-entry contient le nom de fichier présélectionné.
Les touches Tab et de flèche permettent de changer de fenêtre. Dans les fenêtres de répertoires et
de fichiers, les touches bas/haut permettent de faire défiler la sélection en cours. La touche
espace permet de copier la sélection en cours dans la fenêtre text-entry.
La saisie de n’importe quel caractère imprimable déplace le focus sur la fenêtre text-entry, en
saisissant ce caractère et faisant défiler les fenêtres de répertoires et fichiers à la plus
proche correspondance.
La frappe du caractère espace force dialog à compléter le nom en cours jusqu’au point où il peut y
avoir une correspondance à plus d’une entrée.
Un retour chariot ou le bouton « OK » sont à utiliser pour accepter la valeur en cours dans la
fenêtre text-entry et pour quitter.
Lors de l’abandon, le contenu de la fenêtre text-entry est écrit sur la sortie de dialog.
--gauge texte hauteur largeur [pourcentage]
Une boîte de dialogue gauge affiche une barre de progression en bas de la boîte. La barre indique
le pourcentage. Les nouveaux pourcentages sont lus depuis l’entrée standard, un entier par ligne.
La barre est mise à jour pour refléter chaque nouveau pourcentage. Si l’entrée standard lit la
chaîne « XXX », la première ligne qui suit est prise comme un entier de pourcentage, puis les
lignes suivantes avec « XXX » sont utilisées pour une nouvelle invite. La jauge s’arrête lorsque
EOF est rencontré sur l’entrée standard.
La valeur pourcentage indique le pourcentage initial à montrer dans la barre. Si non spécifié,
c’est zéro.
Lors de l’abandon, aucun texte n’est écrit sur la sortie de dialog. Ce composant graphique
n’accepte aucune entrée, donc son code de retour est toujours OK.
--infobox texte hauteur largeur
Une boîte de dialogue info est basiquement une boîte de dialogue message. Cependant, dans ce cas,
dialog abandonnera immédiatement après l’affichage du message à l’utilisateur. L’écran n’est pas
effacé lorsque dialog quitte, de façon que le message demeure sur l’écran jusqu’à ce que le script
appelant l’efface. Cette boîte de dialogue est utile pour informer l’utilisateur que des
opérations sont en cours et peuvent nécessiter un certain temps.
Lors de l’abandon, aucun texte n’est écrit sur l’entrée standard de dialog. Un code de retour OK
est renvoyé.
--inputbox texte hauteur largeur [init]
Cette boîte est utile pour poser une question qui nécessite une réponse de l’utilisateur sous
forme d’une chaîne. Si init est indiqué, il sera utilisé comme valeur initiale de la chaîne. En
saisissant la réponse, il est possible d’employer les touches Retour_arrière et Suppr et celles de
curseur pour corriger les erreurs de frappe. Si la chaîne saisie est trop longue pour la boîte de
dialogue, le champ de saisie sera déroulé horizontalement.
Lors de l’abandon, la chaine d’entrée sera écrite dans la sortie de dialog.
--inputmenu texte hauteur largeur hauteur_menu [ étiquette item ] ...
Une boîte de dialogue inputmenu est très similaire à une boîte de dialogue menu ordinaire. Il y a
peu de différences entre elles :
1. Les entrées ne sont pas automatiquement centrées mais ajustées à partir de la gauche ;
2. Un bouton supplémentaire (appelé Renommer) est impliqué pour renommer l’item en cours
lorsqu’il est pressé ;
3. Il est possible de renommer l’entrée en cours en appuyant sur le bouton Renommer. Alors dialog
écrira ce qui suit sur la sortie de dialog :
RENAMED <étiquette> <item>
--menu texte hauteur largeur hauteur_menu [ étiquette item ] ...
Comme son nom l’indique, une boîte de dialogue menu est une boîte qui peut être utilisée pour
présenter une liste de choix sous la forme d’un menu pour que l’utilisateur fasse une sélection.
Les choix sont affichés dans l’ordre donné. Chaque entrée de menu consiste en une chaîne étiquette
et une chaîne item. L’étiquette donne un nom à l’item pour le distinguer des autres dans le menu.
L’item est une description courte de l’option que l’entrée représente. L’utilisateur peut se
déplacer en utilisant les touches de curseur, la première lettre de l’étiquette en tant que
raccourci de clavier ou l’une des touches 1 à 9. Des entrées de hauteur hauteur_menu sont
affichées dans le menu en même temps, mais le menu sera déroulant s’il existe plus d’entrées pour
cette hauteur.
Lors de l’abandon, l’étiquette de l’entrée de menu choisie sera écrite sur la sortie de dialog. Si
l’option « --help-button » est précisée, le texte d’aide correspondant sera écrit si l’utilisateur
utilise le bouton d’aide.
--mixedform texte haut larg haut_form [ libellé y x item y x larg_form larg_ent type_ent ] ...
La boîte de dialogue mixedform affiche un formulaire constitué de libellés et champs ressemblant
beaucoup à la boîte de dialogue --form. Elle diffère par l’ajout d’un paramètre de type de champ à
chaque description de champ. Chaque bit dans le type indique un attribut du champ :
1 caché, par exemple, un champ de mot de passe ;
2 lecture seule, par exemple, un libellé.
--mixedgauge texte hauteur largeur pourcent [ étiquette1 item1 ] ...
Une boîte de dialogue mixedgauge affiche une barre de progression au bas de la boîte. Elle indique
le pourcentage.
Elle affiche aussi une liste de valeurs d’étiquette et d’item au haut de la boîte. Consulter
dialog(3) pour les valeurs d’étiquette.
Le texte est affiché comme une légende entre la liste et la barre de progression. La valeur
pourcent indique le pourcentage initial affiché dans la barre.
Aucune disposition n’est prévue pour lire les données depuis l’entrée standard comme cela est fait
pour --gauge
Lors de l’abandon, aucun texte n’est écrit sur la sortie de dialog. Ce composant graphique
n’accepte aucune entrée, donc son code de retour est toujours OK.
--msgbox texte hauteur largeur
Une boîte de dialogue message est très similaire à une boîte yes/no. La seule différence entre
elles est que la boîte de dialogue message possède un seul bouton OK. Cette boîte de dialogue peut
être utilisée pour afficher n’importe quel message. Après sa lecture, l’utilisateur peut appuyer
sur la touche Entrée de façon que dialog abandonne et que le script d’interpréteur appelant puisse
continuer ses opérations.
Si le message est trop important pour l’espace, dialog peut permettre de le dérouler, pourvu que
l’implémentation sous-jacente de curses le puisse. Dans ce cas, un pourcentage est affiché au bas
du composant graphique.
Lors de l’abandon, aucun texte n’est écrit sur la sortie de dialog. Seul un bouton « OK » est
fourni, mais un code de retour ESC peut être renvoyé.
--pause texte hauteur largeur secondes
Une boîte de dialogue pause affiche une barre de progression au bas de l’écran. Elle indique le
nombre de secondes restantes avant la fin de la pause. La pause se termine quand le délai est
atteint ou quand l’utilisateur appuie sur le bouton « OK » (état OK), le bouton Annuler ou la
touche Echap.
--passwordbox texte hauteur largeur [init]
Un boîte de dialogue password est similaire à une inputbox, excepté que le texte saisi par
l’utilisateur n’apparait pas. Cela est utile pour une invite de mot de passe ou d’autres
informations sensibles. Attention, si quelque chose est indiqué dans « init », elle apparaitra
dans la table de processus du système aux fouineurs occasionnels. Il est aussi perturbant pour les
utilisateurs de fournir ces informations avec un mot de passe par défaut qu’ils ne peuvent voir.
Pour ces raisons, la non-utilisation de « init » est fortement préconisée. Consulter
« --insecure » si vous ne vous préoccupez pas de votre mot de passe.
Lors de l’abandon, la chaine d’entrée sera écrite dans la sortie de dialog.
--passwordform texte haut larg haut_form [ libellé y x item y x larg_form larg_entrée ] ...
C’est identique à --form excepté que tous les champs textuels sont traités comme des composants
graphiques password plutôt que comme des composants graphiques inputbox.
--prgbox texte commande hauteur largeur
--prgbox commande hauteur largeur
Une prgbox est très similaire à une programbox.
La boîte de dialogue est utilisée pour afficher la sortie de la commande spécifiée comme argument
de prgbox.
Après la fin de l’exécution des commandes, l’utilisateur peut appuyer sur la touche Entrée de
façon que dialog quitte et que le script appelant continue ses opérations.
Si quatre paramètres sont fournis, le texte est affiché sous le titre, délinéé du contenu défilant
de fichier. Si trois paramètres sont fournis, ce texte est omis.
--programbox texte hauteur largeur
--programbox hauteur largeur
Une boîte de dialogue programbox est très similaire à une boîte progressbox. Leur seule différence
est que la boîte de dialogue programbox affiche un bouton « OK » (mais seulement après la fin de
l’exécution de la commande).
Cette boîte de dialogue est utilisée pour afficher la sortie d’une commande. Après la fin de
l’exécution de la commande, l’utilisateur peut appuyer sur la touche Entrée de façon que dialog
abandonne et que le script appelant continue ses opérations.
Si trois paramètres sont fournis, le texte est affiché sous le titre, délinéé du contenu défilant
de fichier. Si deux paramètres sont fournis, ce texte est omis.
--progressbox texte hauteur largeur
--progressbox hauteur largeur
Une boîte de dialogue progressbox est similaire à une boîte tailbox, excepté que :
a) plutôt que d’afficher le contenu d’un fichier,
elle affiche la sortie tubée d’une commande et ;
b) elle abandonne lorsque la fin du fichier est atteinte
(il n’y a pas de bouton « OK »).
Si trois paramètres sont fournis, le texte est affiché sous le titre, délinéé du contenu défilant
de fichier. Si deux paramètres sont fournis, ce texte est omis.
--radiolist texte hauteur largeur hauteur_liste [ étiquette item état ] ...
Une boîte de dialogue radiolist est similaire à une boîte menu. La seule différence est que
l’entrée sélectionnée est indiquée en définissant son état à on.
Lors de l’abandon, l’étiquette de l’item sélectionné est écrite dans la sortie de dialog.
--rangebox texte hauteur largeur val_mini val_max val_défaut
Cette boîte de dialogue permet à l’utilisateur de choisir parmi une plage de valeurs, par exemple,
en utilisant un curseur de défilement. La boîte de dialogue affiche la valeur actuelle dans une
barre de défilement (comme la boîte de dialogue gauge). Les touches Tab et de flèches déplacent le
curseur entre les boutons et la valeur. Quand le curseur est sur la valeur, celle-ci peut être
éditée en utilisant :
un mouvement de curseur droite/gauche pour sélectionner un chiffre à modifier ;
les touches +/-
pour augmenter ou diminuer le chiffre par pas de un ;
les touches 0 à 9
pour définir le chiffre à une certaine valeur.
Quelques touches agissent aussi dans toutes les positions du curseur :
Début/Fin
réglage de la valeur au maximum ou au minimum ;
Page haut/Page bas
incrémentation de la valeur de façon que le curseur de défilement se déplace d’une colonne.
--tailbox fichier hauteur largeur
Affichage du texte d’un fichier dans une boîte de dialogue, de la même façon que la commande
« tail -f ». Défilement gauche/droite avec les touches « h » et « l » dans le style de vi ou avec
les touches de flèche. « 0 » réinitialise le défilement.
Lors de l’abandon, aucun texte n’est écrit sur la sortie de dialog. Seul un bouton « OK » est
fourni, mais un code de retour ESC peut être renvoyé.
--tailboxbg fichier hauteur largeur
Affichage du texte d’un fichier dans une boîte de dialogue comme une tâche en arrière-plan, de la
même façon que la commande « tail -f & ». Défilement gauche/droite avec les touches « h » et « l »
dans le style de vi ou avec les touches de flèche. « 0 » réinitialise le défilement.
dialog traite la tâche d’arrière-plan de manière spéciale si d’autres composants graphiques sont
présents (--and-widget) sur l’écran en même temps. Jusqu’à leur fermeture (par exemple, avec
« OK »), dialog exécute tous les composants graphiques tailboxbg dans le même processus,
interrogeant continuellement pour les mises à jour. La touche Tab peut être utilisée pour aller
d’un composant graphique à l’autre sur l’écran et les fermer individuellement, par exemple, en
appuyant sur Entrée. Une fois que les composants graphiques non-tailboxbg sont fermés, dialog crée
une copie de lui-même en arrière-plan et écrit son identifiant de processus si l’option
« --no-kill » est fournie.
Lors de l’abandon, aucun texte n’est écrit sur la sortie de dialog. Un bouton « EXIT » est
seulement fourni comme entrée, mais un code de retour ESC peut être renvoyé.
Remarque : les anciennes versions de dialog fourchaient immédiatement et essayaient de mettre à
jour l’écran individuellement. En plus d’être mauvais pour les performances, cela n’était pas
pratique. Certains anciens scripts peuvent ne pas fonctionner correctement avec le schéma
d’interrogation continuelle.
--textbox fichier hauteur largeur.
Une boîte de dialogue textbox permet d'afficher le contenu d'un fichier texte dans une boîte de
dialogue. C'est comme un simple afficheur de fichier texte. L'utilisateur peut se déplacer dans le
fichier en utilisant le curseur, les touches page haut/bas et les touches Début/Fin disponibles
sur la plupart des claviers. Si les lignes sont trop longues pour pouvoir être affichées dans la
boîte, les touches Droite/Gauche peuvent être utilisées pour faire défiler le texte
horizontalement. Les touches de style vi, h, j, k et l peuvent être utilisées au lieu des touches
de curseur, et B et N au lieu des touches du déplacement par page. Les touches de style vi « k »
et « j » ou les touches fléchées peuvent être utilisées pour le défilement vertical, et les
touches de style vi « h » et « l » ou les touches fléchées pour le défilement horizontal. Un « 0 »
réinitialise le défilement gauche/droite. Pour plus de commodité, le style vi de recherche avant
ou arrière est aussi utilisable.
Lors de l’abandon, aucun texte n’est écrit sur la sortie de dialog. Un bouton « EXIT » est
seulement fourni comme entrée, mais un code de retour ESC peut être renvoyé.
--timebox texte hauteur [largeur heure minute seconde]
Une boîte de dialogue est affichée permettant de sélectionner l’heure, les minutes et les
secondes. Si les valeurs d’heure, de minute ou de seconde sont absentes ou négatives, les valeurs
correspondantes du moment actuel sont utilisées. Ces valeurs peuvent être incrémentées ou
décrémentées en utilisant les flèches haut, bas, gauche ou droite. Les touches Tab ou Shift+Tab
permettent de changer de fenêtre.
Lors de l’abandon, le résultat est écrit sous la forme heure:minute:seconde. Ce format peut être
outrepassé en utilisant l’option --time-format.
--treeview texte hauteur largeur hauteur_liste [ étiquette item état profondeur ] ...
Affichage arborescent des données. Chaque groupe de données contient une étiquette, le texte à
afficher pour l’item, son état (« on » ou « off ») et la profondeur de l’item dans l’arbre.
Un seul item peut être sélectionné (comme pour radiolist). L’étiquette n’est pas affichée.
Lors de l’abandon, l’étiquette de l’item sélectionné est écrite dans la sortie de dialog.
--yesno texte hauteur largeur
Une boîte de dialogue yesno de taille hauteur lignes par largeur colonnes est affichée. La chaîne
indiquée par texte est affichée dans la boîte de dialogue. Si cette chaîne est trop longue pour
tenir sur une ligne, elle sera automatiquement divisée en plusieurs lignes aux emplacements
appropriés. La chaîne texte peut aussi contenir des sous-chaînes \n ou des caractères de nouvelle
ligne `\n' pour contrôler les ruptures de ligne explicitement. Cette boîte de dialogue est utile
pour poser des questions qui nécessitent une réponse de l'utilisateur par oui ou non. La boîte de
dialogue a un bouton Yes et un bouton No que l'utilisateur peut sélectionner à l’aide de la touche
Tab.
Lors de l’abandon, aucun texte n’est écrit dans la sortie de dialog. En plus des codes de retour
« Yes » et « No » (voir DIAGNOSTICS), un état de sortie ESC peut être renvoyé.
Les codes utilisés pour « Yes » et « No » correspondent à ceux utilisés pour « OK » et
« Annuler ». Aucune distinction n’est faite en interne.
Options obsolètes
--beep Cette option était utilisée par le cdialog originel pour produire un bip sonore quand des
processus distincts du composant graphique tailbox rafraichissaient l’écran.
--beep-after
Bip après que l’utilisateur a abandonné un composant graphique en appuyant sur un des boutons.
Options d’espaces blancs
Ces options peuvent être utilisées pour transformer les espaces blancs (espace, tabulation, nouvelle
ligne) lorsque dialog lit le script :
--cr-wrap, --no-collapse, --no-nl-expand et --trim
Les options ne sont pas indépendantes :
• dialog vérifie si le script contient au moins un « \n » et (sauf si --no-nl-expand est indiqué)
ignorera les options --no-collapse et --trim ;
• après la vérification pour « \n » et l’option --no-nl-expand, dialog prend en charge l’option
--trim ;
si l’option --trim entre en compte, alors dialog ignore l’option --no-collapse. Il change les
séquences de tabulations, d’espaces (et de fins de ligne sauf si -cr-wrap est indiqué) en une espace
unique ;
• si les cas « \n » ou --trim n’entrent en compte, dialog recherche l’option --no-collapse pour décider
ou non de réduire les séquences de tabulations et d’espaces en une espace unique.
Dans ce cas, dialog ignore l’option --cr-wrap et ne modifie pas les fins de ligne.
En prenant en compte ces dépendances, voici une table résumant le comportement pour les diverses
combinaisons d’options. La table suppose que le script contient au moins un « \n » quand l’option
--no-nl-expand n’est pas indiquée.
cr- no- no- trim Résultat
wrap collapse nl-expand
───────────────────────────────────────────────────────────────────
non non non non Conversion tabulation en
espace. Conversion fin de
ligne en espace. Conversion «
\n » en fin de ligne.
non non non oui Conversion tabulation en
espace. Conversion fin de
ligne en espace. Conversion «
\n » en fin de ligne.
non non oui non Conversion tabulation en
espace. Pas de conversion de
fin de ligne en espace.
Conversion de plusieurs
espaces en une. Affichage des
« \n » littéralement.
non non oui oui Conversion tabulation en
espace. Conversion de
plusieurs espaces en une.
Conversion fin de ligne en
espace. Affichage des « \n »
littéralement.
non oui non non Conversion fin de ligne en
espace. Conversion « \n » en
fin de ligne.
non oui non oui Conversion fin de ligne en
espace. Conversion « \n » en
fin de ligne.
non oui oui non Non conversion de fin de
ligne en espace. Non
réduction de plusieurs
blancs. Affichage des « \n »
littéralement.
non oui oui oui Conversion plusieurs espaces
en une seule. Conversion de
fin de ligne en espace.
Affichage des « \n »
littéralement.
oui non non non Conversion tabulation en
espace. Repli aux fins de
ligne. Conversion « \n » en
fin de ligne.
oui non non oui Conversion tabulation en
espace. Repli aux fins de
ligne. Conversion « \n » en
fin de ligne.
oui non oui non Conversion tabulation en
espace. Pas de conversion de
fin de ligne en espace.
Conversion de plusieurs
espaces en une. Affichage des
« \n » littéralement.
oui non oui oui Conversion tabulation en
espace. Conversion plusieurs
espaces en une seule. Repli
aux fins de ligne. Affichage
des « \n » littéralement.
oui oui non non Repli aux fins de ligne.
Conversion « \n » en fin de
ligne.
oui oui non oui Repli aux fins de ligne.
Conversion « \n » en fin de
ligne.
oui oui oui non Non conversion de fin de
ligne en espace. Non
réduction de plusieurs
blancs. Affichage des « \n »
littéralement.
oui oui oui oui Conversion plusieurs espaces
en une seule. Repli aux fins
de ligne. Affichage des « \n
» littéralement.
CONFIGURATION D’ENVIRONNEMENT D’EXÉCUTION
1. Créer un exemple de fichier de configuration en saisissant :
dialog --create-rc fichier
2. Au démarrage, dialog détermine les réglages à utiliser comme suit :
a) si la variable d’environnement DIALOGRC est définie, sa valeur détermine le nom du fichier de
configuration ;
b) si le fichier du (a) n’est pas trouvé, utilisation du fichier $HOME/.dialogrc comme fichier de
configuration ;
c) si le fichier du (b) n’est pas trouvé, essai d’utilisation du fichier GLOBALRC lors de la
compilation, c’est-à-dire /etc/dialogrc ;
d) si le fichier dans (c) n’est pas trouvé, utilisation des paramètres compilés par défaut.
3. Éditer l’exemple de fichier de configuration et copier-le à un emplacement pouvant être trouvé par
dialog comme indiqué dans la deuxième étape ci-dessus.
RACCOURCIS CLAVIER
Il est possible d’outrepasser ou d’ajouter des raccourcis de clavier dans dialog en les ajoutant dans le
fichier de configuration. La commande bindkey de dialog mappe chaque touche à son codage interne.
bindkey composant_graphique touche_curses touche_dialog
Le nom de composant_graphique peut être « * » (tous les composants graphiques) ou des composants
graphiques particuliers tels que textbox. Les mappages d’un composant graphique particulier outrepassent
les mappages « * ». Les mappages définis par l’utilisateur outrepassent les mappages internes de dialog.
Les touche_curses peuvent être exprimées de différentes façons :
• Cela peut être n’importe quel nom dérivé de curses.h, par exemple, « HELP » de « KEY_HELP ».
• dialog reconnait aussi les caractères de contrôle ANSI tels que « ^A », « ^? », ainsi que les
contrôles C1 tels que « ~A » et « ~? ».
• finalement, dialog permet les protections par contre-obliques comme dans C. Cela peut être des
valeurs octales de caractère telles que « \033 » (le caractère d’échappement ASCII), ou les
caractères listés dans cette table :
Protégé Réel
─────────────────────────────────────────
\b espace arrière
\f saut de page (« form feed ») ;
\n fin de ligne (nouvelle ligne)
\r retour chariot
\s espace
\t tabulation
\^ « ^ » (caret)
\? « ? » (point d’interrogation)
\\ « \ » (contre-oblique)
─────────────────────────────────────────
Les noms de code de touche internes de dialog correspondent au type DLG_KEYS_ENUM dans dlg_keys.h, par
exemple, « HELP » de « DLGK_HELP ».
Noms de composant graphique
Certains composants graphiques (tel formbox) ont une zone où les champs peuvent être édités. Ceux-ci sont
gérés dans une sous-fenêtre du composant graphique, et peuvent avoir des raccourcis de clavier différents
de ceux du composant graphique principal parce que les sous-fenêtres sont enregistrées sous un nom
différent.
Composant graphique Nom de fenêtre Nom de sous-fenêtre
───────────────────────────────────────────────────────────
calendar calendar
checklist checklist
editbox editbox editbox2
form formbox formfield
fselect fselect fselect2
inputbox inputbox inputbox2
menu menubox menu
msgbox msgbox
pause pause
progressbox progressbox
radiolist radiolist
tailbox tailbox
textbox textbox searchbox
timebox timebox
yesno yesno
───────────────────────────────────────────────────────────
Certains composants graphiques sont réellement d’autres composants graphiques, utilisant des réglages
internes pour une modification de comportement. Ceux-ci utilisent le même nom de composant graphique que
le véritable composant graphique :
Composant graphique Composant graphique réel
───────────────────────────────────────────────
dselect fselect
infobox msgbox
inputmenu menu
mixedform form
passwordbox inputbox
passwordform form
prgbox progressbox
programbox progressbox
tailboxbg tailbox
───────────────────────────────────────────────
Liaisons internes
Cette page de manuel ne liste pas les raccourcis de clavier pour chaque composant graphique parce que des
informations détaillées peuvent être obtenues en exécutant dialog. Si l’option --trace est indiquée,
dialog écrit les informations de raccourci pour chaque composant graphique lorsqu’il est déclaré.
Quelques raccourcis sont construits en interne, indépendamment de composants graphiques particuliers :
Touches But
──────────────────────────────────────────────────────────────────────────────────
Ctrl-I déplacement par tabulation avant, par exemple, avec --tailboxbg
Ctrl-L rafraichissement de l’écran
Ctrl-T copie de l’écran dans le fichier --trace
Ctrl-V suppression des touches spéciales pour l’octet d’entrée suivant
DLGK_FIELD_NEXT déplacement par tabulation avant, comme Ctrl-I
DLGK_FIELD_PREV déplacement par tabulation arrière, comme Shift-Tab
DLGK_HELPFILE affichage du fichier d’aide spécifié avec --hfile
KEY_BTAB déplacement par tabulation arrière, p. ex., avec --tailbox
──────────────────────────────────────────────────────────────────────────────────
Exemple
Normalement, dialog utilise des touches différentes pour naviguer entre les boutons et la partie édition
d’un dialogue par rapport à la navigation dans la partie édition. C’est-à-dire que la touche Tab (et
Shift-Tab) parcourt les boutons (ou les boutons et la partie édition) tandis que les touches de flèches
parcourent les champs de la partie édition. La touche Tab est aussi reconnue comme cas spécial pour
parcourir les composants graphiques, par exemple, quand plusieurs composants graphiques tailboxbg sont
employés.
Certains utilisateurs peuvent souhaiter utiliser la même touche pour parcourir la partie édition et les
boutons. Le composant graphique form a été écrit pour prendre en charge cette sorte de redéfinition de
touches en ajoutant un groupe spécial dans dlgk_keys.h pour « form » (gauche/droite/suivant/précédent).
Voici un exemple de mappage montrant comment faire :
bindkey formfield TAB form_NEXT bindkey formbox TAB form_NEXT bindkey
formfield BTAB form_prev bindkey formbox BTAB form_prev
Ce type de redéfinition ne devrait pas être utile pour d’autres composants graphiques, par exemple,
calendar, à cause du nombre potentiellement important de champs à parcourir.
CODE DE RETOUR
Le code de retour est susceptible d’être outrepassé par les variables d’environnement. Les valeurs par
défaut et les valeurs correspondantes de variable d’environnement pouvant outrepasser ce code sont :
0 si les boutons YES ou OK sont pressés (DIALOG_OK) ;
1 si les boutons No ou Cancel sont pressés (DIALOG_CANCEL) ;
2 si le bouton Help est pressé (DIALOG_HELP),
sauf dans le cas décrit ci-après à propos de DIALOG_ITEM_HELP ;
3 si le bouton Extra est pressé (DIALOG_EXTRA) ;
4 si le bouton Help est pressé,
l’option --item-help est définie
et la variable d’environnement DIALOG_ITEM_HELP est réglée à 4.
Bien que tous les codes de retour puissent être outrepassés en utilisant des variables
d’environnement, ce cas spécial a été introduit en 2004 pour simplifier la compatibilité. dialog
utilise DIALOG_ITEM_HELP (4) en interne, mais à moins que la variable d’environnement soit aussi
définie, il change cela en DIALOG_HELP (2) lors de l’abandon ;
5 si un délai expire et que la variable DIALOG_TIMEOUT est définie à 5 ;
-1 si une erreur se produit dans dialog (DIALOG_ERROR) ou que dialog abandonne parce que la touche ESC
(DIALOG_ESC) est pressée.
ENVIRONNEMENT
DIALOGOPTS Cette variable est à définir pour appliquer toutes les options communes à chaque composant
graphique. La plupart de ces options sont réinitialisées avant de traiter chaque composant
graphique. Si ces options sont définies dans cette variable d’environnement, elles sont
appliquées dans l’état de dialog après la réinitialisation. Comme dans l’option
« --file », les guillemets droits doubles et les contre-obliques sont interprétés.
L’option « --file » n’est pas considérée comme commune (aussi, il n’est pas possible de
l’incorporer dans cette variable d’environnement).
DIALOGRC Cette variable est à définir pour indiquer le nom du fichier de configuration à utiliser.
DIALOG_CANCEL
DIALOG_ERROR
DIALOG_ESC
DIALOG_EXTRA
DIALOG_HELP
DIALOG_ITEM_HELP
DIALOG_TIMEOUT
DIALOG_OK Toutes ces variables sont à définir pour modifier le code de retour de :
• Cancel (1) ;
• error (-1) ;
• ESC (255) ;
• Extra (3) ;
• Help (2) ;
• Help avec --item-help (2) ;
• Timeout (5), ou ;
• OK (0).
Normalement, les scripts d’interpréteur de commandes ne peuvent faire la distinction entre
-1 et 255
DIALOG_TTY Cette variable est à régler à « 1 » pour fournir la compatibilité avec les anciennes
versions de dialog, qui assume que si le script redirige la sortie standard, l’option
« --stdout » est indiquée.
FICHIERS
$HOME/.dialogrc fichier de configuration par défaut.
PORTABILITÉ
dialog fonctionne avec curses X/Open. Cependant, certaines implémentations ont des lacunes :
• Curses d’HPUX (et peut-être d’autres) n’ouvre pas le terminal proprement pour la fonction newterm.
Cela interfère avec l’option --input-fd de dialog en empêchant les touches de curseur et des
séquences d’échappement similaires d’être reconnues.
• Curses de NetBSD 5.1 prend en charge incomplètement les caractères larges. dialog pourra être
construit, mais tous les exemples ne seront pas affichés correctement.
COMPATIBILITÉ
Vous voulez peut-être écrire des scripts qui fonctionnent avec d’autres « clones » de dialog
Dialog originel
En premier, considérons le programme dialog « originel » (versions 0.3 à 0.9). Il a des options mal
écrites (ou incohérentes). Le programme dialog mappe ces options obsolètes à celles privilégiées. Cela
inclut :
Option Traitement
───────────────────────────────
--beep-after ignoré
--guage mappé à --gauge
───────────────────────────────
Xdialog
C’est une application X plutôt qu’un programme de terminal. En prenant quelques précautions, il est
possible d’écrire des scripts utiles qui fonctionnent avec Xdialog et dialog.
Le programme dialog ignore ces options qui sont reconnues par Xdialog :
Option Traitement
─────────────────────────────────────────────
--allow-close ignoré
--auto-placement ignoré
--fixed-font ignoré
--icon ignoré
--keep-colors ignoré
--no-close ignoré
--no-cr-wrap ignoré
--screen-center ignoré
--separator mappé à --separate-output
--smooth ignoré
--under-mouse ignoré
--wmclass ignoré
─────────────────────────────────────────────
La page de manuel d’Xdialog a une section détaillant cette compatibilité avec dialog. Quelques
différences ne sont pas notées dans cette page. Par exemple, la documentation HTML stipule :
Note : les publications précédentes d’Xdialog utilisaient « \n » (nouvelle ligne) comme séparateur
de résultats pour le composant graphique checklist. Cela a été changé en « / » dans la
version 1.50 d’Xdialog pour être compatible avec (c)dialog. Dans des anciens scripts utilisant la
boîte checklist d’Xdialog, l’option --separate-output doit être ajoutée avant l’option
--checklist.
dialog n’a pas utilisé d’autre séparateur. La différence était probablement due à une confusion
concernant certains scripts.
Whiptail
Il existe whiptail. Dans la pratique, il est entretenu par Debian (très peu de travail est réalisé par
les développeurs amont). Sa documentation (README.whiptail) affiche :
whiptail(1) est un remplaçant léger pour dialog(1) pour fournir des
boîtes de dialogue pour des scripts d’interpréteur de commandes. Il est
construit sur la bibliothèque de fenêtrage newt plutôt que sur la
bibliothèque ncurses, permettant d’être plus petit dans des environnements
embarqués tels que les installateurs, les disques de récupération, etc.
whiptail est conçu pour être un remplaçant prêt à l’emploi et compatible
avec dialog, mais il possède moins de fonctionnalités telles que tailbox,
timebox, calendarbox, etc.
En comparant les tailles réelles (Debian testing, 2007/1/10), la taille cumulée pour whiptail et les
bibliothèques newt, popt et slang est 757 Ko. La taille comparable pour dialog (en comptant aussi
ncurses) est 520 Ko, contredisant le premier paragraphe.
Le second paragraphe est trompeur puisque whiptail ne fonctionne pas pour les options communes de dialog
telle que la boîte de dialogue gauge. whiptail est moins compatible avec dialog que le programme
dialog 0.4 originel du milieu des années 1990.
La page de manuel de whiptail emprunte des fonctionnalités de dialog, par exemple, mais curieusement cite
les versions de dialog jusqu’à la version 0.4 (1994) comme source. C’est-à-dire que sa page de manuel se
réfère à des fonctionnalités qui étaient empruntées de versions plus récentes de dialog, par exemple :
• --gauge (de 0.5) ;
• --passwordbox (des modifications de Debian en 1999) ;
• --default-item (de dialog 22/02/2000) ;
• --output-fd (de dialog 14/08/2002).
Debian utilise whiptail pour la variante officielle de dialog.
Le programme dialog ignore ou mappe ces options qui sont reconnues par whiptail :
Option Traitement
─────────────────────────────────────────
--cancel-button mappé à --cancel-label
--fb ignoré
--fullbutton ignoré
--no-button mappé à --no-label
--nocancel mappé à --no-cancel
--noitem mappé à --no-items
--notags mappé à --no-tags
--ok-button mappé à --ok-label
--scrolltext mappé à --scrollbar
--topleft mappé à --begin 0 0
--yes-button mappé à --yes-label
─────────────────────────────────────────
Il y a des différences de présentation qui ne sont pas corrigées par des options de ligne de commande :
• dialog centre la liste dans la fenêtre. whiptail typiquement dispose les listes contre la marge
gauche ;
• whiptail utilise des chevrons « < » et « > » pour le marquage des boutons. dialog utilise des
crochets ;
• whiptail marque les limites des sous-titres avec des barres verticales. dialog ne marque pas les
limites ;
• whiptail essaie de marquer les cellules basse et haute d’une barre de défilement avec des flèches
haut et bas. Quand il ne peut le faire, il remplit ces cellules avec la couleur d’arrière-plan et
c’est déroutant pour l’utilisateur. dialog utilise l’espace en entier de la barre de défilement, par
la même fournissant une meilleure résolution.
BOGUES
Peut-être.
EXEMPLES
Les sources de dialog contiennent plusieurs exemples sur la manière d’utiliser les différentes options
des boîtes de dialogue et à quoi celles-ci ressemblent. Jetez un œil dans le répertoire samples/ du
source.
AUTEURS
Thomas E. Dickey (mises à jour à partir de la version 0.9b).
Kiran Cherupally – composants graphiques mixedform et mixedgauge.
Tobias C. Rittweiler
Valery Reznic – composants graphiques form et progressbox.
Yura Kalinichenko a adapté le composant graphique de jauge ainsi que « pause ».
Il s’agit d’une réécriture (sauf en cas de raison de compatibilité) de la version de dialog 0.9a qui
liste les auteurs :
• Savio Lam – version 0.3, « dialog » ;
• Stuart Herbert – correctif pour la version 0.4 ;
• Marc Ewing – composant graphique de jauge ;
• Pasquale De Marco (Pako) – version 0.9a, « cdialog ».
TRADUCTION
La traduction française de cette page de manuel a été créée par Gérard Delafond et Jean-Paul Guillonneau
<guillonneau.jeanpaul@free.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License
version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.
1 janvier 2024 DIALOG()