#1 Le 12/10/2018, à 13:08
- dragonlost
Réalisation d'une interface sous forme de checkliste en YAD
Bonjour tout le monde !
Je suis en ce moment en train de traduire des scripts d'installation qui utilise "dialog" en "yad".
Grâce au nombreux exemple présent sur internet j'ai réussi à m'en sortir jusqu'à maintenant !
Là je bute sur une interface qui change de taille en fonction du nombre d'entrée.
Voici le code en dialog :
select[0]="texte à afficher"
MENU_OPTIONS="1 astrometry-data-4208-4219->114(M) false 2 astrometry-data-4207->116(M) false"
-> c'est un exemple, le nombre de ligne peut varier.
cmd=(dialog --separate-output --clear --checklist "${select[0]}" 22 76 16)
options=(${MENU_OPTIONS})
# affichage
choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
choices contient en sortie les choix, donc si j'ai coché le 1 et le 2 il contiendra "1 2"
J'aimerai pouvoir faire de même en YAD. Je peut tout a fait changer l'entrée (MENU_OPTIONS) si besoin
Pour l'instant j'ai ça mais ça ne marche pas :
cmd=(yad --list --colmun=choix:text --column=:text --column=:chk)
Il m'affiche que 2 colonnes avec: les case à droite en colonne et "1", "false", "astrometry-data-4207->116(M)" en colonne à gauche
Merci pour l'aide.
Dernière modification par dragonlost (Le 12/10/2018, à 13:19)
Hors ligne
#2 Le 12/10/2018, à 13:42
- dragonlost
Re : Réalisation d'une interface sous forme de checkliste en YAD
je vais répondre en partie à ma propre question :
MENU_OPTIONS="false 1 astrometry-data-4208-4219->114(M) false 2 astrometry-data-4207->116(M) "
cmd=(yad --list --no-headers --checklist --colmun=choix --column=numero --column=packet)
choices=$("${cmd[@]}" "${options[@]}")
L'interface est correcte mais ça me sort pas "1 2" mais :
"TRUE|2|astrometry-data-4207->116(M)|" si je sélectionne le deuxième
"TRUE|1|astrometry-data-4208-4219->114(M)|" si je sélectionne le premier
"TRUE|1|astrometry-data-4208-4219->114(M)| TRUE|2|astrometry-data-4207->116(M)|" si j'ai sélectionné les 2
Du coup comment pourrai je aller de ça à ma sortie normale ?
Dernière modification par dragonlost (Le 12/10/2018, à 14:05)
Hors ligne
#3 Le 12/10/2018, à 15:01
- dragonlost
Re : Réalisation d'une interface sous forme de checkliste en YAD
Bon bas j'ai trouvé en fait :
Il faut rajouter ça :
choices_n=
for choice in $choices
do
choices_n="${choices_n} $(echo "$choice" | cut -d "|" -f2)"
done
echo $choices_n
Hors ligne