Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/03/2018, à 09:54

ar barzh paour

[Abandonné] yad bug avec !$

deux ans après je me remets à  yad

je tombe avec l'utilisation des comboBox sur un os
le contexte :
man yad précise :

   Form options
       --field=LABEL[:TYPE]
       pour le TYPE CB :
       CB - combo-box field. Initial value is a list VAL1!VAL2!.... The
              separator is the same as in NUM field.
       pour le type NUM       
       NUM   .......................    `!'  is a default item separator.

ce que je veux c'est un choix entre Data et SH dans une  boîte (en utilisant yad bien sur)

ce code fonctionnne bien dans un script : j'ai bien choix entre Data et SH etc

#!/bin/bash
rep1="Data"
rep2="SH"
res=$( yad \
    --form \
    --field="Répertoire de recherche :CB" "$rep1!$rep2" \
   )
echo $?   
echo $res

MAIS il ne fonctionne pas correctement dans un terminal

jpb@jpb-desktop:~$ rep1="Data"
jpb@jpb-desktop:~$ rep2="SH"
jpb@jpb-desktop:~$ res=$( yad \
>     --form \
>     --field="Répertoire de recherche :CB" "$rep1!$rep2" \
    --field="Répertoire de recherche :CB" "$rep1\rep2" \
>    )
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

la boite affiche un seul choix Data<retour chariot>ep2
le résultat après validation

jpb@jpb-desktop:~$ echo $res
ep2|
jpb@jpb-desktop:~$ 

qui est du au !$ qui est interprété ? , j'ai essayé sans succès avec !\$rep2 avec !\$$rep2

j'ai quand même trouvé pour que cela fonctionne
d'après man yad

       --item-separator=STRING
              Set  separator  character for combo-box or scale values. Default
              is `!'.
rep1="Data"
rep2="SH"
res=$( yad \
    --form \
    --item-separator="|" \
    --field="Répertoire de recherche :CB" "$rep1|$rep2" \
   )

comme j'utilise beaucoup le terminal pour faire des essais , j'ai mis du temps avant de solutionner , et donc je le signale ici 

avez-vous un explication (en particulier sur le !$ )
EDIT trouvé :
!!:$ désigne le dernier argument de la commande précédente. Cela peut être raccourci à! $

quelqu'un a-t-il eu d'autres découvertes analogues sur yad ?

Dernière modification par ar barzh paour (Le 27/10/2018, à 14:49)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne