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 07/12/2020, 21:08]
FrViPofm [États de sorties] orthographe
yad_yet_another_dialog [Le 28/09/2022, 21:04] (Version actuelle)
Amiralgaby correction de certain script shell repéré grâce à wiki-corrector
Ligne 10: Ligne 10:
  
 **Yad** est un fork de [[:​Zenity|Zenity]]. ​ **Yad** est un fork de [[:​Zenity|Zenity]]. ​
-Ses avantages par rapport à Zenity sont l'​intégration de plusieurs contrôles sur une même fenêtre (voir le paramètre --form)+Ses avantages par rapport à Zenity sont l'​intégration de plusieurs contrôles sur une même fenêtre (voir le paramètre ​%%--%%form)
  
 ===== Auteurs ===== ===== Auteurs =====
Ligne 49: Ligne 49:
  <​note>​  <​note>​
 L'​auteur fourni une petite application qui permet de lister les icônes pouvant être utilisées. L'​auteur fourni une petite application qui permet de lister les icônes pouvant être utilisées.
-Il vous faut également activer le widget --html.+Il vous faut également activer le widget ​%%--%%html.
 Procèder comme suit pour les installer. Procèder comme suit pour les installer.
 </​note>​ </​note>​
Ligne 90: Ligne 90:
 ==== Types de champs de la fenêtre form (formulaire) ==== ==== Types de champs de la fenêtre form (formulaire) ====
 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 123: Ligne 123:
 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/​
  
---title="​Titre de la fenêtre":​ Indique le titre de votre fenêtre.+%%--%%title="​Titre de la fenêtre":​ Indique le titre de votre fenêtre.
  
---window-icon="​yad":​ Affiche une icône dans la barre du titre (Selon votre thème.) et sur le bouton de la liste des fenêtres.+%%--%%window-icon="​yad":​ Affiche une icône dans la barre du titre (Selon votre thème.) et sur le bouton de la liste des fenêtres.
 <​code>​ <​code>​
 jour=$(date +%d) jour=$(date +%d)
Ligne 150: Ligne 150:
 #!/bin/bash #!/bin/bash
 recherche=$(yad --entry --title='​Recherche web' --text='​Tapez votre recherche'​ --text-align="​center"​ --no-escape --mouse --undecorated --skip-taskbar --on-top) recherche=$(yad --entry --title='​Recherche web' --text='​Tapez votre recherche'​ --text-align="​center"​ --no-escape --mouse --undecorated --skip-taskbar --on-top)
-recherche=$(echo "$recherche" | sed 's/ /+/g') +recherche=${recherche// /+} 
-xdg-open https://​www.google.fr/​search?​q="$recherche"\&​site=webhp\&​source=lnt\&​tbs=lr:​lang_1fr\&​lr=lang_fr+xdg-open ​"https://​www.google.fr/​search?​q=$recherche&​site=webhp&​source=lnt&​tbs=lr:​lang_1fr&​lr=lang_fr"
 </​code>​ </​code>​
 ====--form==== ====--form====
Ligne 179: Ligne 179:
 --field="​recherche:"​ ''​ \ --field="​recherche:"​ ''​ \
 --field="​Moteur:​CB"​ 'Forum ubuntu!^Google fr') --field="​Moteur:​CB"​ 'Forum ubuntu!^Google fr')
-rech=$(echo $search | awk 'BEGIN {FS="​|"​ } { print $1 }') +rech=$(echo ​"$search" ​| awk 'BEGIN {FS="​|"​ } { print $1 }') 
-moteur=$(echo $search | awk 'BEGIN {FS="​|"​ } { print $2 }')+moteur=$(echo ​"$search" ​| awk 'BEGIN {FS="​|"​ } { print $2 }')
 if [ "​$moteur"​ = "Forum ubuntu"​ ] if [ "​$moteur"​ = "Forum ubuntu"​ ]
 then then
Ligne 197: Ligne 197:
 <​code>​yad --notification</​code>​ <​code>​yad --notification</​code>​
  
-On peux changer l’icône avec le paramètre **--image**+On peux changer l’icône avec le paramètre **%%--%%image**
 <​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 une icône dans la zone de notification pour le signaler : Exemple avec un script faisant les mises à jour et affichant avec une icône dans la zone de notification pour le signaler :
-<​code>#​!/​bin/​bash+<​code>​ 
 +#!/bin/bash
 MSG="​Mise à jour du système en cours, n'​éteignez pas l'​ordinateur..."​ MSG="​Mise à jour du système en cours, n'​éteignez pas l'​ordinateur..."​
 notify-send "​$MSG"​ notify-send "​$MSG"​
