1160 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			1160 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/bash
 | |
| 
 | |
| ##############################################
 | |
| ##############################################
 | |
| ############## ZENITY GENERATOR ##############
 | |
| ##############################################
 | |
| #####################################by Hizoka
 | |
| # Script de génération de fenêtres graphiques réalisé uniquement avec Zenity et du bash
 | |
| # Pour des questions ou des infos : http://forum.ubuntu-fr.org/viewtopic.php?id=280649
 | |
| 
 | |
| ### Fonctions courantes ###
 | |
| 
 | |
| # Fonction cherchant l'emplacement du script (pour le .log)
 | |
| function emplacement_script()
 | |
| {
 | |
| if [ "${0:0:1}" == "/" ];
 | |
| then
 | |
|   emplacement_script=$(dirname "$0")
 | |
| else
 | |
|   emplacement_script=$(pwd)
 | |
| fi
 | |
| }
 | |
| 
 | |
| # Fonction affichant le code final de la nouvelle fenêtre créée avec copie dans le log si besoin
 | |
| function affichage_code()
 | |
| {
 | |
|   zenity --text-info --title="Code de votre fenêtre :" --width="500" --height="400" --filename=".fenetre_zenity"
 | |
| 
 | |
|   if [[ -n $(egrep "^choix_log=OUI$" "${emplacement_script}/zenity_generator.sh") ]]
 | |
|   then
 | |
|     (cat .fenetre_zenity && echo -e "\n") >> "${emplacement_script}/log_zenity_generator.log"
 | |
|   fi
 | |
| 
 | |
|   rm .fenetre_zenity
 | |
| }
 | |
| 
 | |
| # Fonction donnant la hauteur de la fenêtre
 | |
| function hauteur_fenetre()
 | |
| {
 | |
|   hauteur_fenetre="--height=\"$(zenity --width=300 --height=80 --title 'Choix de la hauteur' --text 'Indiquez la taille (en pixel) maximale de la hauteur de la fenêtre' --entry --width=400 --height=100)\""
 | |
| }
 | |
| 
 | |
| # Fonction donnant l'Icône de la fenêtre
 | |
| function icone_fenetre()
 | |
| {
 | |
|   icone_fenetre="--window-icon=\"$(zenity --title 'Choix de l`icône' --filename=/home/$USER/ --file-selection --width=400)\""
 | |
| }
 | |
| 
 | |
| # Fonction donnant la largeur de la fenêtre
 | |
| function largeur_fenetre()
 | |
| {
 | |
|   largeur_fenetre="--width=\"$(zenity --width=300 --height=80 --title 'Choix de la largeur' --text 'Indiquez la taille (en pixel) maximale de la largeur de la fenêtre' --entry --width=400 --height=100)\""
 | |
| }
 | |
| 
 | |
| # Fonction donnant le texte avec couleur et gras
 | |
| function texte()
 | |
| {
 | |
| echo -e "Vous pouvez maintenant taper le texte que vous souhaitez voir apparaître dans votre fenêtre.
 | |
| Il est possible de faire des effets sur les polices, pour plus d'infos, regardez le menu 'exemples'.
 | |
| 
 | |
| Evitez les !!, cela provoque des erreurs.
 | |
| 
 | |
| Exemples de balises pour mettre en forme le texte interne de vos fenêtres (exceptées celles de saisie de texte) :
 | |
|  - Mise en gras : <b> texte </b>
 | |
|  - Mise en italique : <i> Texte </i>
 | |
|  - Mise en couleur : <span color=\\\"red\\\"> texte </span> (avec les anti-slashs)
 | |
| 
 | |
| ##### MERCI DE SUPPRIMER CES INFOS AVANT DE CLIQUER SUR FERMER #####" > .texte
 | |
| 
 | |
| texte="--text=\"$(zenity --text-info --title='Tapez le texte de la fenêtre' --editable --filename='.texte' --width='550' --height='500')\""
 | |
| 
 | |
| rm .texte
 | |
| }
 | |
| 
 | |
| # Fonction donnant le titre
 | |
| function titre()
 | |
| {
 | |
|   titre="--title=\"$(zenity --title 'Choix du titre' --text 'Tapez le nom de la fenêtre' --entry --width=400 --height=100)\""
 | |
| }
 | |
| 
 | |
| # Fonction pour utilisation ou non d'un fichier log
 | |
| function utilisation_log()
 | |
