• yad > les boutons

      --command=CMD Set left-click action

      --listen Listen for commands on stdin

      --separator=SEPARATOR Set separator character for menu values

      --item-separator=SEPARATOR Set separator character for menu item

       

      YAD (ici, ici et ici),

       

      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 de Non :

       

      yad --text "coucou" --button=gtk-yes:0 --button=gtk-no:1

       

      POSITION

      alignement horizontal

      --buttons-layout= (center, edge, spread, start, et end (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 champs BTN.

       

      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-yes et gtk-no indiquent à YAD ce qu’il doit afficher. Les icônes disponibles se trouvent à /usr/share/icons

       

      yad --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 avec set -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 touche ESC, 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 touche ENTRÉE ou 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

       

       

 

Aucun commentaire

Les commentaires sont fermés !