-faireMaJ () { (sudo apt update ; sudo apt full-upgrade) > /dev/null; quit ; }+faireMaJ () { (sudo apt update ; sudo apt full-upgrade) > /dev/null; }
 faireMaJ | yad --notification --no-middle --text="​$MSG"​ --image="​system-software-update"​ --command="​zenity --info --text \"​$MSG\""​ --listen faireMaJ | yad --notification --no-middle --text="​$MSG"​ --image="​system-software-update"​ --command="​zenity --info --text \"​$MSG\""​ --listen
-exit 0</​code>​+</​code>​
 {{::​yad.3.png?​400|}} {{::​yad.3.png?​400|}}
  
Ligne 236: Ligne 237:
 --field="​recherche:"​ ''​ \ --field="​recherche:"​ ''​ \
 --field="​Moteur:​CB"​ 'Forum ubuntu!^Google fr') --field="​Moteur:​CB"​ 'Forum ubuntu!^Google fr')
-rech=$(echo $search | awk 'BEGIN {FS="​|"​ } { print $1 }') +rech=$(echo ​"$search" ​| awk 'BEGIN {FS="​|"​ } { print $1 }') 
-moteur=$(echo $search | awk 'BEGIN {FS="​|"​ } { print $2 }')+moteur=$(echo ​"$search" ​| awk 'BEGIN {FS="​|"​ } { print $2 }')
 if [ "​$moteur"​ = "Forum ubuntu"​ ] if [ "​$moteur"​ = "Forum ubuntu"​ ]
 then then
Ligne 257: Ligne 258:
 #!/bin/bash #!/bin/bash
 #####ID --KEY Création aléatoire de l'​id ​ #####ID --KEY Création aléatoire de l'​id ​
-id=$(echo $[($RANDOM % ($[10000 - 32000+ 1)) + 10000)+id=$(($RANDOM % ($((10000 - 32000)) + 1) + 10000))
 ##########​Onglet 1########## ##########​Onglet 1##########
 #####Avec une colonne#######​ #####Avec une colonne#######​
Ligne 304: Ligne 305:
 else else
   retour=$(yad --title="​Fichier à afficher"​ --width 800 --height 200 --text-align="​center"​ --list --radiolist --column="​Sélectionné"​ --column="​Fichier"​ --column="​Mis à jour" --column="​Utillisé"​ False "​$HOME/​Documents/​FichierUn"​ "​Non"​ "​Non"​ False "​$HOME/​Documents/​FichierDEux"​ "​Oui"​ "​Non"​ True "​$HOME/​Documents/​FichierTrois"​ "​Oui"​ "​Non"​)   retour=$(yad --title="​Fichier à afficher"​ --width 800 --height 200 --text-align="​center"​ --list --radiolist --column="​Sélectionné"​ --column="​Fichier"​ --column="​Mis à jour" --column="​Utillisé"​ False "​$HOME/​Documents/​FichierUn"​ "​Non"​ "​Non"​ False "​$HOME/​Documents/​FichierDEux"​ "​Oui"​ "​Non"​ True "​$HOME/​Documents/​FichierTrois"​ "​Oui"​ "​Non"​)
-  cat $(echo "​$retour"​ | cut -d'​|'​ -f2)+  cat "$(echo "​$retour"​ | cut -d'​|'​ -f2)"
 fi fi
-exit 0; 
 </​code>​ </​code>​
 {{ :​yad_disco_00_radiolist.png?​direct&​800 |}} {{ :​yad_disco_00_radiolist.png?​direct&​800 |}}
Ligne 319: Ligne 319:
 {{ :​yad_disco_01_checklist.png?​direct&​800 |}} {{ :​yad_disco_01_checklist.png?​direct&​800 |}}
 <note tip>Bien qu'​étant qualifiée d'​obsolète par certains sites, l'​option --radiolist permet donc de limiter la sélection à un seul choix quand --checklist permet d'en faire plusieurs. Une autre manière de pouvoir sélectionner plusieurs items sans afficher de case à cocher consite à utiliser l'​option --multiple avec --list.</​note>​ <note tip>Bien qu'​étant qualifiée d'​obsolète par certains sites, l'​option --radiolist permet donc de limiter la sélection à un seul choix quand --checklist permet d'en faire plusieurs. Une autre manière de pouvoir sélectionner plusieurs items sans afficher de case à cocher consite à utiliser l'​option --multiple avec --list.</​note>​
-===== Trucs et astuces ​===== +===== Pango Markup Language - mettre en forme un texte ===== 
-==== États ​de sorties==== +Le langage ​de Markup Pango est un langage de mise en forme très simple qui est supporté par Yad. Il permet de mettre en forme le texte via des balises <​span></​span>​.
-0 L'​utilisateur a appuyé sur le bouton OK+
  
 +Quelques balises inspirées du html existent aussi (sans balise <​span>​) : <b> pour gras, <u> pour souligné ...
  
-1 L'utilisateur a appuyé sur le bouton Annuler+La liste des balises autorisées se trouvent ici : [[https://​developer.gnome.org/​pygtk/​stable/​pango-markup-language.html]] 
 + 
 +Exemples : 
 + 
 +**font_desc** : ''​%%--%%text="​une <span font_desc='​Sans italic 10'>​Maison</​span>​ neuve"''​ affiche ​le mot **maison** dans une police ''​sans'',​ en italique, avec une taille de 10.  
 + 
 +**font_desc** : ''​%%--%%text="​une <span font_desc='​Sans italic 10' strikethrough='​true'>​Maison</​span>​ neuve"''​ affiche le mot **maison** dans une police ''​sans'',​ en italique, avec une taille de 10 et barrée (strikethrough) 
 + 
 +**souligné** : ''​%%--%%text="​une <​u>​Maison</​u>​ neuve"''​ affiche le mot **maison** en souligné. 
 + 
 + 
 +===== Trucs et astuces ===== 
 +==== États de sorties==== 
 +Voilà le code (testable) renvoyé par **yad** quand on appuie sur certains boutons pour quitter une boite de dialogue :
  
 +**0** : L'​utilisateur a appuyé sur le bouton OK
  
-70 La boîte de dialogue a été fermée parce que le délai d'attente ​été atteint. (Dans le cas d'un timeout)+**1** : L'utilisateur ​appuyé sur le bouton Annuler
  
 +**70** : La boîte de dialogue a été fermée parce que le délai d'​attente a été atteint. (Dans le cas d'un timeout)
  
