-
yad > les boutons
--command=CMDSet left-click action--listenListen for commands on stdin--separator=SEPARATORSet separator character for menu values--item-separator=SEPARATORSet separator character for menu item—
Boutons par défaut
yad --text "coucou"
boutons spécifiques :
yad --text "coucou" --button=gtk-no:1 --button=gtk-yes:0
ORDRE DES BOUTONS
L’ordre des boutons est l’ordre dans lequel on les appelle :
Ouià gauche deNon:yad --text "coucou" --button=gtk-yes:0 --button=gtk-no:1
POSITION
alignement horizontal
--buttons-layout=(center,edge,spread,start, etend(par défaut) ) :yad --text "coucou et blabla et blabla et pis tout ça" --button=gtk-no:1 --button=gtk-yes:0 --buttons-layout=center
yad --text "coucou et blabla et blabla et pis tout ça" --button=gtk-no:1 --button=gtk-yes:0 --buttons-layout=edge
yad --text "coucou et blabla et blabla et pis tout ça" --button=gtk-no:1 --button=gtk-yes:0 --buttons-layout=spread
Boutons verticaux
La boite de formulaire (
form) permet un agencement vertical en utilisant le type de champsBTN.NOTE : Dans ce cas, la boite de dialogue restera ouverte tant qu’on ne la fermera pas manuellement.
Il est donc préférable d’utiliser la méthode avec le code
&& exit 0.Pour fermer la fenêtre après un clic et renvoyer un code retour :
animal=$( yad --no-buttons --form \ --field="PINK FLOYD":BTN ' bash -c "echo pink floyd ; kill -USR2 $YAD_PID" ' \ --field="RADIOHEAD":BTN ' bash -c "echo radiohead ; kill -USR2 $YAD_PID" ' \ --field="FUGAZI":BTN ' bash -c "echo fugazi ; kill -USR2 $YAD_PID" ' ) echo "$animal"
AUCUN BOUTON
yad --text "voili voilou" --no-buttons
TEXTE ET ICÔNES
gtk-yesetgtk-noindiquent à YAD ce qu’il doit afficher. Les icônes disponibles se trouvent à/usr/share/iconsyad --button=gtk-print:1 --button=gtk-quit:1 --button=gtk-dialog-error:1
On peut écrire son propre texte :
yad --text "coucou" --button=gtk-no:1 --button="blablabla":1 --button=gtk-yes:0
Pour utiliser ses propres icônes, on précède le chemin par un
!:yad --button=" Un!$HOME/.icons/a.png":1 --button=" Deux!$HOME/.icons/b.png":1 \ --button=" Trois!$HOME/.icons/c.png":1
NOTE : pour que cela fonctionne à partir d’un terminal, il faut désactiver temporairement l’historique avec
set +H. Puis réactiver avecset -H.COMMANDES
retour d’une commande comme texte d’un bouton
Envoyer le retour d’une commande comme texte d’un bouton :
foo=$(date +"%d %b %Y") yad --text="coucou" --button=gtk-cancel:1 --button="$foo":0
lancer une commande sur un bouton
Le bouton
Cancel, la toucheESC, la croix en haut à droite ou tout bouton assigné à 1 (--button=gtk-no:1), la sortie ne renverra rien.La croix
X, en haut pour fermer la fenêtre, renverra 252.Le bouton
OK, la toucheENTRÉEou tout bouton assigné à 0 (--button=gtk-yes:0), la sortie renverra le choix.Sinon, on peut assigner le numéro que l’on veut et récupérer ce code dans un script.
Exemple : Lancer un navigateur (ou ouvrier une nouvelle fenêtre si déjà lancé). Touche ENTRÉE pour sortir sans rien :
#!/bin/bash yad --text="coucou" --button=gtk-cancel:1 --button="Chromium":2 --button="Firefox":3 --button="Dillo":4 foo=$? [[ $foo -eq 1 ]] && exit 0 if [[ $foo -eq 2 ]]; then chromium && exit 0 elif [[ $foo -eq 3 ]]; then firefox && exit 0 else dillo && exit 0 fi
Il est possible d’assigner des commandes aux boutons au lieu d’un code de sortie :
yad --text="coucou" \ --button=gtk-cancel:1 --button="Chromium":chromium --button="Firefox":firefox --button="Dillo":dillo
Pour fermer une boite de dialogue après l’exécution d’une commande :
--close-on-unfocus.LISTE DES ICÔNES DISPONIBLES
Pour voir les icônes par défaut :
#! /bin/bash export MAIN_DIALOG=' <vbox> <frame Stock> <tree rules_hint="true" exported_column="1"> <height>400</height><width>250</width> <label>Stock ID</label> <item stock="gtk-dialog-authentication">gtk-dialog-authentication</item> <item stock="gtk-dialog-info">gtk-dialog-info</item> <item stock="gtk-dialog-warning">gtk-dialog-warning</item> <item stock="gtk-dialog-error">gtk-dialog-error</item> <item stock="gtk-dialog-question">gtk-dialog-question</item> <item stock="gtk-dnd">gtk-dnd</item> <item stock="gtk-dnd-multiple">gtk-dnd-multiple</item> <item stock="gtk-about">gtk-about</item> <item stock="gtk-add">gtk-add</item> <item stock="gtk-apply">gtk-apply</item> <item stock="gtk-bold">gtk-bold</item> <item stock="gtk-cancel">gtk-cancel</item> <item stock="gtk-cdrom">gtk-cdrom</item> <item stock="gtk-clear">gtk-clear</item> <item stock="gtk-close">gtk-close</item> <item stock="gtk-color-picker">gtk-color-picker</item> <item stock="gtk-convert">gtk-convert</item> <item stock="gtk-connect">gtk-connect</item> <item stock="gtk-copy">gtk-copy</item> <item stock="gtk-cut">gtk-cut</item> <item stock="gtk-delete">gtk-delete</item> <item stock="gtk-directory">gtk-directory</item> <item stock="gtk-disconnect">gtk-disconnect</item> <item stock="gtk-edit">gtk-edit</item> <item stock="gtk-execute">gtk-execute</item> <item stock="gtk-file">gtk-file</item> <item stock="gtk-find">gtk-find</item> <item stock="gtk-find-and-replace">gtk-find-and-replace</item> <item stock="gtk-floppy">gtk-floppy</item> <item stock="gtk-fullscreen">gtk-fullscreen</item> <item stock="gtk-goto-bottom">gtk-goto-bottom</item> <item stock="gtk-goto-first">gtk-goto-first</item> <item stock="gtk-goto-last">gtk-goto-last</item> <item stock="gtk-goto-top">gtk-goto-top</item> <item stock="gtk-go-back">gtk-go-back</item> <item stock="gtk-go-down">gtk-go-down</item> <item stock="gtk-go-forward">gtk-go-forward</item> <item stock="gtk-go-up">gtk-go-up</item> <item stock="gtk-harddisk">gtk-harddisk</item> <item stock="gtk-help">gtk-help</item> <item stock="gtk-home">gtk-home</item> <item stock="gtk-index">gtk-index</item> <item stock="gtk-indent">gtk-indent</item> <item stock="gtk-info">gtk-info</item> <item stock="gtk-unindent">gtk-unindent</item> <item stock="gtk-italic">gtk-italic</item> <item stock="gtk-jump-to">gtk-jump-to</item> <item stock="gtk-justify-center">gtk-justify-center</item> <item stock="gtk-justify-fill">gtk-justify-fill</item> <item stock="gtk-justify-left">gtk-justify-left</item> <item stock="gtk-justify-right">gtk-justify-right</item> <item stock="gtk-leave-fullscreen">gtk-leave-fullscreen</item> <item stock="gtk-missing-image">gtk-missing-image</item> <item stock="gtk-media-forward">gtk-media-forward</item> <item stock="gtk-media-next">gtk-media-next</item> <item stock="gtk-media-pause">gtk-media-pause</item> <item stock="gtk-media-play">gtk-media-play</item> <item stock="gtk-media-previous">gtk-media-previous</item> <item stock="gtk-media-record">gtk-media-record</item> <item stock="gtk-media-rewind">gtk-media-rewind</item> <item stock="gtk-media-stop">gtk-media-stop</item> <item stock="gtk-network">gtk-network</item> <item stock="gtk-new">gtk-new</item> <item stock="gtk-no">gtk-no</item> <item stock="gtk-ok">gtk-ok</item> <item stock="gtk-open">gtk-open</item> <item stock="gtk-paste">gtk-paste</item> <item stock="gtk-preferences">gtk-preferences</item> <item stock="gtk-print">gtk-print</item> <item stock="gtk-print-preview">gtk-print-preview</item> <item stock="gtk-properties">gtk-properties</item> <item stock="gtk-quit">gtk-quit</item> <item stock="gtk-redo">gtk-redo</item> <item stock="gtk-refresh">gtk-refresh</item> <item stock="gtk-remove">gtk-remove</item> <item stock="gtk-revert-to-saved">gtk-revert-to-saved</item> <item stock="gtk-save">gtk-save</item> <item stock="gtk-save-as">gtk-save-as</item> <item stock="gtk-select-color">gtk-select-color</item> <item stock="gtk-select-font">gtk-select-font</item> <item stock="gtk-sort-ascending">gtk-sort-ascending</item> <item stock="gtk-sort-descending">gtk-sort-descending</item> <item stock="gtk-spell-check">gtk-spell-check</item> <item stock="gtk-stop">gtk-stop</item> <item stock="gtk-strikethrough">gtk-strikethrough</item> <item stock="gtk-undelete">gtk-undelete</item> <item stock="gtk-underline">gtk-underline</item> <item stock="gtk-undo">gtk-undo</item> <item stock="gtk-yes">gtk-yes</item> <item stock="gtk-zoom-100">gtk-zoom-100</item> <item stock="gtk-zoom-fit">gtk-zoom-fit</item> <item stock="gtk-zoom-in">gtk-zoom-in</item> <item stock="gtk-zoom-out">gtk-zoom-out</item> </tree> </frame> <hbox> <button cancel></button> <button ok></button> </hbox> </vbox> ' gtkdialog --program=MAIN_DIALOG
Pour utiliser l’icône gtk-color-picker et certains autres, il faut utiliser le séparateur :
yad --button=Colours\!gtk-color-picker:0
et dans un script
yad --button=Colours!gtk-color-picker:0
—