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 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