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 14/07/2018, 11:35]
LukePerp [Voir aussi]
yad_yet_another_dialog [Le 29/07/2018, 13:32] (Version actuelle)
zococo [Les boutons.]
Ligne 120: 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 367: 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 404: Ligne 426:
    
   * **(en)** [[http://​manpages.ubuntu.com/​manpages/​wily/​man1/​yad.1.html|Manuel des fonctions]]   * **(en)** [[http://​manpages.ubuntu.com/​manpages/​wily/​man1/​yad.1.html|Manuel des fonctions]]
-  * **(en)** [[http://​smokey01.com/​yad/​|Exemples ​sur les bases détaillés]] +  * **(en)** [[http://​smokey01.com/​yad/​|Exemples ​simples de toutes ​les fonctions de base (Recommandé)]] 
-  * **(en)** [[https://​sourceforge.net/​p/​yad-dialog/​wiki/​browse_pages/​|Site officiel ​et pleins ​d'exemples]]+  * **(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)** [[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/​the-buttons-of-yad|Exemples sur les boutons]]
  • yad_yet_another_dialog.1531560953.txt.gz
  • Dernière modification: Le 14/07/2018, 11:35
  • par LukePerp