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
yad_yet_another_dialog [Le 15/07/2018, 14:36]
LukePerp [Exemples]
yad_yet_another_dialog [Le 29/07/2018, 13:32] (Version actuelle)
zococo [Les boutons.]
Ligne 369: 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.
  • yad_yet_another_dialog.txt
  • Dernière modification: Le 29/07/2018, 13:32
  • par zococo