| {
 | |
| emplacement_script
 | |
| 
 | |
| if [[ -n $(egrep "^choix_log=OUI$" "${emplacement_script}/zenity_generator.sh") ]]
 | |
| then
 | |
|   echo "Vous enregistrez vos fenêtres dans un fichier log disponible dans le même dossier que ce script.
 | |
| 
 | |
| Pour arrêter d'utiliser le fichier log :
 | |
| sed -i 's/^choix_log=OUI$/choix_log=NON/' \"${emplacement_script}/zenity_generator.sh\""
 | |
| 
 | |
| elif [[ -n $(egrep "^choix_log=NON$" "${emplacement_script}/zenity_generator.sh") ]]
 | |
| then
 | |
|   echo "Vous ne souhaitez pas enregistrer vos codes de fenêtres dans un fichier log.
 | |
| 
 | |
| Pour utiliser un fichier log de sauvegarde :
 | |
| sed -i \"s/^choix_log=NON$/choix_log=OUI/\" \"${emplacement_script}/zenity_generator.sh\""
 | |
| 
 | |
| else
 | |
|   log=$(zenity --list --radiolist --title="Utilisation d'un .log ?" --text="Voulez-vous que vos créations soient sauvegardées dans un fichier log ?
 | |
| 
 | |
| Cette question ne vous sera posée qu'une seule fois.
 | |
| 
 | |
| Il vous sera possible de modifier ce choix en tapant la commande
 | |
| qui s'affiche dans la console au démarrage du script." --column="Choix" --column="Réponse" \
 | |
| FALSE "OUI" \
 | |
| FALSE "NON")
 | |
| 
 | |
|   if [[ -n ${log} ]]
 | |
|   then
 | |
|     sed -i "/^#### Choix log ####$/a choix_log=${log}" "${emplacement_script}/zenity_generator.sh"
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| #### Choix log ####
 | |
| choix_log=OUI
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 | |
| ###############################################################
 | |
| ## Système pour la fenêtre Zenity affichant un fichier texte ##
 | |
| ###############################################################
 | |
| 
 | |
| # Permet également sauvegarder après.
 | |
| function zenity_fichier_texte()
 | |
| {
 | |
| # Ouvre une fenêtre zenity demandant les differentes variables utilent à la creation de la fenêtre
 | |
| MENU=$(zenity --title 'Que voulez vous modifier ?' --list --text 'Merci de choisir les différentes options à modifier ou à appliquer.' --checklist --column 'Choix' --column 'Action' --width=500 --height=400 \
 | |
| TRUE "Choix du titre de la fenêtre" \
 | |
| TRUE "Choix du fichier texte à afficher" \
 | |
| FALSE "Permettre l'édition du texte de la fenêtre" \
 | |
| FALSE "Largeur maximale de la fenêtre" \
 | |
| FALSE "Hauteur maximale de la fenêtre" \
 | |
| FALSE "Icône de la fenêtre" )
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
 | |
| then
 | |
|   titre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du fichier texte à afficher") ]]
 | |
| then
 | |
|   fichier_texte="--filename=\"$(zenity --title 'Emplacement du fichier texte à afficher dans la fenêtre.'  --filename=/home/$USER/ --file-selection)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Permettre l'édition du texte de la fenêtre") ]]
 | |
| then
 | |
|   edition="--editable"
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
 | |
| then
 | |
|   largeur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
 | |
| then
 | |
|   hauteur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo -e "zenity --text-info ${titre} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${fichier_texte} ${edition}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| ###############################################
 | |
| ## Système pour la fenêtre Zenity calendrier ##
 | |
| ###############################################
 | |
| 
 | |
| # Fonction du format de la date
 | |
| function date()
 | |
| {
 | |
|   date="--date-format=\"$(zenity --title 'Choix du format de la date' --text 'Choisissez le format de date voulu en vous aidant des explications.
 | |
| 
 | |
| Jours --
 | |
| %d : Jour du mois [ex : 12]
 | |
| %a : 3 premières lettres du jour [ex : ven]
 | |
| %A : Affiche le nom du jour [ex : vendredi]
 | |
| %j : Numéro du jour depuis le debut d`année [ex : 286]
 | |
| 
 | |
| Semaines --
 | |
| %V : Numéro de lasemaine [ex : 52]
 | |
| 
 | |
| Mois --
 | |
| %m : Mois de l`année [ex: 10]
 | |
| %b : 3 premières lettres du mois [ex : oct]
 | |
| %B : Affiche le nom du mois [ex : octobre]
 | |
| 
 | |
| Années --
 | |
| %y : Année, sur 2 chiffres [ex : 84]
 | |
| %Y : Année, sur 4 chiffres [ex : 1984]
 | |
| 
 | |
| Formats --
 | |
| %D : mois/jour/année [ex : 07/23/08]
 | |
| %F : année-mois-jour [ex : 2008-07-21]
 | |
| %x : jour.mois.année [ex : 21.07.2008]
 | |
| %c : %a %d %b %Y heure [ex : lun 21 jui 2008 00:00:00]
 | |
| 
 | |
| Exemple : Nous sommes le %A %d %m %Y' --entry --width=400 --height=100)\""
 | |
| }
 | |
| 
 | |
| function zenity_calendrier()
 | |
| {
 | |
| MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
 | |
| TRUE "Choix du titre de la fenêtre" \
 | |
| TRUE "Choix du texte à afficher dans la fenêtre" \
 | |
| FALSE "Choix du jour de base" \
 | |
| FALSE "Choix du mois de base" \
 | |
| FALSE "Choix de l'année de base" \
 | |
| FALSE "Choix du format de sorti de date" \
 | |
| FALSE "Largeur maximale de la fenêtre" \
 | |
| FALSE "Hauteur maximale de la fenêtre" \
 | |
| FALSE "Icône de la fenêtre")
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
 | |
| then
 | |
|   titre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
 | |
| then
 | |
|   texte
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du jour de base") ]]
 | |
| then
 | |
|   jour="--day=\"$(zenity --title 'Choix du jour' --text 'Choisissez le jour de base.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du mois de base") ]]
 | |
| then
 | |
|   mois="--month=\"$(zenity --title 'Choix du mois' --text 'Choisissez le mois de base.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix de l'année de base") ]]
 | |
