web-dev-qa-db-fra.com

Zenity multi-choix du clavier

Je recherchais un script zenity offrant le choix entre plusieurs commandes (options de déconnexion, programmes). En regardant le script discuté ici (qui utilise l'option --radiolist), j'ai remarqué qu'il fournit une liste d'options qui ne peuvent pas être sélectionnées à partir du clavier.

Mais celui que j'ai trouvé ici peut le faire, je souhaite donc le partager ici. Je pense que c'est utile.

3
user47206

La forme générale du script (avec UPPERCASE pour les entrées modifiables) est la suivante:

#!/bin/bash

ask=`zenity --list --title="WHATEVER Options" --column="0" "OPTION1" "OPTION2" "OPTION3" "OPTION4" --width=100 --height=300 --hide-header`

if [ "$ask" == "OPTION1" ]; then
    COMMAND_FOR_OPTION1
fi

if [ "$ask" == "OPTION2" ]; then
    COMMAND_FOR_OPTION2
fi

if [ "$ask" == "OPTION3" ]; then
    COMMAND_FOR_OPTION3
fi

if [ "$ask" == "OPTION4" ]; then
    COMMAND_FOR_OPTION4
fi
exit 0

Lorsque la fenêtre s'ouvre, aucune option n'est encore sélectionnée. Pour sélectionner (c’est-à-dire avant , appuyez sur Entrée pour appliquer):

  • utilisez la première lettre (et les flèches si plus d'une entrée commence par cette lettre) ou les premières lettres
  • toute lettre (c'est-à-dire n'importe quelle touche sauf Entrée, Retour arrière, Esc, etc. et modificateurs) pour sélectionner la première entrée et les flèches haut-bas pour le reste.

enter image description here

  • Esc à rejeter.

Le texte par défaut "Sélectionner les éléments de la liste ci-dessous" peut être modifié à l'aide de l'option --text="Your text here"; la couleur et la police de caractères peuvent être modifiées comme indiqué ici .

3
user47206