Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
zenity [Le 01/12/2020, 13:59] 192.54.145.138 modif |
zenity [Le 24/02/2023, 06:56] (Version actuelle) 88.166.188.193 coorectifs lié à des remontés de wiki-correctors |
||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
//Traduction de la courte description sur le site officiel de Zenity.//((Zenity is a tool that allows you to display Gtk+ dialog boxes from the command line and through shell scripts. It is similar to gdialog, but is intended to be saner. It comes from the same family as dialog, Xdialog, and cdialog, but it surpasses those projects by having a cooler name.)) | //Traduction de la courte description sur le site officiel de Zenity.//((Zenity is a tool that allows you to display Gtk+ dialog boxes from the command line and through shell scripts. It is similar to gdialog, but is intended to be saner. It comes from the same family as dialog, Xdialog, and cdialog, but it surpasses those projects by having a cooler name.)) | ||
- | **Zenity** est un outil qui permet d'afficher des boîtes de dialogue GTK+ depuis la ligne de commandes ou au travers de scripts shell. Il est similaire à //gdialog//, mais son but est d'être plus simple. Il appartient à la même famille que //dialog// (affichage de pseudo boîtes de dialogue en console), //xdialog// et //cdialog//. | + | **Zenity** est un outil qui permet d'afficher des boîtes de dialogue GTK+ depuis la ligne de commandes ou au travers de scripts shell. Il est similaire à //gdialog//, mais son but est d'être plus simple. Il appartient à la même famille que //dialog// (affichage de pseudo-boîtes de dialogue en console), //xdialog// et //cdialog//. |
===== Installation ===== | ===== Installation ===== | ||
Ligne 44: | Ligne 44: | ||
Voici quelques infos bonus que certaines personnes ont trouvées. | Voici quelques infos bonus que certaines personnes ont trouvées. | ||
- | Car comme vous pouvez le constater, les infos sur Zenity ne font pas légion... | + | Car comme vous pouvez le constater, les infos sur Zenity ne sont pas légion… |
- | Ces fonctions ne semblent pas fonctionner pour les fenêtres "entry". | + | Ces fonctions ne semblent pas fonctionner pour les fenêtres “entry”. |
Zenity est basé sur GTK+, lui-même basé sur [[http://library.gnome.org/devel/pango/stable/PangoMarkupFormat.html|Pango]], il est donc possible d'utiliser certaines fonctions de ce logiciel. | Zenity est basé sur GTK+, lui-même basé sur [[http://library.gnome.org/devel/pango/stable/PangoMarkupFormat.html|Pango]], il est donc possible d'utiliser certaines fonctions de ce logiciel. | ||
Ligne 54: | Ligne 54: | ||
=== Coloration du texte === | === Coloration du texte === | ||
- | Rien de mieux qu'un peu de couleur pour égayer un texte. Pour cela, il faut utiliser la balise "span color" : | + | Rien de mieux qu'un peu de couleur pour égayer un texte. Pour cela, il faut utiliser la balise “span color” : |
<code perl> | <code perl> | ||
<span color=\"red\">red</span> | <span color=\"red\">red</span> | ||
Ligne 60: | Ligne 61: | ||
Fenêtre de test : | Fenêtre de test : | ||
+ | |||
<file perl>zenity --info --text " | <file perl>zenity --info --text " | ||
<span color=\"red\">red</span> | <span color=\"red\">red</span> | ||
Ligne 74: | Ligne 76: | ||
=== Choix de la police pour le texte === | === Choix de la police pour le texte === | ||
- | Marre de voir toujours la même police ? Il vous suffit donc d'utiliser la balise "span font-family". | + | Marre de voir toujours la même police ? Il vous suffit donc d'utiliser la balise “span font-family”. |
<file perl> | <file perl> | ||
Ligne 81: | Ligne 83: | ||
Fenêtre de test : | Fenêtre de test : | ||
+ | |||
<file perl> | <file perl> | ||
zenity --info --text " | zenity --info --text " | ||
Ligne 93: | Ligne 96: | ||
=== Changer la forme de la police === | === Changer la forme de la police === | ||
- | Un mot a besoin de ressortir du reste ? Il suffit de mettre en gras, en italique... | + | Un mot a besoin de ressortir du reste ? Il suffit de mettre en gras, en italique… |
<file perl> | <file perl> | ||
Ligne 109: | Ligne 112: | ||
=== Fenêtre avec liste de choix === | === Fenêtre avec liste de choix === | ||
+ | |||
{{ zenity-entry.png}} | {{ zenity-entry.png}} | ||
Il est possible de créer une fenêtre comme suit : | Il est possible de créer une fenêtre comme suit : | ||
- | Pour cela, il faut créer une boite de type "entry" et ajouter les différents choix de la liste à la fin de la commande. | + | Pour cela, il faut créer une boite de type “entry” et ajouter les différents choix de la liste à la fin de la commande. |
N'oubliez pas les guillemets si vous mettez des espaces dans les réponses. | N'oubliez pas les guillemets si vous mettez des espaces dans les réponses. | ||
Ex : | Ex : | ||
+ | |||
<file bash> | <file bash> | ||
- | zenity --entry --title="Jour" \ | + | zenity --entry --title="Jour" |
- | --text="Veuillez indiquer le jour de la semaine" \ | + | --text="Veuillez indiquer le jour de la semaine" |
Lundi Mardi Mercredi "Autre jour..." | Lundi Mardi Mercredi "Autre jour..." | ||
</file> | </file> | ||
- | Pour ajouter une réponse de base, utilisez l'option "entry-text" : | + | Pour ajouter une réponse de base, utilisez l'option “entry-text” : |
<file bash> | <file bash> | ||
zenity --entry --title="Jour" \ | zenity --entry --title="Jour" \ | ||
--text="Veuillez indiquer le jour de la semaine" --entry-text="Lundi" Mardi Mercredi | --text="Veuillez indiquer le jour de la semaine" --entry-text="Lundi" Mardi Mercredi | ||
</file> | </file> | ||
- | |||
=== Boîte de message et récupérer la valeur === | === Boîte de message et récupérer la valeur === | ||
+ | |||
<file bash> | <file bash> | ||
if ret=`zenity --entry --title='Titre de la vidéo' \ | if ret=`zenity --entry --title='Titre de la vidéo' \ | ||
--text='Saisissez le titre de la vidéo : '` | --text='Saisissez le titre de la vidéo : '` | ||
- | then | + | then |
- | titre=$ret | + | titre=$ret |
- | if [ "$titre" = "" ] | + | if [ "$titre" = "" ] |
- | then | + | then |
- | echo "Il faut un titre, tient pan t'es mort!" | + | echo "Il faut un titre, tient pan t'es mort!" |
- | exit | + | exit |
- | fi | + | fi |
- | else | + | else |
- | echo "Tsss, un titre on dit, pas le bouton annuler!" | + | echo "Tsss, un titre on dit, pas le bouton annuler!" |
- | exit | + | exit |
fi | fi | ||
echo $titre | echo $titre | ||
Ligne 151: | Ligne 157: | ||
Voici une méthode alternative à celle décrite ci-dessus : | Voici une méthode alternative à celle décrite ci-dessus : | ||
+ | |||
<file bash> | <file bash> | ||
dossierSortie=$(zenity --file-selection \ | dossierSortie=$(zenity --file-selection \ | ||
Ligne 162: | Ligne 169: | ||
=== Méthode 3 pour récupérer la valeur === | === Méthode 3 pour récupérer la valeur === | ||
+ | |||
Très simple : | Très simple : | ||
+ | |||
<file bash> | <file bash> | ||
variable=$(zenity --entry --title="Choix" --text="Indiquez un mot") | variable=$(zenity --entry --title="Choix" --text="Indiquez un mot") | ||
Ligne 171: | Ligne 180: | ||
=== Méthode pour récupérer la valeur avec --question === | === Méthode pour récupérer la valeur avec --question === | ||
+ | |||
<file bash> | <file bash> | ||
zenity --question \ | zenity --question \ | ||
Ligne 178: | Ligne 188: | ||
if [ $? = 0 ] | if [ $? = 0 ] | ||
then | then | ||
- | echo "OUI ! Avec 2 sucres ..." | + | echo "OUI ! Avec 2 sucres ..." |
- | sleep 3 | + | sleep 3 |
else | else | ||
- | echo "NON ! Plutôt du thé ..." | + | echo "NON ! Plutôt du thé ..." |
- | sleep 3 | + | sleep 3 |
fi | fi | ||
</file> | </file> | ||
Ligne 188: | Ligne 198: | ||
=== Barres de progression === | === Barres de progression === | ||
- | //Depuis [[http://help.gnome.org/users/zenity/stable/progress.html.fr]]// | + | //Depuis [[https://help.gnome.org/users/zenity/stable/progress.html.fr]]// |
^ Commande ^ Rôle ^ | ^ Commande ^ Rôle ^ | ||
- | | %%--text=text%% | Spécifier le texte affiché dans la boîte de dialogue de barre de progression. | | + | | ''%%--text=text%%'' | Spécifier le texte affiché dans la boîte de dialogue de barre de progression. | |
- | | %%--percentage=percentage%% | Spécifier le pourcentage initial réglé dans la boîte de dialogue de barre de progression. | | + | | ''%%--percentage=percentage%%'' | Spécifier le pourcentage initial réglé dans la boîte de dialogue de barre de progression. | |
- | | %%--auto-close%% | Fermer la boîte de dialogue quand la barre de progression atteint 100%. | | + | | ''%%--auto-close%%'' | Fermer la boîte de dialogue quand la barre de progression atteint 100%. | |
- | | %%--pulsate%% | Utiliser une barre de progression discontinue jusqu'à ce qu'un caractère EOF soit lu sur l'entrée standard. | | + | | ''%%--pulsate%%'' | Utiliser une barre de progression discontinue jusqu'à ce qu'un caractère EOF soit lu sur l'entrée standard. | |
* Si une ligne commence par '#', le texte est mis à jour avec le texte de cette ligne. | * Si une ligne commence par '#', le texte est mis à jour avec le texte de cette ligne. | ||
Ligne 201: | Ligne 210: | ||
* %%--progress%% s'utilise avec un [[pipe]]. Vous devez donc mettre tout le code affecté par la barre de progression entre parenthèses. | * %%--progress%% s'utilise avec un [[pipe]]. Vous devez donc mettre tout le code affecté par la barre de progression entre parenthèses. | ||
- | Exemple : | + | __Exemple:__ |
<file bash> | <file bash> | ||
#!/bin/sh | #!/bin/sh | ||
Ligne 227: | Ligne 237: | ||
{{ http://library.gnome.org/users/zenity/stable/figures/zenity-progress-screenshot.png }} | {{ http://library.gnome.org/users/zenity/stable/figures/zenity-progress-screenshot.png }} | ||
+ | |||
+ | //Voir aussi une utilisation concrète dans un script nautilus sur la documentation de [[shred#integrer_shred_a_nautilus_script|shred]]// | ||
=== Formulaire === | === Formulaire === | ||
Ligne 233: | Ligne 245: | ||
^ Commande ^ Rôle ^ | ^ Commande ^ Rôle ^ | ||
- | | %%--text=Texte%% | Spécifier le texte affiché dans la boîte de dialogue de barre de progression. | | + | | ''%%--text=Texte%%'' | Spécifier le texte affiché dans la boîte de dialogue de barre de progression. | |
- | | %%--separator=SÉPARATEUR%% | Définit le caractère séparateur de sortie. | | + | | ''%%--separator=SÉPARATEUR%%'' | Définit le caractère séparateur de sortie. | |
- | | %%--add-entry=Nom du champ%% | Ajoute une nouvelle zone de saisie dans la boîte de dialogue de formulaire. | | + | | ''%%--add-entry=Nom du champ%%'' | Ajoute une nouvelle zone de saisie dans la boîte de dialogue de formulaire. | |
- | | %%--add-password=Nom du champ%% | Ajoute une nouvelle zone de saisie de mot de passe dans la boîte de dialogue \\ de formulaire. | | + | | ''%%--add-password=Nom du champ%%'' | Ajoute une nouvelle zone de saisie de mot de passe dans la boîte de dialogue \\ de formulaire. | |
- | | %%--add-calendar=Nom du champ calendrier%% | Ajoute un nouveau calendrier dans la boîte de dialogue de formulaire. | | + | | ''%%--add-calendar=Nom du champ calendrier%%'' | Ajoute un nouveau calendrier dans la boîte de dialogue de formulaire. | |
- | | %%--forms-date-format=MODÈLE%% | Définit le format de la date retournée. | | + | | ''%%--forms-date-format=MODÈLE%%'' | Définit le format de la date retournée. | |
__Exemple:__ | __Exemple:__ | ||
+ | |||
<file bash> | <file bash> | ||
#!/bin/bash | #!/bin/bash | ||
Ligne 270: | Ligne 283: | ||
{{ :zenity-forms.png?direct& |http://img11.hostingpics.net/pics/246564zenityforms.png}} | {{ :zenity-forms.png?direct& |http://img11.hostingpics.net/pics/246564zenityforms.png}} | ||
- | ===== Documentation sur les interfaces graphiques de Bash ====== | ||
- | |||
- | [[https://www.writebash.com/bash-gui]] | ||
===== Documentation de Zenity ====== | ===== Documentation de Zenity ====== | ||
+ | |||
==== Manuels ==== | ==== Manuels ==== | ||
Ligne 284: | Ligne 295: | ||
* **(fr)** [[https://www.chicoree.fr/w/Afficher_des_bo%C3%AEtes_de_dialogue_avec_Zenity|« Afficher des boîtes de dialogue avec Zenity »]] — source : Chicoree.fr | * **(fr)** [[https://www.chicoree.fr/w/Afficher_des_bo%C3%AEtes_de_dialogue_avec_Zenity|« Afficher des boîtes de dialogue avec Zenity »]] — source : Chicoree.fr | ||
- | * **(fr)** [[http://forum.ubuntu-fr.org/viewtopic.php?id=232644%20|« Zenity a du style ! »]] — source : Forum Ubuntu ; sujet : balises HTML fontes et types de fontes dans Zenity | + | * **(fr)** [[https://forum.ubuntu-fr.org/viewtopic.php?id=232644%20|« Zenity a du style ! »]] — source : Forum Ubuntu ; sujet : balises HTML fontes et types de fontes dans Zenity |
* [[zenitor_3|Script de génération de fenêtre Zenity]] script compilé jusqu'à Zesty. Ne fonctionne pas pour les versions suivantes d'Ubuntu. Problèmes de dépendances | * [[zenitor_3|Script de génération de fenêtre Zenity]] script compilé jusqu'à Zesty. Ne fonctionne pas pour les versions suivantes d'Ubuntu. Problèmes de dépendances | ||
- | * [[http://sourceforge.net/projects/yad-dialog/|Yad: un fork de Zenity]]: un script multitâches de Zenity | + | * [[https://sourceforge.net/projects/yad-dialog/|Yad: un fork de Zenity]]: un script multitâches de Zenity |
---- | ---- | ||
- | |||
//Contributeurs principaux : [[utilisateurs:blackbg]], [[utilisateurs:hizoka]]. \\ | //Contributeurs principaux : [[utilisateurs:blackbg]], [[utilisateurs:hizoka]]. \\ | ||
Contributeurs secondaires : [[utilisateurs:mirage59]], [[utilisateurs:TheCaméléon]], [[utilisateurs:herrleiche|Herrleiche]], CKDevelop, Heuzef, [[utilisateurs:eagle08]]// | Contributeurs secondaires : [[utilisateurs:mirage59]], [[utilisateurs:TheCaméléon]], [[utilisateurs:herrleiche|Herrleiche]], CKDevelop, Heuzef, [[utilisateurs:eagle08]]// | ||
+ |