-252 La boîte de dialogue a été fermée en appuyant sur la touche Echap ou en cliquant sur le bouton de fermeture de la barre du titre de la boîte de dialogue+**252** : La boîte de dialogue a été fermée en appuyant sur la touche Echap ou en cliquant sur le bouton de fermeture de la barre du titre de la boîte de dialogue
  
  
Ligne 401: Ligne 416:
  
 ===Fermer la fenêtre et lancer une action=== ===Fermer la fenêtre et lancer une action===
-Il est possible d'​affecter une action à un bouton yad. +Il est possible d'​affecter une action à un bouton yad.
 <​code>​ <​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é'"​ 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é'"​
Ligne 453: Ligne 468:
   * Pour accéder à la valeur de chaque champ, il suffit d'​accéder à la case d'​indice correspondant dans le tableau $LesParametres qui est affichée par ${LesParametres[i]} ou i est l'​indice de la case.   * Pour accéder à la valeur de chaque champ, il suffit d'​accéder à la case d'​indice correspondant dans le tableau $LesParametres qui est affichée par ${LesParametres[i]} ou i est l'​indice de la case.
 ==== Gestion d'​erreur : Gtk-Message ==== ==== Gestion d'​erreur : Gtk-Message ====
-L'​utilisation de fenêtres gtk génère l'​affichage d'un message d'​erreur dans la console. ​+L'​utilisation de fenêtres gtk génère l'​affichage d'un message d'​erreur dans la console.
 <​code>​ <​code>​
 usr@pc:​~/​Rep$ Gtk-Message:​ GtkDialog mapped without a transient parent. This is discouraged. usr@pc:​~/​Rep$ Gtk-Message:​ GtkDialog mapped without a transient parent. This is discouraged.
Ligne 475: Ligne 490:
   * **(en)** [[http://​www.thelinuxrain.com/​articles/​multiple-item-data-entry-with-yad|Exemples sur les items multiples]]   * **(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é)]]
- +
 ---- ----
-//​Contributeurs principaux : [[sergeG75018]],​ LukePerp.//+//​Contributeurs principaux : [[sergeG75018]],​ LukePerp., [[utilisateurs:​amiralgaby]]//
    
 //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.1607371724.txt.gz
  • Dernière modification: Le 07/12/2020, 21:08
  • par FrViPofm