| then
 | |
|   annee="--year=\"$(zenity --title 'Choix de l`année' --text 'Choisissez l`année.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du format de sorti de date") ]]
 | |
| then
 | |
|   date
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
 | |
| then
 | |
|   largeur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
 | |
| then
 | |
|   hauteur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo -e "zenity --calendar ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${jour} ${mois} ${annee} ${date}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| #############################################
 | |
| ## Système pour la fenêtre Zenity messages ##
 | |
| #############################################
 | |
| 
 | |
| # Fonction du type de fenêtre message
 | |
| function type_fenetre()
 | |
| {
 | |
| type_fenetre=$(zenity --title="Quel type de fenêtre de message voulez-vous ?" --text="Veuillez choisir dans la liste suivante le type de fenêtre voulu." "Fenetre d'erreur" "Fenetre de confirmation" "Fenetre d'avertissement" --entry --entry-text="Fenetre d'information")
 | |
| 
 | |
| if [ "$type_fenetre" = "Fenetre d'information" ]
 | |
| then
 | |
|   type_fenetre="--info"
 | |
| 
 | |
| elif [ "$type_fenetre" = "Fenetre d'erreur" ]
 | |
| then
 | |
|   type_fenetre="--error"
 | |
| 
 | |
| elif [ "$type_fenetre" = "Fenetre de confirmation" ]
 | |
| then
 | |
|   type_fenetre="--question"
 | |
| 
 | |
| elif [ "$type_fenetre" = "Fenetre d'avertissement" ]
 | |
| then
 | |
|   type_fenetre="--warning"
 | |
| fi
 | |
| }
 | |
| 
 | |
| function zenity_messages()
 | |
| {
 | |
| MENU=$(zenity --title "Que voulez-vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
 | |
| TRUE "Choix du titre de la fenêtre" \
 | |
| TRUE "Choix du texte à afficher dans la fenêtre" \
 | |
| TRUE "Choix du type de message" \
 | |
| FALSE "Largeur maximale de la fenêtre" \
 | |
| FALSE "Hauteur maximale de la fenêtre" \
 | |
| FALSE "Icône de la fenêtre")
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
 | |
| then
 | |
|   titre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
 | |
| then
 | |
|   texte
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du type de message") ]]
 | |
| then
 | |
|   type_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
 | |
| then
 | |
|   largeur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
 | |
| then
 | |
|   hauteur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo -e "zenity ${type_fenetre} ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| ####################################################################
 | |
| ## Système pour la fenêtre Zenity de sélection de fichier/dossier ##
 | |
| ####################################################################
 | |
| 
 | |
| function zenity_selection_fichier()
 | |
| {
 | |
| MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
 | |
| TRUE "Choix du titre de la fenêtre" \
 | |
| FALSE "Désigner le dossier de base" \
 | |
| FALSE "Sélectionner plusieurs fichiers" \
 | |
| FALSE "Choix du séparateur -- si utilisation du mode multi fichier" \
 | |
| FALSE "Mode enregistrement de fichier" \
 | |
| FALSE "Obligation de sélection de dossiers et non de fichiers" \
 | |
| FALSE "Largeur maximale de la fenêtre" \
 | |
| FALSE "Hauteur maximale de la fenêtre" \
 | |
| FALSE "Icône de la fenêtre")
 | |
| 
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
 | |
| then
 | |
|   titre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Designer le dossier de base") ]]
 | |
| then
 | |
|   emplacement_defaut="--filename=\"$(zenity --title 'Choix du dossier' --filename=/home/$USER/ --file-selection --directory --width=400)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Selectionner plusieurs fichiers") ]]
 | |
| then
 | |
|   multi_fichier="--multiple"
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du séparateur") ]]
 | |
| then
 | |
|   separateur_fichier="--separator=\"$(zenity --title 'Choix du separateur' --text 'Choisissez le type de séparateur à utiliser pour delimiter les différentes adresses.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Mode enregistrement de fichier") ]]
 | |
| then
 | |
|   sauvegarde="--save"
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Obligation de selection de dossiers et non de fichiers") ]]
 | |
| then
 | |
|   dossier="--directory"
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
 | |
| then
 | |
|   largeur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
 | |
| then
 | |
|   hauteur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo -e "zenity --file-selection ${titre} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${dossier} ${sauvegarde} ${separateur_fichier} ${multi_fichier} ${emplacement_defaut}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| ########################################################
 | |
| ## Système pour la fenêtre Zenity de boite de réponse ##
 | |
| ########################################################
 | |
| 
 | |
| function zenity_saisie()
 | |
| {
 | |
| MENU=$(zenity --title "Que voulez-vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
 | |
| TRUE "Choix du titre de la fenêtre" \
 | |
| TRUE "Choix du texte à afficher dans la fenêtre" \
 | |
| FALSE "Pré-écrire une réponse dans la zone de texte" \
 | |
| FALSE "Proposer une liste de réponses" \
 | |
| FALSE "Remplacer les caracteres par des *" \
 | |
| FALSE "Largeur maximale de la fenêtre" \
 | |
| FALSE "Hauteur maximale de la fenêtre" \
 | |
| FALSE "Icône de la fenêtre")
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
 | |
| then
 | |
|   titre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
 | |
| then
 | |
|   texte
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Pré-écrire une réponse dans la zone de texte") ]]
 | |
| then
 | |
|   pre_texte="--entry-text=\"$(zenity --title 'Texte pré écrit' --text 'Indiquez le texte qui doit être pré écrit dans la barre de texte.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Remplacer les caracteres par des *") ]]
 | |
