Créer des boîtes de dialogues en Bash

Bonjour à tous,

Aujourd’hui une petite astuce assez sympa pour apprendre à créer des programmes bash un petit plus « fancy » grâce à whiptail.

Vous savez ces petites boîtes de dialogues que l’on peut retrouver dans ce genre d’exemple :

dialogueBox_example

Nous allons voir comment créer ce genre de boîtes de dialogues.

Sans plus tarder nous allons rentrer dans le vif du sujet

1. La Message Box

La prmière boîte de dialogue que nous allons voir est la message Box, elle permet d’afficher un petit message à l’écran.

whiptail --title "<titre>" --msgbox "<message>" <height> <width>

Pour afficher quelque chose qui ressemble à cela :

whiptail1

voici le code source bash

2. Une boite de dialogue oui / non

La deuxième boite de dialogue que nous allons voir est la yes/no, elle permet d’afficher un message de confirmation avant d’executer une action.

whiptail --title "<titre>" --yesno "<text>" <height> <width>

 

whitmail_yesno

Si jamais vous pouvez personnalisé les réponses en précisant la valeur du bouton yes et no avec les attributs :

--yes-button "valeur du oui" --no-button "valeur non"

3. Input

La troisème boîte de dialogue est l’input box, elle permet à l’utilisateur de saisir une information.

whiptail --title "<titre>" --inputbox "<texte>" <height> <width> <default-text>

whiptail_input

 Créer une password Box

Comme sont nom l’indique, c’est rès utile lorsqu’on veux que l’utilisateur renseigne un mot de passe

whiptail_passwordBox

 

 Menu box

Très utile lorsqu’on veux demander à l’utilisateur de choisir parmi plusieurs choix

whiptail_menuBox

RadioList Box

La radiolist Box est très similaire au MenuBox, c’est à dire que vous pouvez choisir qu’un seul item, par contre l’avantage de la radiolist box c’est que vous pouvez selectionner un item par defaut.

whiptail_RadioList

 

Checklist Box

Même chose que le précédent exemple mais ce coup ci j’utilise la checklist

whiptail_checklist

Progress Bar

Et enfin, la dernière boîte de dialogue qui peut s’avérer utile : la barre de progression

whiptail_progressBar