DIALOG() Commandes de l'utilisateur DIALOG() NOM dialog - Afficher des boites de dialogue a partir de scripts d'interpreteur de commandes SYNOPSIS dialog --clear dialog --create-rc fichier dialog --print-maxsize dialog options_communes options_boite DESCRIPTION Dialog est un programme qui permet de presenter une grande variete de questions ou d'afficher des messages en utilisant des boites de dialogue depuis un script d'interpreteur de commandes. Ces types de boite de dialogue sont implementes (bien que tous ne soient pas necessairement compiles 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 boites de dialogue peuvent etre mises dans un script : o utiliser l'indicateur --and-widget pour forcer dialog a traiter le dialogue suivant a moins d'avoir appuye sur ESC pour annuler, ou ; o ajouter simplement les indications pour la boite de dialogue suivante, realisant ainsi une chaine. dialog cesse l'enchainement quand le code de retour est different de zero, par exemple, Annuler ou Non (voir DIAGNOSTICS). Certains composants graphiques, par exemple, checklist, ecrivent 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 ecrit si le bouton Annuler (ou ESC) est presse, dialog abandonne immediatement dans ce cas. OPTIONS Toutes les options commencent par << -- >> (deux tirets ASCII, pour ceux qui utilisent des systemes avec une prise en charge de la locale incomplete). Un << -- >> par lui-meme est utilise comme echappement, c'est-a-dire, l'indication suivante sur la ligne de commande n'est pas traitee comme une option. Cela est different de getopt(1) qui utilise cette indication pour traiter les indications suivantes comme parametres plutot que comme options. dialog --title -- --Pas une option dialog --title Cela -- --titre n'est pas une option dialog n'utilise pas de parametres et utilise son propre analyseur d'options. Quand une option commune (par exemple, qui n'est pas un composant graphique) est repetee, la derniere option rencontree est celle utilisee. Les options booleennes sont gerees specialement de facon a pouvoir etre annulees en ajoutant (ou en omettant) un modificateur << no >> apres le << -- >> de debut. Par exemple, --no-shadow est documentee ici, mais --shadow est aussi acceptee. L'option << --args >> indique a dialog de lister les parametres de la ligne de commande sur la sortie d'erreur standard. Cela est utile pour le debogage de scripts complexes en utilisant << -- >> et << --file >> puisque la ligne de commande peut etre reecrite lors de leur developpement. L'option << --file >> indique a dialog de lire les parametres depuis le fichier indique. dialog --file fichier_parametre Les blancs non entoures de guillemets droits doubles sont ignores (utiliser des contre-obliques pour mettre entre guillemets des caracteres uniques). Le resultat est insere dans la ligne de commande, remplacant << --file >> et sa valeur d'option. L'interpretation de la ligne de commande continue a partir de ce point. Si fichier_parametre commence avec << & >>, dialog interprete le texte qui suit comme un numero de descripteur de fichier plutot que comme un nom de fichier. La plupart des composants graphiques acceptent des parametres hauteur et largeur qui peuvent etre utilises pour dimensionner automatiquement le composant graphique pour s'adapter aux valeurs de message multiligne d'invite : o si le parametre est negatif, dialog utilise la taille de l'ecran ; o si le parametre est zero, dialog utilise la taille minimale du composant graphique pour afficher l'invite et les donnees ; o autrement, dialog utilise la taille indiquee du composant graphique. Options courantes La plupart des options communes sont reinitialisees avant de traiter chaque composant graphique. --ascii-lines Plutot que de dessiner des lignes autour des boites, dessiner des << + >> et des << - >> ASCII aux memes emplacements (voir aussi << --no-lines >>). --aspect ratio Cette option permet un certain controle des dimensions de la boite lors de l'utilisation du dimensionnement automatique (en specifiant 0 pour la hauteur et la largeur). Elle represente le rapport hauteur/largeur. La valeur par defaut est 9, ce qui signifie une largeur de 9 caracteres pour chaque hauteur de ligne. --backtitle titre_fond Indication d'une chaine titre_fond pour un affichage en arriere-plan en haut de l'ecran. --begin y x Indication de la position du coin superieur gauche de la boite de dialogue sur l'ecran. --cancel-label chaine Remplacement du libelle utilise pour les boutons << Annulation >>. --clear Effacement de l'ecran du composant graphique, conservant uniquement la couleur d'arriere-plan. Cette option est a utiliser lors d'une combinaison de composants graphiques avec << --and-widget >> pour effacer le contenu du composant graphique precedent sur l'ecran de facon a ce qu'il n'apparaisse pas dans le contenu d'un composant graphique suivant. Cette option est a considerer comme un complement 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 troisieme 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 reintegrer le curseur apres la fin du programme dialog, utiliser la commande clear(1). Inversement, pour effacer l'ecran et reintegrer le curseur au bas gauche apres 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 fonctionnalite. --colors Interpretation des sequences << \Z >> imbriquees dans la boite de dialogue par le caractere qui suit pour indiquer a dialog de definir les attributs de couleurs et de video : o 0 a 7 sont les codes ANSI de couleur utilises dans curses, respectivement : noir, rouge, vert, jaune, magenta, cyan et blanc. o le gras est defini par << b >> et annule par << B >> ; o l'inversion est definie par << r >> et annulee par << R >> ; o le soulignement est defini par << u >> et annule par << U >> ; o les reglages sont cumulatifs, par exemple, << \Zb\Z1 >> rend le texte qui suit en rouge gras (peut-etre vif) ; o les reglages sont restaures avec << \Zn >>. --column-separator chaine Demande a dialog de diviser les donnees pour les boites radio/check et les menus lors des occurrences de la chaine indiquee et d'aligner ces donnees en colonnes. --cr-wrap Interpretation des caracteres de nouvelle ligne imbriques dans le texte du dialogue comme de nouvelles lignes sur l'ecran. Autrement, dialog repliera les lignes ou cela est necessaire pour rentrer dans la boite de texte. Meme s'il est possible de controler les changements de ligne avec cela, dialog replie toute ligne trop longue pour tenir dans la boite. Sans l'option cr-wrap, la disposition du texte peut etre formatee joliment dans le code source du script sans affecter la maniere dont il apparaitra dans la boite de dialogue. La fonctionnalite cr-wrap est mise en oeuvre sous les conditions suivantes : o la chaine contient << \n >> et l'option --no-nl-expand n'est pas utilisee ; o ou l'option --trim est utilisee. Pour plus d'informations, consulter Options d'espaces blancs. --create-rc fichier Si dialog gere la configuration d'environnement d'execution, cette option peut etre utilisee pour copier un fichier d'exemple de configuration dans le fichier indique par fichier. --cursor-off-label Placement du curseur du terminal a la fin du bouton plutot que sur le premier caractere du libelle du bouton. Cela est utile pour reduire la confusion visuelle quand la couleur du bouton se differencie peu de celle du son libelle. --date-format format Si l'hote prend en charge strftime, cette option permet de preciser le format de la date affichee dans le composant graphique --calendar. Le moment du jour (heure, minute, seconde) est au temps local actuel. --defaultno Reglage de la valeur par defaut de la boite yes/no a No. De meme, traiter le bouton par defaut 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 defaut toujours << Yes >> (de meme pour << OK >>). --default-button chaine Reglage du bouton (preselectionne) par defaut dans un composant graphique. En preselectionnant un bouton, un script rend possible l'utilisation par l'utilisateur d'une simple pression sur Entree pour executer 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 defaut. Le premier bouton affiche est determine par le composant graphique de concert avec les options << --no-ok >> et << --no-cancel >>. Si cette option n'est pas indiquee, aucun bouton n'est assigne par defaut. --default-item chaine Reglage de l'element par defaut dans une boite checklist, form ou menu. Normalement le premier item de la boite est celui par defaut. --erase-on-exit Lorsque dialog quitte, supprimer le composant graphique de dialogue en remettant l'ecran entier a sa couleur native d'arriere-plan et en placant le curseur du terminal au coin bas de gauche. --exit-label chaine Remplacement du libelle utilise pour les boutons << EXIT >>. --extra-button Afficher un bouton supplementaire entre les boutons << OK >> et << Annuler >>. Le bouton supplementaire apparait entre << Yes >> et << No >> pour le composant graphique yesno --extra-label chaine Remplacement du libelle utilise pour les boutons << Extra >>. Note : pour les composants graphiques inputmenu, la valeur par defaut est << Rename >>. --help Affichage d'un message d'aide sur la sortie standard et quitter. Le message d'aide est aussi affiche si aucune option n'est precisee ou si une option inconnue est indiquee. --help-button Affichage d'un bouton d'aide apres les boutons << OK >> et << Annuler >> dans des boites qui ont une liste d'items etiquetes (c'est-a-dire une boite checklist, radiolist, menu ou treeview). Le bouton d'aide apparait apres << Yes >> et << No >> pour le composant graphique yesno. Lors de l'abandon, le code de retour indique que le bouton Help a ete appuye. dialog ecrit aussi un message sur sa sortie apres l'etiquette << HELP >> : o si << --item-help >> est aussi indiquee, le texte d'aide de l'item est ecrit ; o autrement, l'etiquette de l'item (le premier champ) est ecrit. L'option --help-tags peut etre utilisee et/ou la variable d'environnement DIALOG_ITEM_HELP peut etre reglee pour modifier ces messages et le code de retour. Cette option peut etre utilisee pour les autres composants graphiques qui ont un bouton << OK >>, que le bouton << Annuler >> soit utilise ou non. Le code de retour et la sortie ne sont pas traites specialement pour les autres composants graphiques, le bouton d'aide est seulement un bouton supplementaire. --help-label chaine Remplacement du libelle des boutons << Help >>. --help-status Si le bouton d'aide est selectionne, les informations de checklist, radiolist ou form seront affichees apres l'information << HELP >> d'item-help. Cela peut etre utile pour reconstruire l'etat d'une checklist apres le traitement d'une requete d'aide. --help-tags Modification des messages ecrits lors de l'abandon pour --help-button en les modifiant toujours a la simple etiquette de l'item. Cette option ne modifie pas le code de retour d'abandon. --hfile fichier Affichage du fichier indique dans une textbox lorsque l'utilisateur appuie sur F1. --hline chaine Afficher la chaine indiquee centree au bas du composant graphique. --ignore Ignorance des options non reconnues par dialog. Certaines options bien connues telles que << --icon >> sont quand meme ignorees, mais c'est le meilleur choix pour la compatibilite avec d'autres implementations. --input-fd desc_de_fichier Lecture de la saisie au clavier pour le descripteur de fichier indique. La plupart des scripts de dialog lisent l'entree standard, mais le composant graphique gauge lit un tube (qui est toujours l'entree standard). Certaines configurations ne fonctionnent pas correctement quand dialog essaie de reouvrir le terminal. Cette option est a utiliser (avec un rearrangement approprie 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 securise, en affichant un asterisque pour chaque caractere. --iso-week Definition du point de depart du numero de semaine affiche dans l'option << --calendar >> selon la norme ISO-8601, qui demarre la numerotation avec la premiere semaine qui inclut un jeudi en janvier. --item-help Interpretation des donnees d'etiquette pour les boites checklist, radiolist et menu en ajoutant une colonne affichee au bas de l'ecran pour l'item actuellement selectionne. --keep-tite Lorsque construit avec ncurses, dialog verifie normalement s'il est execute dans un xterm et, dans ce cas, essaie de supprimer les chaines d'initialisation qui pourraient le faire basculer vers un ecran de remplacement. Basculer entre l'ecran normal et celui de remplacement est genant visuellement lors d'un script qui execute dialog plusieurs fois. Cette option est a utiliser pour permettre a dialog d'utiliser ces chaines d'initialisation. --keep-window Normalement quand dialog cree plusieurs composants graphiques tailboxbg connectes par << --and-widget >>, il efface l'ancien composant graphique de l'ecran par superposition. Cette option est a utiliser pour supprimer cette superposition. Lors de l'abandon, dialog superpose tous les composants graphiques qui ont ete marques avec << --keep-window >>, meme s'ils ne sont pas des composants graphiques tailboxbg. Cela fait qu'ils sont superposes en ordre inverse. Consulter les explications de l'option << --clear >> pour des exemples. --last-key Lors de l'abandon, rapport de la derniere touche appuyee. C'est le code de touche de curses plutot qu'un symbole ou un caractere litteral, et ce rapport n'est fait que pour les touches liees a une action. Cette option peut etre utilisee par des scripts pour faire la distinction entre deux touches liees a la meme action. --max-input size Limitation des chaines d'entree a une taille donnee. Si elle n'est pas indiquee, la limite est 2048. --no-cancel Suppression du bouton << Annuler >> dans les modes de boite checklist, inputbox et menu. Un script peut toujours tester si l'utilisateur appuie sur la touche ESC pour empecher l'abandon. --no-collapse Normalement, dialog convertit les tabulations en espaces et reduit plusieurs espaces a une seule pour le texte qui est affiche dans une boite de message, etc. Cette option est a utiliser pour desactiver cette fonctionnalite. Remarque : dialog repliera toujours le texte soumis aux options << --cr-wrap >> et << --trim >>. La fonctionnalite no-collapse est mise en oeuvre sous les conditions suivantes : o la chaine contient << \n >> et l'option --no-nl-expand n'est pas utilisee ; o ou l'option --trim n'est pas utilisee ; Pour plus d'informations, consulter Options d'espaces blancs. --no-hot-list Indication pour dialog de supprimer la fonctionnalite de raccourci de clavier pour les listes, par exemple, checkbox, menu. Normalement, le premier caractere en capitale d'une entree de liste sera mis en evidence, et la saisie de ce caractere deplacera le focus sur cette entree. Cette option supprime la mise en evidence et le mouvement. Les raccourcis clavier pour << OK >>, << Annuler >>, etc ne sont pas affectes. --no-items Certains composants graphiques (checklist, inputmenu, radiolist, menu) affichent une liste avec deux colonnes (<< etiquette >> et << item >>, c'est-a-dire << description >>). Cette option indique a dialog de lire des lignes plus courtes en omettant la partie << item >> de la liste. Cela est occasionnellement utile, par exemple, si les etiquettes fournissent assez d'informations. Voir aussi --no-tags. Si les deux options sont indiquees, cette derniere est ignoree. --no-kill Demande a dialog de mettre la boite tailboxbg en arriere-plan, affichant son identifiant de processus sur la sortie de dialog. SIGHUP est desactive pour le processus d'arriere-plan. --no-label chaine Outrepassement du libelle utilise pour les boutons << No >>. --no-lines Plutot que de dessiner des lignes autour de la boite, dessiner des espaces au meme endroit. Voir aussi << --ascii-lines >>. --no-mouse Desactivation de la souris. --no-nl-expand Pas de conversion des sous-chaines << \n >> du texte de message/invite en nouvelles lignes litterales. La fonctionnalite no-nl-expand est utilisee seulement si la chaine contient << \n >> de facon a avoir quelque chose a 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 << Entree >> pour accepter les donnees : o la touche << Entree >> est toujours geree comme bouton << OK >> quand l'option --no-ok est utilisee, c'est-a-dire que par defaut elle est liee a la touche virtuelle LEAVE ; quand l'option --no-ok n'est pas utilisee, la touche Tab peut etre utilisee pour deplacer le curseur a travers les champs et les boutons du composant graphique. Dans ce cas, la touche Entree active le bouton sur lequel le curseur est positionne ; o 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 defaut, ^D (EOF) est lie a cette touche. --no-shadow Suppression de l'ombrage a la droite et au bas de chaque boite de dialogue. --no-tags Certains composants graphiques (checklist, inputmenu, radiolist, menu) affichent une liste avec deux colonnes (etiquette et description). L'etiquette est utile pour des scripts mais peut ne pas aider l'utilisateur. L'option --no-tags (de Xdialog) peut etre utilisee pour supprimer de l'affichage la colonne d'etiquettes. Au contraire de l'option --no-items, cela n'affecte pas les donnees lues a partir du script. Xdialog n'affiche pas la colonne d'etiquettes pour les composants graphiques analogues buildlist et treeview. dialog fait de meme. Normalement, dialog permet un deplacement rapide entre les entrees de la liste affichee en etablissant une correspondance a un seul caractere avec le premier caractere de l'etiquette. Quand l'option --no-tags est indiquee, dialog etablit la correspondance avec le premier caractere de la description. Dans tous les cas, le caractere utilise comme correspondance est mis en evidence. --ok-label chaine Outrepassement du libelle utilise pour les boutons << OK >>. --output-fd desc_de_fichier Ecriture de la sortie dans le descripteur de fichier indique. La plupart des scripts de dialog ecrivent sur la sortie standard d'erreur, mais les messages d'erreur peuvent etre ecrits ici selon l'indication du script. --separator chaine --output-separator chaine Specification d'une chaine separant la sortie lors d'une sortie de dialog a partir de checklists, a la place d'une nouvelle ligne (pour --separate-output) ou d'une espace. Cette option s'applique a d'autres composants graphiques tels que form et editbox qui normalement utilisent une nouvelle ligne. --print-maxsize Affichage de la taille maximale des boites de dialogue , c'est-a-dire la taille de l'ecran, pour la sortie de dialog. Cela peut etre utilise seul sans autres options. --print-size Affichage de la taille de chaque boite de dialogue sur la sortie de dialog lors de l'initialisation de la boite. --print-text-only chaine [ hauteur [ largeur ] ] Affichage de la chaine telle qu'elle serait repliee dans une boite de message dans la sortie de dialog. A cause des valeurs facultatives par defaut de hauteur et largeur a zero, si elles sont omises, dialog definit automatiquement la taille a celle de l'ecran. --print-text-size chaine [ hauteur [ largeur ] ] Affichage de la taille de la chaine telle qu'elle serait repliee dans une boite de message dans la sortie de dialog sous la forme : hauteur largeur A cause des parametres facultatifs par defaut de hauteur et largeur a zero, s'ils sont omis, dialog definit automatiquement la taille a celle de l'ecran. --print-version Affichage de la version de dialog dans la sortie de dialog. Cette option peut etre utilisee seule sans autres options et ne provoque pas que dialog quitte de lui-meme. --quoted Normalement, dialog met entre guillemets droits les chaines renvoyees par les checklist ainsi que le texte d'item-help. Cette option est a utiliser pour mettre entre guillemets tous les resultats de chaine si necessaire (c'est-a-dire si la chaine contient un caractere d'espace blanc ou de guillemet droit simple ou double). --reorder Par defaut, le composant graphique buildlist utilise le meme ordre pour la sortie (droite) que pour l'entree (gauche). Cette option est a utiliser pour indiquer a dialog l'ordre dans lequel un utilisateur ajoute des selections dans la liste de sortie. --scrollbar Pour les composants graphiques possedant un liste deroulante de donnees, dessin d'une barre de defilement sur la marge droite, non manipulable avec la souris. --separate-output Pour certains composants graphiques (buildlist, checklist, treeview), production du resultat une ligne a la fois, sans guillemets. Cela facilite l'analyse par un autre programme. --separate-widget chaine Specification d'une chaine separant la sortie dans la sortie de dialog de chaque composant graphique. Cette option est utilisee pour simplifier l'analyse du resultat d'une boite de dialogue ayant plusieurs composants graphiques. Si cette option n'est pas specifiee, par defaut la chaine de separation est le caractere de tabulation. --single-quoted Utilisation de guillemets droits simples si c'est necessaire (pas de guillemets autrement) pour la sortie du texte d'une checklist ou de item-help. Si cette option n'est pas specifiee, 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'interpreteur de commandes. Des guillemets droits simples peuvent etre necessaires si la chaine contient des caracteres d'espace blanc ou des guillemets droits doubles ou simples. --size-err Verification de la taille resultante de la boite de dialogue avant de l'utiliser et son affichage si elle est superieure a celle de l'ecran (cette option est obsolete puisque tous les appels new-window sont verifies). --sleep secs Mise en veille (delai) du nombre de secondes indiques apres le traitement d'une boite de dialogue. --stderr Sortie directe sur la sortie standard d'erreur. C'est le comportement par defaut puisque curses ecrit normalement les mises a jour d'ecran sur la sortie standard. --stdout Sortie directe sur la sortie standard. Cette option est fournie pour la compatibilite avec Xdialog. Cependant, l'utiliser dans des scripts portables n'est pas recommande puisque curses ecrit normalement les mises a jour d'ecran sur la sortie standard. Si cette option est utilisee, dialog essaie de reouvrir le terminal pour ecrire sur l'ecran. En fonction de la plateforme et de l'environnement, cela peut echouer. --tab-correct Conversion de chaque caractere de tabulation en une ou plusieurs espaces (pour le composant graphique textbox, autrement une seule espace). Sinon les tabulations sont rendues selon l'interpretation de la bibliotheque curses. L'option --no-collapse desactive cette expansion. --tab-len n Specification du nombre d'espaces que le caractere de tabulation occupe si l'option << --tab-correct >> est indiquee. La valeur par defaut est huit. Cette option est seulement effective pour le composant graphique textbox. --time-format format Si l'hote prend en charge strftime, cette option permet de preciser le format de l'heure affichee par le composant graphique --timebox. Les valeurs du jour, du mois et de l'annee sont dans ce cas celles locales. --timeout secs Delai en secondes en cas de non-reponse de l'utilisateur. Un delai de zero seconde est ignore. Normalement, le delai fait qu'un caractere ESC est entre dans le composant graphique en cours et l'annule. D'autres composants graphiques peuvent toujours etre sur l'ecran et ne sont pas annules. Definir la variable d'environnement DIALOG_TIMEOUT pour indiquer a dialog de quitter directement, c'est-a-dire effacement de tous les composants graphiques sur l'ecran. Cette option est ignoree par le composant graphique << --pause >>. Elle est aussi outrepassee si l'option d'arriere-plan << --tailboxbg >> est utilisee pour definir plusieurs composants graphiques simultanes. --title titre Specification d'une chaine de titre a afficher au haut de la boite de dialogue. --trace fichier Journalisation des parametres de ligne de commande, des frappes de touche et d'autres informations dans le fichier indique. Si dialog lit un fichier de configuration, cela est aussi journalise. La capture de l'entree dans le composant graphique gauge est journalisee. Ctrl/T est utilise pour journaliser une image de la fenetre de dialogue en cours. Le programme dialog gere quelques parametres de ligne de commande de facon speciale et les supprime de la liste de parametres au fur et a mesure qu'ils sont traites. Par exemple, si la premiere option est --trace, ce qui est traite (et supprime) avant que dialog initialise l'affichage. --week-start jour Specification du premier jour de la semaine utilise par l'option << --calendar >>. Le parametre jour peut etre : o un nombre (0 a 6, dimanche a samedi utilisant POSIX) ; o la valeur speciale << locale >> (cela fonctionne avec les systemes utilisant la glibc, fournissant une extension a la commande locale, la valeur first_weekday) ; o une chaine de correspondance d'abreviation de jour de la semaine affiche dans le composant graphique calendar, par exemple, << Mo >> pour << lundi >>. --trim Elimination des blancs de debut du texte de message et elimination des repetitions de nouvelle ligne et de blancs. La fonctionnalite trim est mise en oeuvre aux conditions suivantes : o la chaine ne contient pas de << \n >> ou ; o l'option --no-nl-expand est utilisee. 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 etats. Cette option est utile comme aide visuelle, c'est-a-dire que la position du curseur aide quelques utilisateurs. Lorsque cette option est specifiee, le curseur est initialement place sur la liste. Les abreviations (la premiere lettre de l'etiquette) s'appliquent a la liste d'items. Lors d'un parcours par tabulation jusqu'a la rangee de boutons, les abreviations s'appliquent aux boutons. --yes-label chaine Outrepassement du libelle pour les boutons << Yes >>. Options de boite Toutes les boites de dialogue ont au moins trois parametres : texte la legende ou le contenu de la boite ; hauteur la hauteur de la boite de dialogue ; largeur la largeur de la boite de dialogue. Les autres parametres dependent du type de la boite de dialogue. --buildlist texte hauteur largeur hauteur_liste [ etiquette item etat ] ... Une boite de dialogue buildlist affiche deux listes l'une a cote de l'autre. La liste de gauche affiche les items non selectionnes, la liste de droite ceux selectionnes. Lorsque les items sont selectionnes ou deselectionnes, ils changent de liste. Un retour chariot ou le bouton << OK >> permettent d'accepter la valeur actuelle dans la fenetre choisie et de quitter. Les resultats sont ecrits en utilisant l'ordre affiche dans la fenetre choisie. La valeur initiale on/off de chaque entree est indiquee par etat. La boite de dialogue se comporte comme un menu, utilisant l'option --visit-items pour controler si le curseur est autorise a parcourir les listes directement : o si l'option --visit-items n'est pas precisee, le parcours avec Tab utilise deux etats (OK/Annuler) ; o si l'option --visit-items est specifiee, le parcours avec Tab utilise quatre etats (Gauche/droite//OK/Annuler). Que l'option --visit-items soit specifiee ou non, il est possible de modifier la mise en evidence en utilisant les touches par defaut : << ^ >> (colonne gauche) et << $ >> (colonne droite). Lors de l'abandon, une liste de chaines d'etiquette de ces entrees qui sont activees est affichee sur la sortie de dialog. Si l'option << --separate-output >> n'est pas indiquee, les chaines seront entre guillemets droits, si necessaire, pour simplifier leurs separations dans des scripts. Par defaut, 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 annee Une boite de dialogue calendar affiche le mois, le jour et l'annee dans des fenetres ajustables separees. Si les valeurs pour le jour, le mois ou l'annee sont absentes ou negatives, les valeurs correspondant a la date courante sont utilisees. Il est possible d'augmenter ou de diminuer toutes ces valeurs en utilisant les fleches 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 fenetre. Si l'annee indiquee est zero, la date courante est utilisee comme valeur initiale. Lors de l'abandon, la date est affichee sous la forme jour/mois/annee. L'option --date-format permet de passer outre ce format. --checklist texte hauteur largeur hauteur_liste [ etiquette item etat ] ... Une boite de dialogue checklist est similaire a une boite de dialogue menu. Plusieurs entrees sont presentees sous la forme d'un menu. Une autre difference est qu'il est possible d'indiquer quelles entrees sont selectionnees en etablissant leur etat a on. Au lieu de choisir une seule entree, chaque entree peut etre selectionnee ou deselectionnee. La valeur initiale on/off de l'etat de chaque entree est specifiee par etat. Lors de l'abandon, une liste de chaines d'etiquette de ces entrees qui sont activees est affichee sur la sortie de dialog. Si l'option << --separate-output >> n'est pas specifiee, les chaines seront entre guillemets droits si necessaire pour que les scripts puissent les separer simplement. Par defaut, 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 boite de dialogue de selection de repertoire affiche une fenetre text-entry pour saisir un nom de repertoire et au-dessus une fenetre avec les noms de repertoire. Ici, chemin_fichier peut etre un chemin de fichier auquel cas la fenetre de repertoires affiche le contenu du chemin et la fenetre text-entry contient le repertoire preselectionne. Les touches Tab et de fleches permettent de changer de fenetre. Dans la fenetre de repertoires, les touches de fleche haut et bas permettent de parcourir la selection en cours. La barre d'espace permet de copier le repertoire selectionne dans la fenetre text-entry. La saisie de n'importe quel caractere imprimable deplace le focus sur la fenetre text-entry, saisissant ce caractere et parcourant la fenetre de repertoires a la correspondance de caractere la plus proche. Un retour chariot ou le bouton << OK >> sont a utiliser pour accepter la valeur en cours dans la fenetre text-entry et pour quitter. Lors de l'abandon, le contenu de la fenetre text-entry est ecrit sur la sortie de dialog. --editbox chemin_fichier hauteur largeur La boite de dialogue edit-box affiche une copie du fichier. Il est possible de l'editer en utilisant les touches Retour_arriere, Suppr et les touches de curseur pour corriger les erreurs de saisie. Les touches page suivante et page precedente sont aussi reconnues. Au contraire de --inputbox, la touche Tab doit etre utilisee pour selectionner les boutons << OK >> ou << Annuler >> pour clore le dialogue. Appuyer sur la touche << Entree >> dans la boite coupe la ligne correspondante. Lors de l'abandon, le contenu de la fenetre d'edition est ecrite dans la sortie de dialog. --form texte haut larg haut_form [ libelle y x item y x larg_form larg_entree ] ... La boite de dialogue form affiche un formulaire constitue de libelles et de champs qui sont positionnes sur une fenetre deroulante aux coordonnees donnees par le script. La valeur des champs largeur_form et largeur_entree indiquent leur taille possible. La premiere definit la largeur du champ selectionne tandis que la derniere definit la largeur possible des donnees entrees dans le champ. o Si larg_form est zero, le champ correspondant ne peut etre altere et le contenu du champ determine la largeur affichee. o Si larg_form est negative, le champ correspondant ne peut etre altere et la valeur mise en positif de larg_form est utilisee pour la largeur d'affichage. o Si larg_entree est zero, elle est definie a larg_form. Les fleches haut/bas (ou Crtl/N ou Crtl/P) permettent de naviguer dans les champs et la touche Tab de changer de fenetre. Lors de l'abandon, le contenu des champs de formulaire est ecrit sur la sortie de dialog. Le texte utilise pour remplir les champs non editables (largeur_form est zero ou negative) n'y est pas ecrit. --fselect chemin_fichier hauteur largeur La boite de dialogue dialog de selection de fichier affiche une fenetre text-entry dans laquelle il est possible de saisir un nom de fichier (ou de repertoire), et au-dessus deux fenetres pour les repertoires et les noms de fichier. Ici chemin_fichier peut etre un chemin, auquel cas les fenetres de fichiers et de repertoires affichent le contenu du chemin et la fenetre text-entry contient le nom de fichier preselectionne. Les touches Tab et de fleche permettent de changer de fenetre. Dans les fenetres de repertoires et de fichiers, les touches bas/haut permettent de faire defiler la selection en cours. La touche espace permet de copier la selection en cours dans la fenetre text-entry. La saisie de n'importe quel caractere imprimable deplace le focus sur la fenetre text-entry, en saisissant ce caractere et faisant defiler les fenetres de repertoires et fichiers a la plus proche correspondance. La frappe du caractere espace force dialog a completer le nom en cours jusqu'au point ou il peut y avoir une correspondance a plus d'une entree. Un retour chariot ou le bouton << OK >> sont a utiliser pour accepter la valeur en cours dans la fenetre text-entry et pour quitter. Lors de l'abandon, le contenu de la fenetre text-entry est ecrit sur la sortie de dialog. --gauge texte hauteur largeur [pourcentage] Une boite de dialogue gauge affiche une barre de progression en bas de la boite. La barre indique le pourcentage. Les nouveaux pourcentages sont lus depuis l'entree standard, un entier par ligne. La barre est mise a jour pour refleter chaque nouveau pourcentage. Si l'entree standard lit la chaine << XXX >>, la premiere ligne qui suit est prise comme un entier de pourcentage, puis les lignes suivantes avec << XXX >> sont utilisees pour une nouvelle invite. La jauge s'arrete lorsque EOF est rencontre sur l'entree standard. La valeur pourcentage indique le pourcentage initial a montrer dans la barre. Si non specifie, c'est zero. Lors de l'abandon, aucun texte n'est ecrit sur la sortie de dialog. Ce composant graphique n'accepte aucune entree, donc son code de retour est toujours OK. --infobox texte hauteur largeur Une boite de dialogue info est basiquement une boite de dialogue message. Cependant, dans ce cas, dialog abandonnera immediatement apres l'affichage du message a l'utilisateur. L'ecran n'est pas efface lorsque dialog quitte, de facon que le message demeure sur l'ecran jusqu'a ce que le script appelant l'efface. Cette boite de dialogue est utile pour informer l'utilisateur que des operations sont en cours et peuvent necessiter un certain temps. Lors de l'abandon, aucun texte n'est ecrit sur l'entree standard de dialog. Un code de retour OK est renvoye. --inputbox texte hauteur largeur [init] Cette boite est utile pour poser une question qui necessite une reponse de l'utilisateur sous forme d'une chaine. Si init est indique, il sera utilise comme valeur initiale de la chaine. En saisissant la reponse, il est possible d'employer les touches Retour_arriere et Suppr et celles de curseur pour corriger les erreurs de frappe. Si la chaine saisie est trop longue pour la boite de dialogue, le champ de saisie sera deroule horizontalement. Lors de l'abandon, la chaine d'entree sera ecrite dans la sortie de dialog. --inputmenu texte hauteur largeur hauteur_menu [ etiquette item ] ... Une boite de dialogue inputmenu est tres similaire a une boite de dialogue menu ordinaire. Il y a peu de differences entre elles : 1. Les entrees ne sont pas automatiquement centrees mais ajustees a partir de la gauche ; 2. Un bouton supplementaire (appele Renommer) est implique pour renommer l'item en cours lorsqu'il est presse ; 3. Il est possible de renommer l'entree en cours en appuyant sur le bouton Renommer. Alors dialog ecrira ce qui suit sur la sortie de dialog : RENAMED --menu texte hauteur largeur hauteur_menu [ etiquette item ] ... Comme son nom l'indique, une boite de dialogue menu est une boite qui peut etre utilisee pour presenter une liste de choix sous la forme d'un menu pour que l'utilisateur fasse une selection. Les choix sont affiches dans l'ordre donne. Chaque entree de menu consiste en une chaine etiquette et une chaine item. L'etiquette donne un nom a l'item pour le distinguer des autres dans le menu. L'item est une description courte de l'option que l'entree represente. L'utilisateur peut se deplacer en utilisant les touches de curseur, la premiere lettre de l'etiquette en tant que raccourci de clavier ou l'une des touches 1 a 9. Des entrees de hauteur hauteur_menu sont affichees dans le menu en meme temps, mais le menu sera deroulant s'il existe plus d'entrees pour cette hauteur. Lors de l'abandon, l'etiquette de l'entree de menu choisie sera ecrite sur la sortie de dialog. Si l'option << --help-button >> est precisee, le texte d'aide correspondant sera ecrit si l'utilisateur utilise le bouton d'aide. --mixedform texte haut larg haut_form [ libelle y x item y x larg_form larg_ent type_ent ] ... La boite de dialogue mixedform affiche un formulaire constitue de libelles et champs ressemblant beaucoup a la boite de dialogue --form. Elle differe par l'ajout d'un parametre de type de champ a chaque description de champ. Chaque bit dans le type indique un attribut du champ : 1 cache, par exemple, un champ de mot de passe ; 2 lecture seule, par exemple, un libelle. --mixedgauge texte hauteur largeur pourcent [ etiquette1 item1 ] ... Une boite de dialogue mixedgauge affiche une barre de progression au bas de la boite. Elle indique le pourcentage. Elle affiche aussi une liste de valeurs d'etiquette et d'item au haut de la boite. Consulter dialog(3) pour les valeurs d'etiquette. Le texte est affiche comme une legende entre la liste et la barre de progression. La valeur pourcent indique le pourcentage initial affiche dans la barre. Aucune disposition n'est prevue pour lire les donnees depuis l'entree standard comme cela est fait pour --gauge Lors de l'abandon, aucun texte n'est ecrit sur la sortie de dialog. Ce composant graphique n'accepte aucune entree, donc son code de retour est toujours OK. --msgbox texte hauteur largeur Une boite de dialogue message est tres similaire a une boite yes/no. La seule difference entre elles est que la boite de dialogue message possede un seul bouton OK. Cette boite de dialogue peut etre utilisee pour afficher n'importe quel message. Apres sa lecture, l'utilisateur peut appuyer sur la touche Entree de facon que dialog abandonne et que le script d'interpreteur appelant puisse continuer ses operations. Si le message est trop important pour l'espace, dialog peut permettre de le derouler, pourvu que l'implementation sous-jacente de curses le puisse. Dans ce cas, un pourcentage est affiche au bas du composant graphique. Lors de l'abandon, aucun texte n'est ecrit sur la sortie de dialog. Seul un bouton << OK >> est fourni, mais un code de retour ESC peut etre renvoye. --pause texte hauteur largeur secondes Une boite de dialogue pause affiche une barre de progression au bas de l'ecran. Elle indique le nombre de secondes restantes avant la fin de la pause. La pause se termine quand le delai est atteint ou quand l'utilisateur appuie sur le bouton << OK >> (etat OK), le bouton Annuler ou la touche Echap. --passwordbox texte hauteur largeur [init] Un boite de dialogue password est similaire a une inputbox, excepte 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 indique dans << init >>, elle apparaitra dans la table de processus du systeme aux fouineurs occasionnels. Il est aussi perturbant pour les utilisateurs de fournir ces informations avec un mot de passe par defaut qu'ils ne peuvent voir. Pour ces raisons, la non-utilisation de << init >> est fortement preconisee. Consulter << --insecure >> si vous ne vous preoccupez pas de votre mot de passe. Lors de l'abandon, la chaine d'entree sera ecrite dans la sortie de dialog. --passwordform texte haut larg haut_form [ libelle y x item y x larg_form larg_entree ] ... C'est identique a --form excepte que tous les champs textuels sont traites comme des composants graphiques password plutot que comme des composants graphiques inputbox. --prgbox texte commande hauteur largeur --prgbox commande hauteur largeur Une prgbox est tres similaire a une programbox. La boite de dialogue est utilisee pour afficher la sortie de la commande specifiee comme argument de prgbox. Apres la fin de l'execution des commandes, l'utilisateur peut appuyer sur la touche Entree de facon que dialog quitte et que le script appelant continue ses operations. Si quatre parametres sont fournis, le texte est affiche sous le titre, delinee du contenu defilant de fichier. Si trois parametres sont fournis, ce texte est omis. --programbox texte hauteur largeur --programbox hauteur largeur Une boite de dialogue programbox est tres similaire a une boite progressbox. Leur seule difference est que la boite de dialogue programbox affiche un bouton << OK >> (mais seulement apres la fin de l'execution de la commande). Cette boite de dialogue est utilisee pour afficher la sortie d'une commande. Apres la fin de l'execution de la commande, l'utilisateur peut appuyer sur la touche Entree de facon que dialog abandonne et que le script appelant continue ses operations. Si trois parametres sont fournis, le texte est affiche sous le titre, delinee du contenu defilant de fichier. Si deux parametres sont fournis, ce texte est omis. --progressbox texte hauteur largeur --progressbox hauteur largeur Une boite de dialogue progressbox est similaire a une boite tailbox, excepte que : a) plutot que d'afficher le contenu d'un fichier, elle affiche la sortie tubee d'une commande et ; b) elle abandonne lorsque la fin du fichier est atteinte (il n'y a pas de bouton << OK >>). Si trois parametres sont fournis, le texte est affiche sous le titre, delinee du contenu defilant de fichier. Si deux parametres sont fournis, ce texte est omis. --radiolist texte hauteur largeur hauteur_liste [ etiquette item etat ] ... Une boite de dialogue radiolist est similaire a une boite menu. La seule difference est que l'entree selectionnee est indiquee en definissant son etat a on. Lors de l'abandon, l'etiquette de l'item selectionne est ecrite dans la sortie de dialog. --rangebox texte hauteur largeur val_mini val_max val_defaut Cette boite de dialogue permet a l'utilisateur de choisir parmi une plage de valeurs, par exemple, en utilisant un curseur de defilement. La boite de dialogue affiche la valeur actuelle dans une barre de defilement (comme la boite de dialogue gauge). Les touches Tab et de fleches deplacent le curseur entre les boutons et la valeur. Quand le curseur est sur la valeur, celle-ci peut etre editee en utilisant : un mouvement de curseur droite/gauche pour selectionner un chiffre a modifier ; les touches +/- pour augmenter ou diminuer le chiffre par pas de un ; les touches 0 a 9 pour definir le chiffre a une certaine valeur. Quelques touches agissent aussi dans toutes les positions du curseur : Debut/Fin reglage de la valeur au maximum ou au minimum ; Page haut/Page bas incrementation de la valeur de facon que le curseur de defilement se deplace d'une colonne. --tailbox fichier hauteur largeur Affichage du texte d'un fichier dans une boite de dialogue, de la meme facon que la commande << tail -f >>. Defilement gauche/droite avec les touches << h >> et << l >> dans le style de vi ou avec les touches de fleche. << 0 >> reinitialise le defilement. Lors de l'abandon, aucun texte n'est ecrit sur la sortie de dialog. Seul un bouton << OK >> est fourni, mais un code de retour ESC peut etre renvoye. --tailboxbg fichier hauteur largeur Affichage du texte d'un fichier dans une boite de dialogue comme une tache en arriere-plan, de la meme facon que la commande << tail -f & >>. Defilement gauche/droite avec les touches << h >> et << l >> dans le style de vi ou avec les touches de fleche. << 0 >> reinitialise le defilement. dialog traite la tache d'arriere-plan de maniere speciale si d'autres composants graphiques sont presents (--and-widget) sur l'ecran en meme temps. Jusqu'a leur fermeture (par exemple, avec << OK >>), dialog execute tous les composants graphiques tailboxbg dans le meme processus, interrogeant continuellement pour les mises a jour. La touche Tab peut etre utilisee pour aller d'un composant graphique a l'autre sur l'ecran et les fermer individuellement, par exemple, en appuyant sur Entree. Une fois que les composants graphiques non-tailboxbg sont fermes, dialog cree une copie de lui-meme en arriere-plan et ecrit son identifiant de processus si l'option << --no-kill >> est fournie. Lors de l'abandon, aucun texte n'est ecrit sur la sortie de dialog. Un bouton << EXIT >> est seulement fourni comme entree, mais un code de retour ESC peut etre renvoye. Remarque : les anciennes versions de dialog fourchaient immediatement et essayaient de mettre a jour l'ecran individuellement. En plus d'etre mauvais pour les performances, cela n'etait pas pratique. Certains anciens scripts peuvent ne pas fonctionner correctement avec le schema d'interrogation continuelle. --textbox fichier hauteur largeur. Une boite de dialogue textbox permet d'afficher le contenu d'un fichier texte dans une boite de dialogue. C'est comme un simple afficheur de fichier texte. L'utilisateur peut se deplacer dans le fichier en utilisant le curseur, les touches page haut/bas et les touches Debut/Fin disponibles sur la plupart des claviers. Si les lignes sont trop longues pour pouvoir etre affichees dans la boite, les touches Droite/Gauche peuvent etre utilisees pour faire defiler le texte horizontalement. Les touches de style vi, h, j, k et l peuvent etre utilisees au lieu des touches de curseur, et B et N au lieu des touches du deplacement par page. Les touches de style vi << k >> et << j >> ou les touches flechees peuvent etre utilisees pour le defilement vertical, et les touches de style vi << h >> et << l >> ou les touches flechees pour le defilement horizontal. Un << 0 >> reinitialise le defilement gauche/droite. Pour plus de commodite, le style vi de recherche avant ou arriere est aussi utilisable. Lors de l'abandon, aucun texte n'est ecrit sur la sortie de dialog. Un bouton << EXIT >> est seulement fourni comme entree, mais un code de retour ESC peut etre renvoye. --timebox texte hauteur [largeur heure minute seconde] Une boite de dialogue est affichee permettant de selectionner l'heure, les minutes et les secondes. Si les valeurs d'heure, de minute ou de seconde sont absentes ou negatives, les valeurs correspondantes du moment actuel sont utilisees. Ces valeurs peuvent etre incrementees ou decrementees en utilisant les fleches haut, bas, gauche ou droite. Les touches Tab ou Shift+Tab permettent de changer de fenetre. Lors de l'abandon, le resultat est ecrit sous la forme heure:minute:seconde. Ce format peut etre outrepasse en utilisant l'option --time-format. --treeview texte hauteur largeur hauteur_liste [ etiquette item etat profondeur ] ... Affichage arborescent des donnees. Chaque groupe de donnees contient une etiquette, le texte a afficher pour l'item, son etat (<< on >> ou << off >>) et la profondeur de l'item dans l'arbre. Un seul item peut etre selectionne (comme pour radiolist). L'etiquette n'est pas affichee. Lors de l'abandon, l'etiquette de l'item selectionne est ecrite dans la sortie de dialog. --yesno texte hauteur largeur Une boite de dialogue yesno de taille hauteur lignes par largeur colonnes est affichee. La chaine indiquee par texte est affichee dans la boite de dialogue. Si cette chaine est trop longue pour tenir sur une ligne, elle sera automatiquement divisee en plusieurs lignes aux emplacements appropries. La chaine texte peut aussi contenir des sous-chaines \n ou des caracteres de nouvelle ligne `\n' pour controler les ruptures de ligne explicitement. Cette boite de dialogue est utile pour poser des questions qui necessitent une reponse de l'utilisateur par oui ou non. La boite de dialogue a un bouton Yes et un bouton No que l'utilisateur peut selectionner a l'aide de la touche Tab. Lors de l'abandon, aucun texte n'est ecrit dans la sortie de dialog. En plus des codes de retour << Yes >> et << No >> (voir DIAGNOSTICS), un etat de sortie ESC peut etre renvoye. Les codes utilises pour << Yes >> et << No >> correspondent a ceux utilises pour << OK >> et << Annuler >>. Aucune distinction n'est faite en interne. Options obsoletes --beep Cette option etait utilisee par le cdialog originel pour produire un bip sonore quand des processus distincts du composant graphique tailbox rafraichissaient l'ecran. --beep-after Bip apres que l'utilisateur a abandonne un composant graphique en appuyant sur un des boutons. Options d'espaces blancs Ces options peuvent etre utilisees 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 independantes : o dialog verifie si le script contient au moins un << \n >> et (sauf si --no-nl-expand est indique) ignorera les options --no-collapse et --trim ; o apres la verification 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 sequences de tabulations, d'espaces (et de fins de ligne sauf si -cr-wrap est indique) en une espace unique ; o si les cas << \n >> ou --trim n'entrent en compte, dialog recherche l'option --no-collapse pour decider ou non de reduire les sequences 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 dependances, voici une table resumant 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 indiquee. cr- no- no- trim Resultat 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 >> litteralement. non non oui oui Conversion tabulation en espace. Conversion de plusieurs espaces en une. Conversion fin de ligne en espace. Affichage des << \n >> litteralement. 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 reduction de plusieurs blancs. Affichage des << \n >> litteralement. non oui oui oui Conversion plusieurs espaces en une seule. Conversion de fin de ligne en espace. Affichage des << \n >> litteralement. 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 >> litteralement. oui non oui oui Conversion tabulation en espace. Conversion plusieurs espaces en une seule. Repli aux fins de ligne. Affichage des << \n >> litteralement. 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 reduction de plusieurs blancs. Affichage des << \n >> litteralement. oui oui oui oui Conversion plusieurs espaces en une seule. Repli aux fins de ligne. Affichage des << \n >> litteralement. CONFIGURATION D'ENVIRONNEMENT D'EXECUTION 1. Creer un exemple de fichier de configuration en saisissant : dialog --create-rc fichier 2. Au demarrage, dialog determine les reglages a utiliser comme suit : a) si la variable d'environnement DIALOGRC est definie, sa valeur determine le nom du fichier de configuration ; b) si le fichier du (a) n'est pas trouve, utilisation du fichier $HOME/.dialogrc comme fichier de configuration ; c) si le fichier du (b) n'est pas trouve, essai d'utilisation du fichier GLOBALRC lors de la compilation, c'est-a-dire /etc/dialogrc ; d) si le fichier dans (c) n'est pas trouve, utilisation des parametres compiles par defaut. 3. Editer l'exemple de fichier de configuration et copier-le a un emplacement pouvant etre trouve par dialog comme indique dans la deuxieme etape ci-dessus. RACCOURCIS DE 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 a son codage interne. bindkey composant_graphique touche_curses touche_dialog Le nom de composant_graphique peut etre << * >> (tous les composants graphiques) ou des composants graphiques particuliers tels que textbox. Les mappages d'un composant graphique particulier outrepassent les mappages << * >>. Les mappages definis par l'utilisateur outrepassent les mappages internes de dialog. Les touche_curses peuvent etre exprimees de differentes facons : o Cela peut etre n'importe quel nom derive de curses.h, par exemple, << HELP >> de << KEY_HELP >>. o dialog reconnait aussi les caracteres de controle ANSI tels que << ^A >>, << ^? >>, ainsi que les controles C1 tels que << ~A >> et << ~? >>. o finalement, dialog permet les protections par contre-obliques comme dans C. Cela peut etre des valeurs octales de caractere telles que << \033 >> (le caractere d'echappement ASCII), ou les caracteres listes dans cette table : Protege Reel ---------------------------------------------- \b retour arriere \f saut de page \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 ou les champs peuvent etre edites. Ceux-ci sont geres dans une sous-fenetre du composant graphique, et peuvent avoir des raccourcis de clavier differents de ceux du composant graphique principal parce que les sous-fenetres sont enregistrees sous un nom different. Composant graphique Nom de fenetre Nom de sous-fenetre --------------------------------------------------------------- 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 reellement d'autres composants graphiques, utilisant des reglages internes pour une modification de comportement. Ceux-ci utilisent le meme nom de composant graphique que le veritable composant graphique : Composant graphique Composant graphique reel ------------------------------------------------- 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 detaillees peuvent etre obtenues en executant dialog. Si l'option --trace est indiquee, dialog ecrit les informations de raccourci pour chaque composant graphique lorsqu'il est declare. Quelques raccourcis sont construits en interne, independamment de composants graphiques particuliers : Touches But -------------------------------------------------------------------------------------- Ctrl-I deplacement par tabulation avant, par exemple, avec --tailboxbg Ctrl-L rafraichissement de l'ecran Ctrl-T copie de l'ecran dans le fichier --trace Ctrl-V suppression des touches speciales pour l'octet d'entree suivant DLGK_FIELD_NEXT deplacement par tabulation avant, comme Ctrl-I DLGK_FIELD_PREV deplacement par tabulation arriere, comme Shift-Tab DLGK_HELPFILE affichage du fichier d'aide specifie avec --hfile KEY_BTAB deplacement par tabulation arriere, p. ex., avec --tailbox -------------------------------------------------------------------------------------- Exemple Normalement, dialog utilise des touches differentes pour naviguer entre les boutons et la partie edition d'un dialogue par rapport a la navigation dans la partie edition. C'est-a-dire que la touche Tab (et Shift-Tab) parcourt les boutons (ou les boutons et la partie edition) tandis que les touches de fleches parcourent les champs de la partie edition. La touche Tab est aussi reconnue comme cas special pour parcourir les composants graphiques, par exemple, quand plusieurs composants graphiques tailboxbg sont employes. Certains utilisateurs peuvent souhaiter utiliser la meme touche pour parcourir la partie edition et les boutons. Le composant graphique form a ete ecrit pour prendre en charge cette sorte de redefinition de touches en ajoutant un groupe special dans dlgk_keys.h pour << form >> (gauche/droite/suivant/precedent). 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 redefinition ne devrait pas etre utile pour d'autres composants graphiques, par exemple, calendar, a cause du nombre potentiellement important de champs a parcourir. CODE DE RETOUR Le code de retour est susceptible d'etre outrepasse par les variables d'environnement. Les valeurs par defaut et les valeurs correspondantes de variable d'environnement pouvant outrepasser ce code sont : 0 si les boutons YES ou OK sont presses (DIALOG_OK) ; 1 si les boutons No ou Cancel sont presses (DIALOG_CANCEL) ; 2 si le bouton Help est presse (DIALOG_HELP), sauf dans le cas decrit ci-apres a propos de DIALOG_ITEM_HELP ; 3 si le bouton Extra est presse (DIALOG_EXTRA) ; 4 si le bouton Help est presse, l'option --item-help est definie et la variable d'environnement DIALOG_ITEM_HELP est reglee a 4. Bien que tous les codes de retour puissent etre outrepasses en utilisant des variables d'environnement, ce cas special a ete introduit en 2004 pour simplifier la compatibilite. dialog utilise DIALOG_ITEM_HELP (4) en interne, mais a moins que la variable d'environnement soit aussi definie, il change cela en DIALOG_HELP (2) lors de l'abandon ; 5 si un delai expire et que la variable DIALOG_TIMEOUT est definie a 5 ; -1 si une erreur se produit dans dialog (DIALOG_ERROR) ou que dialog abandonne parce que la touche ESC (DIALOG_ESC) est pressee. ENVIRONNEMENT DIALOGOPTS Cette variable est a definir pour appliquer toutes les options communes a chaque composant graphique. La plupart de ces options sont reinitialisees avant de traiter chaque composant graphique. Si ces options sont definies dans cette variable d'environnement, elles sont appliquees dans l'etat de dialog apres la reinitialisation. Comme dans l'option << --file >>, les guillemets droits doubles et les contre-obliques sont interpretes. L'option << --file >> n'est pas consideree comme commune (aussi, il n'est pas possible de l'incorporer dans cette variable d'environnement). DIALOGRC Cette variable est a definir pour indiquer le nom du fichier de configuration a utiliser. DIALOG_CANCEL DIALOG_ERROR DIALOG_ESC DIALOG_EXTRA DIALOG_HELP DIALOG_ITEM_HELP DIALOG_TIMEOUT DIALOG_OK Toutes ces variables sont a definir pour modifier le code de retour de : o Cancel (1) ; o error (-1) ; o ESC (255) ; o Extra (3) ; o Help (2) ; o Help avec --item-help (2) ; o Timeout (5), ou ; o OK (0). Normalement, les scripts d'interpreteur de commandes ne peuvent faire la distinction entre -1 et 255 DIALOG_TTY Cette variable est a regler a << 1 >> pour fournir la compatibilite avec les anciennes versions de dialog, qui assume que si le script redirige la sortie standard, l'option << --stdout >> est indiquee. FICHIERS $HOME/.dialogrc fichier de configuration par defaut. PORTABILITE dialog fonctionne avec curses X/Open. Cependant, certaines implementations ont des lacunes : o Curses d'HPUX (et peut-etre d'autres) n'ouvre pas le terminal proprement pour la fonction newterm. Cela interfere avec l'option --input-fd de dialog en empechant les touches de curseur et des sequences d'echappement similaires d'etre reconnues. o Curses de NetBSD 5.1 prend en charge incompletement les caracteres larges. dialog pourra etre construit, mais tous les exemples ne seront pas affiches correctement. COMPATIBILITE Vous voulez peut-etre ecrire des scripts qui fonctionnent avec d'autres << clones >> de dialog Dialog originel En premier, considerons le programme dialog << originel >> (versions 0.3 a 0.9). Il a des options mal ecrites (ou incoherentes). Le programme dialog mappe ces options obsoletes a celles privilegiees. Cela inclut : Option Traitement ----------------------------------- --beep-after ignore --guage mappe a --gauge ----------------------------------- Xdialog C'est une application X plutot qu'un programme de terminal. En prenant quelques precautions, il est possible d'ecrire des scripts utiles qui fonctionnent avec Xdialog et dialog. Le programme dialog ignore ces options qui sont reconnues par Xdialog : Option Traitement ------------------------------------------------- --allow-close ignore --auto-placement ignore --fixed-font ignore --icon ignore --keep-colors ignore --no-close ignore --no-cr-wrap ignore --screen-center ignore --separator mappe a --separate-output --smooth ignore --under-mouse ignore --wmclass ignore ------------------------------------------------- La page de manuel d'Xdialog a une section detaillant cette compatibilite avec dialog. Quelques differences ne sont pas notees dans cette page. Par exemple, la documentation HTML stipule : Note : les publications precedentes d'Xdialog utilisaient << \n >> (nouvelle ligne) comme separateur de resultats pour le composant graphique checklist. Cela a ete change en << / >> dans la version 1.50 d'Xdialog pour etre compatible avec (c)dialog. Dans des anciens scripts utilisant la boite checklist d'Xdialog, l'option --separate-output doit etre ajoutee avant l'option --checklist. dialog n'a pas utilise d'autre separateur. La difference etait probablement due a une confusion concernant certains scripts. Whiptail Il existe whiptail. Dans la pratique, il est entretenu par Debian (tres peu de travail est realise par les developpeurs amont). Sa documentation (README.whiptail) affiche : whiptail(1) est un remplacant leger pour dialog(1) pour fournir des boites de dialogue pour des scripts d'interpreteur de commandes. Il est construit sur la bibliotheque de fenetrage newt plutot que sur la bibliotheque ncurses, permettant d'etre plus petit dans des environnements embarques tels que les installateurs, les disques de recuperation, etc. whiptail est concu pour etre un remplacant pret a l'emploi et compatible avec dialog, mais il possede moins de fonctionnalites telles que tailbox, timebox, calendarbox, etc. En comparant les tailles reelles (Debian testing, 2007/1/10), la taille cumulee pour whiptail et les bibliotheques 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 boite de dialogue gauge. whiptail est moins compatible avec dialog que le programme dialog 0.4 originel du milieu des annees 1990. La page de manuel de whiptail emprunte des fonctionnalites de dialog, par exemple, mais curieusement cite les versions de dialog jusqu'a la version 0.4 (1994) comme source. C'est-a-dire que sa page de manuel se refere a des fonctionnalites qui etaient empruntees de versions plus recentes de dialog, par exemple : o --gauge (de 0.5) ; o --passwordbox (des modifications de Debian en 1999) ; o --default-item (de dialog 22/02/2000) ; o --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 mappe a --cancel-label --fb ignore --fullbutton ignore --no-button mappe a --no-label --nocancel mappe a --no-cancel --noitem mappe a --no-items --notags mappe a --no-tags --ok-button mappe a --ok-label --scrolltext mappe a --scrollbar --topleft mappe a --begin 0 0 --yes-button mappe a --yes-label --------------------------------------------- Il y a des differences de presentation qui ne sont pas corrigees par des options de ligne de commande : o dialog centre la liste dans la fenetre. whiptail typiquement dispose les listes contre la marge gauche ; o whiptail utilise des chevrons << < >> et << > >> pour le marquage des boutons. dialog utilise des crochets ; o whiptail marque les limites des sous-titres avec des barres verticales. dialog ne marque pas les limites ; o whiptail essaie de marquer les cellules basse et haute d'une barre de defilement avec des fleches haut et bas. Quand il ne peut le faire, il remplit ces cellules avec la couleur d'arriere-plan et c'est deroutant pour l'utilisateur. dialog utilise l'espace en entier de la barre de defilement, par la meme fournissant une meilleure resolution. BOGUES Peut-etre. EXEMPLES Les sources de dialog contiennent plusieurs exemples sur la maniere d'utiliser les differentes options des boites de dialogue et a quoi celles-ci ressemblent. Jetez un oeil dans le repertoire samples/ du source. AUTEURS Thomas E. Dickey (mises a jour a 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 adapte le composant graphique de jauge ainsi que << pause >>. Il s'agit d'une reecriture (sauf en cas de raison de compatibilite) de la version de dialog 0.9a qui liste les auteurs : o Savio Lam - version 0.3, << dialog >> ; o Stuart Herbert - correctif pour la version 0.4 ; o Marc Ewing - composant graphique de jauge ; o Pasquale De Marco (Pako) - version 0.9a, << cdialog >>. TRADUCTION La traduction francaise de cette page de manuel a ete creee par Gerard Delafond et Jean-Paul Guillonneau Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . 1 janvier 2024 DIALOG()