| then
 | |
|   motdepasse="--hide-text"
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Proposer une liste de réponses") ]]
 | |
| then
 | |
|   liste_reponse=$(zenity --title 'Liste de choix' --text 'Ecrivez les différents choix que vous souhaitez proposer.
 | |
| 
 | |
| Il suffit d`éspacer les différentes réponses.
 | |
| 
 | |
| Si votre réponse contient plusieurs mots, il suffit de mettre des " à l`expression.
 | |
| 
 | |
| Si vous avez mis une réponse pré-écrite, il est inutil de la remettre ici.' --entry --width=400 --height=100)
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
 | |
| then
 | |
|   largeur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
 | |
| then
 | |
|   hauteur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo -e "zenity --entry ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${pre_texte} ${motdepasse} ${liste_reponse}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| ###########################################################
 | |
| ## Système pour la fenêtre Zenity de barre de chargement ##
 | |
| ###########################################################
 | |
| 
 | |
| function texte_et_pourcentage()
 | |
| {
 | |
| nb_etape=$(zenity --title "Nombre d'étape" --text "Indiquez le nombre d'étape à realiser pour remplir la barre." --entry --width=400 --height=100)
 | |
| 
 | |
| etapes_pourcentages=$[100 / $nb_etape]
 | |
| 
 | |
| zenity --question --title="Choisir les pourcentages ?" --text="Souhaitez vous choisir les différents pourcentages des ${nb_etape} étapes ?
 | |
| 
 | |
| Si vous ne souhaitez pas choisir, les étapes iront de ${etapes_pourcentages}% en ${etapes_pourcentages}%."
 | |
| 
 | |
| question=$(echo $?)
 | |
| 
 | |
| for ((i=1; i<=$nb_etape; i++));
 | |
| do
 | |
|   if [[ "${question}" == "1" ]]
 | |
|   then
 | |
|     pourcentage=$(zenity --title "Pourcentage de l'étape $i" --text "Indiquez le pourcentage n°$i" --entry)
 | |
| 
 | |
|   elif [[ "${question}" == "0" ]]
 | |
|   then
 | |
|     pourcentage=$(($etapes_pourcentages * $i))
 | |
|   fi
 | |
| 
 | |
|   texte_pourcentage=$(zenity --title "Texte associé à ${pourcentage}%" --text "Indiquer le texte à afficher quand la barre arrive à ${pourcentage}%" --entry)
 | |
| 
 | |
|   if [[ -z ${texte_et_pourcentage} ]]
 | |
|   then
 | |
|     texte_et_pourcentage="echo \"# ${texte_pourcentage}\" ; sleep 1
 | |
| echo \"${pourcentage}\" ; sleep 1"
 | |
| 
 | |
|   else
 | |
|     texte_et_pourcentage="${texte_et_pourcentage}
 | |
| echo \"# ${texte_pourcentage}\" ; sleep 1
 | |
| echo \"${pourcentage}\" ; sleep 1"
 | |
|   fi
 | |
| 
 | |
|   echo "${pourcentage}% a pour texte : ${texte_pourcentage}"
 | |
| done
 | |
| }
 | |
| 
 | |
| function zenity_barre_chargement()
 | |
| {
 | |
| MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
 | |
| TRUE "Choix du titre de la fenêtre" \
 | |
| TRUE "Choix du texte à afficher dans la fenêtre" \
 | |
| FALSE "Fermer automatiquement la fenêtre" \
 | |
| FALSE "Créer une barre allant et venant sans pourcentage" \
 | |
| FALSE "Nombres d'étapes avant d'atteindre 100%" \
 | |
| FALSE "Pourcentage de départ" \
 | |
| FALSE "Largeur maximale de la fenêtre" \
 | |
| FALSE "Hauteur maximale de la fenêtre" \
 | |
| FALSE "Icône de la fenêtre")
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
 | |
| then
 | |
|   titre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
 | |
| then
 | |
|   texte
 | |
|   texte_et_pourcentage="sleep $(zenity --entry --title='Combien de secondes avant le lancement ?' --text='Veuillez choisir le temps pendant lequel le texte de la fenêtre
 | |
| doit être lisible avant que les textes de la barre n`apparraissent.') ${texte_et_pourcentage}"
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Fermer automatiquement la fenêtre") ]]
 | |
| then
 | |
|   autoclose="--auto-close"
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Créer une barre allant et venant sans pourcentage") ]]
 | |
| then
 | |
|   pulsate="--pulsate"
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Nombres d'étapes avant d'atteindre 100%") ]]
 | |
| then
 | |
|   texte_et_pourcentage
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Pourcentage de départ") ]]
 | |
| then
 | |
|   pourcentage_depart="--percentage=\"$(zenity --title 'Pourcentage de départ' --text 'Choisissez à combien de % la barre doit démarrer.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
 | |
| then
 | |
|   largeur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
 | |
| then
 | |
|   hauteur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo "(${texte_et_pourcentage}) | zenity --progress  ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${pourcentage_depart} ${pulsate} ${autoclose}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| #############################################
 | |
| ## Système pour la fenêtre Zenity de liste ##
 | |
| #############################################
 | |
| 
 | |
| function nb_colonne()
 | |
| {
 | |
| nb_colonne=$(zenity --title "Nombre de colonne" --text "Indiquez le nombre de colonne à mettre.
 | |
| 
 | |
| Dans le cas ou il y a des boutons/cases,
 | |
| ajoutez une colonne pour leur emplacement." --entry --width=400 --height=100)
 | |
| 
 | |
| for ((i=1; i<=$nb_colonne; i++));
 | |
| do
 | |
|   colonne=$(zenity --title "Nom de la colonne n°$i" --text "Indiquez le nom que vous souhaitez attribuer à la colonne n°$i." --entry --width=400 --height=100)
 | |
| 
 | |
|   if [[ -z ${noms_colonnes} ]]
 | |
|   then
 | |
|     noms_colonnes="--column=\"${colonne}\""
 | |
| 
 | |
|   else
 | |
|     noms_colonnes="${noms_colonnes} --column=\"${colonne}\""
 | |
|   fi
 | |
| done
 | |
| }
 | |
| 
 | |
| function nb_reponses()
 | |
| {
 | |
| nb_reponses=$(zenity --title "Nombre de reponses" --text "Indiquez le nombre de reponses à proposer.
 | |
| 
 | |
| Cela équivaut au nombre de ligne que vous voulez proposer." --entry --width=400 --height=100)
 | |
| 
 | |
| for ((i=1; i<=$nb_reponses; i++));
 | |
| do
 | |
|   if [[ "${type_fenetre}" == "--radiolist" ]]
 | |
|   then
 | |
|     reponse=$(zenity --title "Réponse n°$i" --text "Tapez le texte que doit prendre la ligne n°$i.
 | |
| Votre ligne se sépare en ${nb_colonne} parties (le nombre de colonne).
 | |
| 
 | |
| Dans le cas d'une liste de bouton de choix,
 | |
| vous pouvez indiquer la réponse de base par un TRUE,
 | |
| pour les autres il faut mettre FALSE.
 | |
| 
 | |
| Dans le cas de 3 colonnes, il faudrait une réponse du genre :
 | |
| FALSE \"Carottes\" \"Legumes\"." --entry --width=400 --height=100)
 | |
| 
 | |
|   elif [[ "${type_fenetre}" == "--checklist" ]]
 | |
|   then
 | |
|     reponse=$(zenity --title "Réponse n°$i" --text "Tapez le texte que doit prendre la ligne n°$i.
 | |
| Votre ligne se sépare en ${nb_colonne} parties (le nombre de colonne).
 | |
| 
 | |
| Dans le cas d'une liste avec cases à cocher,
 | |
| vous pouvez indiquer les réponses de base par un TRUE,
 | |
| pour les autres il faut mettre FALSE.
 | |
| 
 | |
| Dans le cas de 3 colonnes, il faudrait une réponse du genre :
 | |
| FALSE \"Carottes\" \"Legumes\"." --entry --width=400 --height=100)
 | |
| 
 | |
|   elif [[ "${type_fenetre}" == "--multiple" ]]
 | |
|   then
 | |
|     reponse=$(zenity --title "Réponse n°$i" --text "Tapez le texte que doit prendre la ligne n°$i.
 | |
| Votre ligne se sépare en ${nb_colonne} partie (le nombre de colonne).
 | |
| 
 | |
| Dans le cas de 3 colonnes, il faudrait une réponse du genre :
 | |
| \"Carottes\" \"Legumes\" \"En soupe\"." --entry --width=400 --height=100)
 | |
|   fi
 | |
| 
 | |
|   if [[ -z ${choix_reponses} ]]
 | |
|   then
 | |
|     choix_reponses="\\
 | |
| ${reponse}"
 | |
| 
 | |
|   else
 | |
|     choix_reponses="${choix_reponses} \\
 | |
| ${reponse}"
 | |
|   fi
 | |
| done
 | |
| }
 | |
| 
 | |
| function zenity_listes()
 | |
| {
 | |
| MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
 | |
| TRUE "Choix du titre de la fenêtre" \
 | |
| TRUE "Choix du texte à afficher dans la fenêtre" \
 | |
| TRUE "Choix du type de liste à utiliser" \
 | |
| TRUE "Nombres de colonnes" \
 | |
| TRUE "Réponses à proposer" \
 | |
| FALSE "Cacher des colonnes" \
 | |
| FALSE "Choisir la colonne a retourner par la fenêtre" \
 | |
| FALSE "Choix du séparateur de réponse -- liste avec cases à cocher" \
 | |
| FALSE "Largeur maximale de la fenêtre" \
 | |
| FALSE "Hauteur maximale de la fenêtre" \
 | |
| FALSE "Icône de la fenêtre")
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
 | |
| then
 | |
|   titre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
 | |
| then
 | |
|   texte
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du type de liste à utiliser") ]]
 | |
| then
 | |
|   type_fenetre=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --column "" --column "Type de liste" --hide-column="1" --width=400 --height=325 \
 | |
| "radiolist" "Liste avec bouton de selection" \
 | |
| "checklist" "Liste avec cases à cocher" \
 | |
| "" "Liste simple" \
 | |
| "multiple" "Liste simple avec selection multiple")
 | |
| 
 | |
|   if [[ -n ${type_fenetre} ]]
 | |
|   then
 | |
|     type_fenetre="--${type_fenetre}"
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Nombres de colonnes") ]]
 | |
| then
 | |
|   nb_colonne
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Réponses à proposer") ]]
 | |
| then
 | |
|   nb_reponses
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Cacher des colonnes") ]]
 | |
| then
 | |
|   colonne_fantome="--hide-column=\"$(zenity --title 'Colonne fantome' --text 'Indiquez le numéro de la colonne à cacher.
 | |
| 
 | |
| Si vous en cachez plusieurs, séparez les chiffres d`une virgule.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choisir la colonne a retourner par la fenêtre") ]]
 | |
| then
 | |
|   colonne_retour="--print-column=\"$(zenity --title 'Colonne à retourner' --text 'L`interet de ce Système est de choisir quelle colonne
 | |
| sera renvoyée par la fenêtre zenity apres la réponse,
 | |
| c`est à dire ce que retourne : echo "$varible-de-la-fenetre".
 | |
| 
 | |
| Indiquez le numéro de la colonne à retourner.
 | |
| 
 | |
| Vous pouvez en retourner plusieurs en séparant les chiffres par des virgules.
 | |
| 
 | |
| Vous pouvez également choisir ALL afin de retourner toutes les colonnes.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du séparateur de réponse -- liste avec cases à cocher") ]]
 | |
| then
 | |
|   separateur_fichier="--separator=\"$(zenity --title 'Choix du separateur' --text 'Choisissez le type de séparateur à utiliser pour delimiter les différentes adresses.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
 | |
| then
 | |
|   largeur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
 | |
| then
 | |
|   hauteur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo -e "zenity --list ${type_fenetre} ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${noms_colonnes} ${colonne_fantome} ${colonne_retour} ${separateur_fichier} ${choix_reponses}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| ####################################################
 | |
| ## Système pour la fenêtre Zenity de notification ##
 | |
| ####################################################
 | |
| 
 | |
| function zenity_notification()
 | |
| {
 | |
| MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
 | |
| TRUE "Choix du texte à afficher dans la fenêtre" \
 | |
| TRUE "Icône de la fenêtre")
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
 | |
| then
 | |
|   texte
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo -e "zenity --notification ${texte} ${icone_fenetre}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| #################################################
 | |
| ## Système pour la fenêtre Zenity avec curseur ##
 | |
| #################################################
 | |
| 
 | |
| function zenity_curseur()
 | |
| {
 | |
| MENU=$(zenity --title "Que voulez vous modifier ?" --list --text "Merci de choisir les différentes options à modifier ou à appliquer." --checklist --column "Choix" --column "Action" --width=500 --height=400 \
 | |
| TRUE "Choix du titre de la fenêtre" \
 | |
| TRUE "Choix du texte à afficher dans la fenêtre" \
 | |
| FALSE "Valeur d'incrémentation" \
 | |
| FALSE "Valeur de base" \
 | |
| FALSE "Valeur minimale" \
 | |
| FALSE "Valeur maximale" \
 | |
| FALSE "Largeur maximale de la fenêtre" \
 | |
| FALSE "Hauteur maximale de la fenêtre" \
 | |
| FALSE "Icône de la fenêtre")
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du titre de la fenêtre") ]]
 | |
| then
 | |
|   titre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Choix du texte à afficher dans la fenêtre") ]]
 | |
| then
 | |
|   texte
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Valeur d'incrémentation") ]]
 | |
| then
 | |
|   valeur_evolution="--step=\"$(zenity --title 'Choix de l`incrémentation' --text 'Choisissez de combien en combien doit avancer le curseur.
 | |
| 
 | |
| Ex : 2 = 2, 4, 6, 8...
 | |
| 3 = 3, 6, 9...' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Valeur de base") ]]
 | |
| then
 | |
|   valeur_base="--value=\"$(zenity --title 'Choix du chiffre de base' --text 'Choisissez le chiffre sur lequel le curseur doit être de base.' --entry --width=400 --height=100)\""
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Valeur minimale") ]]
 | |
| then
 | |
| valeur_minimale="--min-value=\"$(zenity --title 'Choix de la valeur minimale' --text 'Choisissez la valeur minimale pouvant être proposé par le curseur.' --entry --width=400 --height=100)\""
 | |
| 
 | |
|   if [[ -z "${valeur_base}" ]]
 | |
|   then
 | |
|     valeur_base="--value=\"$(zenity --title 'Choix du chiffre de base' --text 'Vous avez détérminer une valeur minimale,
 | |
| il faut obligatoirement choisir le chiffre sur lequel le curseur doit être placé de base.
 | |
| Celui-ci doit impérativement être supérieur à votre valeur minimale.' --entry --width=400 --height=100)\""
 | |
|   fi
 | |
| 
 | |
|   verif_valeur_base=$(echo "${valeur_base}" | sed 's/--value=// ; s/"//g')
 | |
|   verif_valeur_minimale=$(echo "${valeur_minimale}" | sed 's/--min-value=// ; s/"//g')
 | |
|   if [[ ${verif_valeur_base} -lt ${verif_valeur_minimale} ]]
 | |
|   then
 | |
|     zenity --info --width=400 --height=100 --title "Erreur dans les chiffres" --text "Vous avez choisi une valeur minimale plus petite que la valeur de départ. Le code ne fonctionnera pas."
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Valeur maximale") ]]
 | |
| then
 | |
|   valeur_maximale="--max-value=\"$(zenity --title 'Choix de la valeur maximale' --text 'Choisissez la valeur maximale pouvant être proposé par le curseur.' --entry --width=400 --height=100)\""
 | |
| 
 | |
|   verif_valeur_evolution=$(echo "${valeur_evolution}" | sed 's/--step=// ; s/"//g')
 | |
|   verif_valeur_maximale=$(echo "${valeur_maximale}" | sed 's/--max-value=// ; s/"//g')
 | |
|   if [[ -n "${valeur_evolution}" && -n "${valeur_maximale}" && ${verif_valeur_maximale} -lt ${verif_valeur_evolution} ]]
 | |
|   then
 | |
|     zenity --info --width=400 --height=100 --title "Erreur dans les chiffres" --text "Vous avez selectionné une incrémentation supérieur à la limite haute, cela aura pour effet de passer directement à votre valeur maximale et non à votre valeur d'incrémentation."
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Largeur maximale de la fenêtre") ]]
 | |
| then
 | |
|   largeur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Hauteur maximale de la fenêtre") ]]
 | |
| then
 | |
|   hauteur_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n $(echo ${MENU} | grep "Icône de la fenêtre") ]]
 | |
