Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
yad_yet_another_dialog [Le 27/05/2018, 23:42]
zococo [Types de champs de la fenêtre form (formulaire)]
yad_yet_another_dialog [Le 29/07/2018, 13:32] (Version actuelle)
zococo [Les boutons.]
Ligne 10: Ligne 10:
  
 **Yad** est un fork de [[:​Zenity|Zenity]] **Yad** est un fork de [[:​Zenity|Zenity]]
 +Ses avantages par rapport à Zenity sont l'​intégration de plusieurs contrôles sur une même fenêtre (voir le paramètre --form)
  
 ===== Auteurs ===== ===== Auteurs =====
Ligne 33: Ligne 34:
  
 ==== Par compilation ==== ==== Par compilation ====
 +< Pour les utilisateurs avancés >
 **Yad** évolue très vite, il peut être utile de compiler la dernière version. **Yad** évolue très vite, il peut être utile de compiler la dernière version.
  
Ligne 59: Ligne 61:
 sudo make install sudo make install
 </​code>​ </​code>​
-===== Configuration ===== +
-  +
-A complèter +
- +
 ===== Utilisation ===== ===== Utilisation =====
 ==== Types de fenêtres ==== ==== Types de fenêtres ====
Ligne 121: Ligne 120:
 |TXT            |Entrée texte multiligne. Occupe l’ensemble de la surface du formulaire.| |TXT            |Entrée texte multiligne. Occupe l’ensemble de la surface du formulaire.|
 ===== Exemples ===== ===== Exemples =====
