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 12/07/2018, 21:22]
LukePerp [YAD]
yad_yet_another_dialog [Le 29/01/2019, 22:35] (Version actuelle)
zococo [Types de champs de la fenêtre form (formulaire)]
Ligne 34: 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 60: 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 86: Ligne 84:
 | Affichage ​              ​|''​%%--text-info%%'' ​     | Affiche le contenu d'un fichier texte     | | Affichage ​              ​|''​%%--text-info%%'' ​     | Affiche le contenu d'un fichier texte     |
 | Affichage ​              ​|''​%%--picture%%'' ​     | Un simple visionneur d'​images ​    | | Affichage ​              ​|''​%%--picture%%'' ​     | Un simple visionneur d'​images ​    |
-| Multiples ​             |''​%%--form%%'' ​  | Affiche une multitude de boîte ​|+| Multiples ​             |''​%%--form%%'' ​  | Affiche une multitude de champs ​|
 | Multiples ​                ​|''​%%--notebook%%'' ​      | Affiche une boîte avec des onglets | | Multiples ​                ​|''​%%--notebook%%'' ​      | Affiche une boîte avec des onglets |
 | Multiple |''​%%--paned%%''​| Affiche une boîte en deux parties| | Multiple |''​%%--paned%%''​| Affiche une boîte en deux parties|
Ligne 96: Ligne 94:
 Les formulaires permettent de décliner les différentes options de yad dans la même fenêtre. Les formulaires permettent de décliner les différentes options de yad dans la même fenêtre.
 Les types de champs de formulaire sont saisis sous la forme  Les types de champs de formulaire sont saisis sous la forme 
---field=LABEL[:​TYPE]+--field="LABEL"[:TYPE]
 Les types de champs sont les suivants : H, RO, NUM, CHK, CB, CBE, CE, FL, SFL, DIR, CDIR, FN, MFL, MDIR, DT, SCL, CLR, BTN, FBTN, LBL, TXT.            || Les types de champs sont les suivants : H, RO, NUM, CHK, CB, CBE, CE, FL, SFL, DIR, CDIR, FN, MFL, MDIR, DT, SCL, CLR, BTN, FBTN, LBL, TXT.            ||
 ^Type de champ^ Utilisation^ ^Type de champ^ Utilisation^
Ligne 122: 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 164: 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 169: 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 197: 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 356: 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 392: 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.1531423354.txt.gz
  • Dernière modification: Le 12/07/2018, 21:22
  • par LukePerp