| then
 | |
|   icone_fenetre
 | |
| fi
 | |
| 
 | |
| if [[ -n ${MENU} ]]
 | |
| then
 | |
|   # Création du fichier texte qui servira à afficher le code final
 | |
|   echo -e "zenity --scale ${titre} ${texte} ${largeur_fenetre} ${hauteur_fenetre} ${icone_fenetre} ${valeur_evolution} ${valeur_base} ${valeur_minimale} ${valeur_maximale}" | sed "s/  */ /g" > .fenetre_zenity
 | |
| 
 | |
|   affichage_code
 | |
| 
 | |
| else
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| 
 | |
| ##############
 | |
| ## Exemples ##
 | |
| ##############
 | |
| 
 | |
| function exemples()
 | |
| {
 | |
| echo -e "Voici des codes d'exemples de fenêtres zenity.
 | |
| Pour tester ces codes, il vous suffit de les coller dans votre console.
 | |
| 
 | |
| Voici d'abord des exemples sur comment mettre un peu de style à vos textes (balise \"text=\"),
 | |
| il est bien entendu possible de combiner les différents effets entre eux...
 | |
| 
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --info --text \"
 | |
| <span font-family=\\\"Arial\\\">essai de polices</span>
 | |
| <span font-family=\\\"sans-serif\\\">essai de polices</span>
 | |
| <span font-family=\\\"Helvetica\\\">essai de polices</span>
 | |
| <span font-family=\\\"impact\\\">essai de polices</span>
 | |
| <span font-family=\\\"sans\\\">essai de polices</span>
 | |
| <span font-family=\\\"webdings\\\">essai de polices</span>
 | |
| 
 | |
| <span color=\\\"red\\\">red</span>
 | |
| <span color=\\\"green\\\">green</span>
 | |
| <span color=\\\"blue\\\">blue</span>
 | |
| <span color=\\\"yellow\\\">yellow</span>
 | |
| <span color=\\\"magenta\\\">magenta</span>
 | |
| <span color=\\\"white\\\">white</span>
 | |
| <span color=\\\"black\\\">black</span>
 | |
| <span color=\\\"gray\\\">gray</span>
 | |
| <span color=\\\"lightblue\\\">lightblue</span>
 | |
| <span color=\\\"lightgray\\\">lightgray</span>
 | |
| 
 | |
| <b>style</b>
 | |
| <big>style</big>
 | |
| <i>style</i>
 | |
| <s>style</s>
 | |
| <sub>style</sub>
 | |
| <sup>style</sup>
 | |
| <small>style</small>
 | |
| <tt>style</tt>
 | |
| <u>style</u>\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre avec une barre de chargement :
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| (sleep 2
 | |
| echo \"# Nous attaquons les 20%\" ; sleep 1
 | |
| echo \"20\" ; sleep 1
 | |
| echo \"# Aller on continue jusqu'a 40%\" ; sleep 1
 | |
| echo \"40\" ; sleep 1
 | |
| echo \"# on est parti pour depasser la moitié\" ; sleep 1
 | |
| echo \"60\" ; sleep 1
 | |
| echo \"# Bientot fini...\" ; sleep 1
 | |
| echo \"80\" ; sleep 1
 | |
| echo \"# J'en vois le bout.\" ; sleep 1
 | |
| echo \"100\" ; sleep 1) | zenity --progress --pulsate --title=\"Chargement\" --percentage \"5\" --text=\"On commence à 5%\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre avec un calendrier intégré :
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --calendar --title=\"Exemple avec calendrier\" --text=\"Veuillez indiquer votre date de naissance. Merci.\" --day=\"12\" --month=\"10\" --year=\"1984\" --date-format=\"%x\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre avec un curseur de séléction :
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --scale --title=\"Température actuelle\" --text=\"Veuillez indiquer la température actuelle de votre piece.\" --step=\"2\" --value=\"15\" --min-value=\"-10\" --max-value=\"40\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre de lecture de fichier texte :
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --text-info --title=\"Voici le code de ce script\" --filename=\"${emplacement_script}/zenity_generator.sh\" --width=\"500\" --height=\"400\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre de QCM :
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --list --checklist --title=\"Perso préféré\" --text=\"Veuillez indiquer le personnage que vous préférez parmis cette liste.
 | |
| Vous pouvez choisir plusieurs reponses.\" --column=\"Oui\" --column=\"Nom\" --column=\"Age\" --separator=\"@\" --height=\"300\" \\\
 | |
| 
 | |
| FALSE \"Bender\" \"3ans\" \\\
 | |
| 
 | |
| TRUE \"Zoidberg\" \"Mort\" \\\
 | |
| 
 | |
| FALSE \"Fry\" \"32ans\" \\\
 | |
| 
 | |
| TRUE \"Leela\" \"Inconnu\" \\\
 | |
| 
 | |
| False \"Hermes\" \"On s'en fiche\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre demandant une confirmation :
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --question --title=\"Etes vous sûr de vous ?\" --text=\"etes vous totalement certain d'etre sur de ce que vous voulez faire ?
 | |
| 
 | |
| Merci de confirmer.
 | |
| 
 | |
| M.Windows Vista.\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre de notification :
 | |
| Pour lancer une commande au clic sur la notification, il faut ajouter && suivi de votre commande.
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --notification --text=\"Veuillez mettre a jour le script.\" && /usr/bin/adept_updater
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre de saisie de texte :
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --entry --title=\"Ville préférée\" --text=\"Merci d'indiquer la ville qui vous tient à coeur afin de faire un sondage mondial.\" --entry-text=\"Caen\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| 
 | |
| 
 | |
| Code d'une fenetre de séléction de fichier :
 | |
| ###### Le texte à copier débute juste après cette ligne ######
 | |
| zenity --file-selection --title=\"Indiquer votre dossier personnel\" --directory --filename=\"~/\"
 | |
| ###### Le texte à copier ce termine juste avant cette ligne ######
 | |
| " > .exemples
 | |
| 
 | |
| zenity --text-info --title="Exemples de codes :" --width="760" --height="550" --filename=".exemples"
 | |
| 
 | |
| rm .exemples
 | |
| }
 | |
| 
 | |
| 
 | |
| ########################
 | |
| ## MENU PRINCIPAL !!! ##
 | |
| ########################
 | |
| 
 | |
| function menu()
 | |
| {
 | |
| MENU=$(zenity --title "Quel type de fenêtre voulez-vous créer ?" --list --text "Séléctionnez le type de fenêtre zenity que vous souhaitez créer parmis la liste suivante." --column="reponse n°" --hide-column="1" --column "Type de boite" --column "Aide" --width=700 --height=570 \
 | |
| "01" "Barre de chargement" "
 | |
| Barre de progression avec textes et pourcentages." \
 | |
| "02" "Calendrier" "
 | |
| Choix d'une date sur un calendrier." \
 | |
| "03" "Curseur de placement" "
 | |
| Choix d'un chiffre en utilisant un curseur amovible." \
 | |
| "04" "Messages et confirmations" "
 | |
| Boite de texte indiquant une erreur, une information,
 | |
| une alerte ou une confirmation." \
 | |
| "05" "Notification" "
 | |
| Affiche une Icône et du texte dans la zone de notification." \
 | |
| "06" "Séléction de fichier/dossier              " "
 | |
| Choix d'un fichier ou d'un emplacement." \
 | |
| "07" "Saisie de texte" "
 | |
| Permet la saisie de caractères." \
 | |
| "08" "Affichage de fichier texte" "
 | |
| Affiche le contenu d'un fichier texte." \
 | |
| "09" "Listes" "
 | |
| Boite du genre question à choix unique ou multiple." \
 | |
| "10" "Exemples de codes" "
 | |
| Exemples de fenêtres et explications
 | |
| sur les styles applicable aux textes." \
 | |
| "11" "Réinitialiser l'utilisation du fichier log" "
 | |
| Repose la question de l'utilisation d'un fichier log de save")
 | |
| 
 | |
| 
 | |
| if [[ "$?" == "0" && -z ${MENU} ]]
 | |
| then
 | |
|   menu
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "01") ]]
 | |
| then
 | |
|   zenity_barre_chargement
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "02") ]]
 | |
| then
 | |
|   zenity_calendrier
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "03") ]]
 | |
| then
 | |
|   zenity_curseur
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "04") ]]
 | |
| then
 | |
|   zenity_messages
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "05") ]]
 | |
| then
 | |
|   zenity_notification
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "06") ]]
 | |
| then
 | |
|   zenity_selection_fichier
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "07") ]]
 | |
| then
 | |
|   zenity_saisie
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "08") ]]
 | |
| then
 | |
|   zenity_fichier_texte
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "09") ]]
 | |
| then
 | |
|   zenity_listes
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "10") ]]
 | |
| then
 | |
|   exemples
 | |
|   menu
 | |
| 
 | |
| elif [[ -n $(echo ${MENU} | grep "11") ]]
 | |
| then
 | |
|   emplacement_script
 | |
|   sed -i "/^choix_log=.*/d" "${emplacement_script}/zenity_generator.sh"
 | |
|   menu
 | |
| fi
 | |
| }
 | |
| 
 | |
| utilisation_log
 | |
| 
 | |
| menu
 |