-[[https://​code.google.com/​archive/​p/​yad/​wikis|Quelques exemples sur cette page]]+Avant de vous lancer dans la lecture, notez que vous trouverez de nombreux exemples, simples et complexes avec ces liens : 
 +  * [[http://​smokey01.com/​yad|Apprendre par l'​exemple]] ([[https://​www.dropbox.com/​s/​56k5ta6j52r9inu/​yad.pdf|copie en PDF]]) 
 +  * [[https://​code.google.com/​archive/​p/​yad/​wikis|Applications simples]]
 ====--calendar==== ====--calendar====
 Dans cet exemple le calendrier s'​ouvrira à la date du jour et la sortie sera de format sam./​27/​juil./​2019/​ Dans cet exemple le calendrier s'​ouvrira à la date du jour et la sortie sera de format sam./​27/​juil./​2019/​
Ligne 163: Ligne 164:
 echo "​$retour"​ echo "​$retour"​
 </​code>​ </​code>​
 +{{::​yad.1.png?​300|}}
 +
 et (un seul formulaireavec toutes les options risque de dépasser les dimensions de votre écrann) : et (un seul formulaireavec toutes les options risque de dépasser les dimensions de votre écrann) :
 <​code>​ <​code>​
Ligne 168: Ligne 171:
 echo "​$retour"​ echo "​$retour"​
 </​code>​ </​code>​
 +{{::​yad2.png?​500|}}
 +
 Si l'on reprend l'​exemple précédent vous pouvez entrer votre recherche et choisir le moteur le plus approprié : Si l'on reprend l'​exemple précédent vous pouvez entrer votre recherche et choisir le moteur le plus approprié :
 <​code>​ <​code>​
Ligne 196: Ligne 201:
 <​code>​yad --notification --image="​gtk-help"</​code>​ <​code>​yad --notification --image="​gtk-help"</​code>​
 <​code>​yad --notification --image="​system-software-update"</​code>​ <​code>​yad --notification --image="​system-software-update"</​code>​
 +
 +Exemple avec un script faisant les mises à jour et affichant avec un icône dans la zone de notification pour le signaler :
 +<​code>#​!/​bin/​bash
 +MSG="​Mise à jour du système en cours, n'​éteignez pas l'​ordinateur..."​
 +notify-send "​$MSG"​
 +faireMaJ () { (sudo apt update ; sudo apt full-upgrade) > /dev/null; quit ; }
 +faireMaJ | yad --notification --no-middle --text="​$MSG"​ --image="​system-software-update"​ --command="​zenity --info --text \"​$MSG\""​ --listen
 +exit 0</​code>​
 +{{::​yad.3.png?​400|}}
  
 La liste des noms d'​icones standard sont là : [[https://​wiki.gnome.org/​Attic/​GnomeArt/​Tutorials/​IconThemes#​Step_3._Icon_naming_.26_organization|LIEN]] La liste des noms d'​icones standard sont là : [[https://​wiki.gnome.org/​Attic/​GnomeArt/​Tutorials/​IconThemes#​Step_3._Icon_naming_.26_organization|LIEN]]
Ligne 355: Ligne 369:
 </​code>​ </​code>​
 L'​icone peut-être définie par son chemin complet ou par une icone système (Dans mon exemple "​search"​.). L'​icone peut-être définie par son chemin complet ou par une icone système (Dans mon exemple "​search"​.).
 +
 +===Fermer la fenêtre et lancer une action===
 +Il est possible d'​affecter une action à un bouton yad. 
 +<​code>​
 +yad --form --field "​Bouton 1:btn" --field "​Bouton 2:btn" --field "​Bouton 3:btn" "echo '​bouton n°1 cliqué'"​ "echo '​bouton n°2 cliqué'"​ "echo '​bouton n°3 cliqué'"​
 +</​code>​
 +Dans cet exemple simple, l'​appui sur un bouton déclenche l'​affichage d'un message simple. Il est possible d'​aller un peu plus loin en activant une fonction personnalisée ou un script bash.
 +<​code>​
 +function bonjour () { echo "​Bonjour ""​$USER""​.";​ PidYad=$(pgrep yad); echo "Le pid de Yad est ""​$PidYad";​ }
 +export -f bonjour
 +yad --form --field "​bonjour:​btn"​ "bash -c bonjour"​
 +</​code>​
 +Dans cet autre exemple, on crée une fonction toute simple qui affiche le nom de l'​utilisateur ainsi que le numéro d'​identification du processus affecté à yad. Cette fonction est ensuite appelée par le bouton personnalisé yad.
 +
 +Ce numéro pid (process identification digit) peut être utilisé pour fermer la fenêtre yad si le bouton appelle un script. En effet, comme indiqué ci-dessus, si la sortie du bouton n'est pas numérique, l'​appui sur le bouton ne permet pas de fermer la fenêtre. Avec cette astuce, il est possible de combiner les deux actions. Exemple :
 +<​code>​
 +function ferme_yad () { bonjour ; PidYad=$(pgrep yad); kill -s SIGUSR1 "​$PidYad";​}
 +export -f ferme_yad
 +yad --form --field "​bonjour:​btn"​ "bash -c ferme_yad"​
 +</​code>​
 ====Récupérer les sorties dans les boîtes multiples.==== ====Récupérer les sorties dans les boîtes multiples.====
 Dans les boîtes multiples la sortie standard sera de type champ1|champ2|champ3| où "​|"​ est le séparateur par défaut. Dans les boîtes multiples la sortie standard sera de type champ1|champ2|champ3| où "​|"​ est le séparateur par défaut.
Ligne 391: Ligne 425:
 ===== Voir aussi ===== ===== Voir aussi =====
    
-  * **(en)** [[https://​sourceforge.net/​projects/​yad-dialog|Site officiel ​du logiciel]] +  ​* **(en)** [[http://​manpages.ubuntu.com/​manpages/​wily/​man1/​yad.1.html|Manuel des fonctions]] 
-  * **(en)** [[https://​groups.google.com/​forum/#​!forum/​yad-common|Forum de discution du logiciel. L'​auteur ​participe ​souvent.]] +  * **(en)** [[http://​smokey01.com/​yad/​|Exemples simples de toutes les fonctions de base (Recommandé)]] 
-  * **(en)** [[https://​www.thelinuxrain.com/​articles/​multiple-item-data-entry-with-yad|Exemples ​illustrés pour les formulaires à items multiples]]+  ​* **(en)** [[https://​sourceforge.net/​p/yad-dialog/​wiki/​browse_pages/​|Site officiel ​avec exemples d'​applications]] 
 +  * **(en)** [[https://​groups.google.com/​forum/#​!forum/​yad-common|Forum de discussion. L'​auteur participe.]] 
 +  * **(en)** [[http://​www.thelinuxrain.com/​articles/​the-buttons-of-yad|Exemples sur les boutons]] 
 +  * **(en)** [[http://​www.thelinuxrain.com/​articles/​multiple-item-data-entry-with-yad|Exemples ​sur les items multiples]]
   * **(en)** [[https://​pypi.python.org/​pypi?​name=yad&​version=0.9.3&:​action=display|Ajouter Yad à vos scripts Python (non testé)]]   * **(en)** [[https://​pypi.python.org/​pypi?​name=yad&​version=0.9.3&:​action=display|Ajouter Yad à vos scripts Python (non testé)]]
-  * **(en)** [[https://​www.thelinuxrain.com/​articles/​the-buttons-of-yad|Les boutons avec Yad]] 
-  * **(en)** [[http://​smokey01.com/​yad/​|Bien utile liste détaillée d'​exemples]] 
    
 ---- ----
-//​Contributeurs principaux : [[sergeG75018]].//​+//​Contributeurs principaux : [[sergeG75018]], LukePerp.//
    
 //Basé sur [[http://​manpages.ubuntu.com/​manpages/​wily/​man1/​yad.1.html|« les pages du manuel »]].// //Basé sur [[http://​manpages.ubuntu.com/​manpages/​wily/​man1/​yad.1.html|« les pages du manuel »]].//
  • yad_yet_another_dialog.1527457379.txt.gz
  • Dernière modification: Le 27/05/2018, 23:42
  • par zococo