#!/bin/bash#**********************************## NOM : # FONCTION : VERSION="alpha"# NOTES DE VERSIONS##**********************************#function msgbox { zenity --info --text="$@"}
#**********************************## function XXXXXXX {}# echo "$(XXXXXXX)"
# exit
#**********************************#function PROGRESSAVANCEMENT {# ZENITY PROGRESS POURCENTAGEread -p "Question 1"echo "25"read -p "Question 2"echo "50"read -p "Question 3"echo "75"read -p "Question 4"echo "100"}PROGRESSAVANCEMENT | zenity --progress --auto-close
# exit
#**********************************#function ListColonnesEtCaseACocher { # 2 colonnes et case à cocher# zenity --list --checklist --separator="\n" \# --text "Choisir une couleur et un véhicule" \# --column="" \# --column="Couleur" \# --column="Véhicule" \# --print-column="2,3" FALSE Noir Vélo FALSE Blanc Voiture FALSE Gris Avion > >(# while read ; do # [ "${REPLY}" == "Vélo" ] && zenity --info --text "Vous avez choisi vélo."# [ "${REPLY}" == "Noir" ] && zenity --info --text "Vous avez choisi noir."# done )
zenity --list \--checklist --separator="\n" \--text "Choisir une couleur et un véhicule" \--column="" --column="fichier" \--print-column="2,3" FALSE Noir FALSE Blanc FALSE Gris > >(while read ; do echo "${REPLY}"done )exit
}echo "$(ListColonnesEtCaseACocher)"
# exit 0
#**********************************#function PoliceDeCaractere { zenity --info --text "<b>gras</b><big>grand</big><i>italique</i><s>barré</s><sub>indice</sub><sup>exposant</sup><small>petit</small><tt>espace entre les lettres</tt><u>souligné</u>"}echo "$(PoliceDeCaractere)"
#**********************************#function Entry {zenity --entry --title="Nom du logiciel à utiliser" \--width=350 --height=80 \--text="Merci d'indiquer le nom du logiciel à utiliser pour editer le fichier de config" \--entry-text="geany" kate gedit ;}echo "$(Entry)"#**********************************#function EntryTextArray {# A VOIR# https://help.gnome.org/users/zenity/stable/usage.html.en# -------------------------------------
#~ http://askubuntu.com/questions/50988/wheres-documented-combo-box-usage-with-zenityarray=(a b c d e)zenity --entry --title "Window title" --text "Insert your choice." --entry-text "${array[@]}"}echo "$(EntryTextArray)"#**********************************#function ListCheckList {zenity --list \ --checklist \ --text="What is you favorite pet?" \ --column=Favorite --column=Pet \ TRUE cat FALSE dog TRUE fish TRUE bird FALSE mouse}echo "$(ListCheckList)"#**********************************#function ListRadioList {zenity --list \ --radiolist \ --title="Choisir la recherche" \ --text="Comment voulez vous cette recherche ?" \ --column=Favorite --column=Pet \ TRUE exacte FALSE commence_par FALSE fini_par FALSE contient}echo "$(ListRadioList)"#**********************************#function ListCheckListArray {array=(FALSE unchamp FALSE unautre FALSE encore)zenity --list --checklist --separator="," \--title="Choisir la recherche" \--text "Choisir des champs" \--column="" \--column="valeur" \--print-column="2" "${array[@]}"}echo "$(ListCheckListArray)"#**********************************#function ListCheckListREPLY {zenity --list --checklist --separator="\n" \--text "Choisir une couleur et un véhicule" \--column="" \--column="Couleur" \--column="Véhicule" \--print-column="2,3" FALSE Noir Vélo FALSE Blanc Voiture FALSE Gris Avion > >(while read ; do [ "${REPLY}" == "Vélo" ] && zenity --info --text "Vous avez choisi vélo."[ "${REPLY}" == "Voiture" ] && zenity --info --text "Vous avez choisi Voiture."[ "${REPLY}" == "Avion" ] && zenity --info --text "Vous avez choisi Avion."[ "${REPLY}" == "Noir" ] && zenity --info --text "Vous avez choisi noir."[ "${REPLY}" == "Blanc" ] && zenity --info --text "Vous avez choisi Blanc."[ "${REPLY}" == "Gris" ] && zenity --info --text "Vous avez choisi Gris."done )}echo "$(ListCheckListREPLY)"
#**********************************#function listVoir {zenity --list \ --title="Choose the Bugs You Wish to View" \ --column="Bug Number" --column="Severity" --column="Description" \ 992383 Normal "GtkTreeView crashes on multiple selections" \ 293823 High "GNOME Dictionary does not handle proxy" \ 393823 Critical "Menu editing does not work in GNOME 2.0"}echo "$(listVoir)"#**********************************#function ListEditable {zenity --list \ --title="Choisir les lignes à sortir" \ --text "Ctrl +a pour sélectionner toutes les lignes à sortir avant de valider" \ --print-column=2 --multiple --editable \ --column "title" --column "value" \ "name" "(double clic ici)" \ "host" "" \ "ip" "" ;}echo "$(ListEditable)"#**********************************#function FormsAdressFriends {zenity --forms --title="Add Friend" \ --text="Enter information about your friend." \ --separator="," \ --add-entry="First Name" \ --add-entry="Family Name" \ --add-entry="Email" \ --add-calendar="Birthday" >> addr.csv
case $? in 0) echo "Friend added.";; 1) echo "No friend added." ;; -1) echo "An unexpected error has occurred." ;;esac}echo "$(FormsAdressFriends)"#**********************************#function FormsIP2OUTs {zenity --forms --title="remplir les champs" \ --text="Enter Multicast address" \ --separator="," \ --add-entry="IP address" \ --add-entry="PORT"}OUTPUT="$(FormsIP2OUTs)"if (($? != 0)); then echo "something went wrong" exit 1fiecho "ip=$(awk -F, '{print $1}' <<<$OUTPUT)"echo "port=$(awk -F, '{print $2}' <<<$OUTPUT)"#**********************************#function formulaire_motdepasse { #On crée le formulaire en stockant les valeurs de sortie dans $cfgpass :/ cfgpass=`zenity --forms \ --title="Exemple qui tue la mort" \ --text="Définir un nouveau mot de passe" \ --add-entry="Nom de l'utilisateur" \ --add-password="Ancien mot de passe" \ --add-password="Nouveau mot de passe" \ --add-password="Confirmer le nouveau mot de passe" \ --separator="|"`
#Si on clique sur le bouton Annuler if [ "$?" -eq 1 ]; then #On quitte le script exit fi #Sinon on continue #On peut récupérer les valeurs des différents champs de cette façon : echo "$cfgpass" | cut -d "|" -f1 #Nom de l'utilisateur echo "$cfgpass" | cut -d "|" -f2 | md5sum #Ancien Mot de passe echo "$cfgpass" | cut -d "|" -f3 | md5sum #Nouveau Mot de passe echo "$cfgpass" | cut -d "|" -f4 | md5sum #Confirmation du nouveau mot de passe
echo "Franchement la classe cette nouvelle fonction Zenity :P"}echo "$(formulaire_motdepasse)"# ****************************************function BoiteDeDialogue() { # array=(a b c d e) # echo ${array[@]}
zenity --forms --title "Select Flash Drives" --text "Select Flash Drives" \ --add-entry="IP address (leave empty to use 8.8.8.8)" \ --add-list "Insert your choice (leave empty to use C)" --list-values 'a|b|c' ;
# --add-list "Insert your choice " --list-values '${array[@]}' \ # --add-entry="${array[@]}"
}RETURNVALUE="$(BoiteDeDialogue)" # extract the IP and DRIVE values une_ip=$(awk -F'|' '{print $1}' <<<$RETURNVALUE); un_lecteur=$(awk -F'|' '{print $2}' <<<$RETURNVALUE);
# [[ -z $var ]] is true if the length of $var is zero # the second element in && is evaluated only if the first one is true [[ -z $une_ip ]] && une_ip="8.8.8.8"; [[ -z $un_lecteur ]] && un_lecteur="C"; # on sort le résultat par écho # pour le récupèrer hors de la fonction echo "une_ip $une_ip un_lecteur $un_lecteur"#**********************************#function DoubleClicDansZenity { # gérer le double clic dans zenity zenity --list --column Pet Chien Chat}menuchoice=$(DoubleClicDansZenity);echo "avant traitement le résultat est : $menuchoice"menuchoicecleaned=${menuchoice%|*}echo "après traitement le résultat est $menuchoicecleaned"
exit 0