dialog – Afficher des boîtes de dialogue
à partir de scripts d’interpréteur de commandes
dialog --clear
dialog --create-rc fichier
dialog --print-maxsize
dialog options_communes options_boîte
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.
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.
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 ».
- 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
- 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 :
- À 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 ».
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.
- 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>
- 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 :
- 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.
- --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.
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. |
- 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.
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 ».
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 |
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 |
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.
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.
- 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_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.
- $HOME/.dialogrc
- fichier de configuration par défaut.
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.
Vous voulez peut-être écrire des scripts qui
fonctionnent avec d’autres « clones » de
dialog
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 |
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.
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.
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.
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 ».
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.