Bonjour ici!
Pour afficher un spinner pendant l'execution d'un process à durée
indéterminée, on aime afficher un `spinner', afin de faire poireauter
l'utilisateur.
spinner() {
local -i pnt
local -a shapes=(\| / - \\)
while ! read -rsn 1 -t .2 _; do
printf '\e7%b\e8' "${shapes[pnt++%${#shapes[@]}]}"
done
}
printf '\e[?25lThis is a spinner: ';spinner;printf '\e[?25h\n'
Ensuite, l'idée de le lancer en arrière plan, pour ensuite
effectuer les loongues tâches, sans se préoccuper du spinner
et enfin stopper le spinner lorsque la ou les tâches sont terminées.
Puis l'idée d'utiliser du braille pour dessiner un serpent
qui s'allonge et se réduit...
Enfin je suis tombé sur https://github.com/sindresorhus/cli-spinners
qui fait du json pour pouvoir faire du bash en node... Je ne suis
pas sûr d'avoir bien compris son champ d'application, mais l'idée de
les stoquer en JSON et intéressante et les spinners (thèmes ou formes)
proposés sont amusants
Du coup, j'ai décidé de finaliser proprement un ensemble de fonction
pour créer un spinner, le démarrer et le stopper en arrière plan,
avec quelque commandes `jq` pour manipuler la liste des thèmes
contenus dans le fichier JSON.
C'est sur https://f-hauri.ch/vrac/ :
le script: https://f-hauri.ch/vrac/spinnerBg.sh.txt
le JSON: https://f-hauri.ch/vrac/spinners.json
en tarball: https://f-hauri.ch/vrac/spinnerBg.tzst
Comme d'hab, commentaire et remarque sont bienvenus!
Avec mes meilleurs voeux pour la nouvelle année 2026!!
--
Félix Hauri - <[email protected]> - http://www.f-hauri.ch
_______________________________________________
gull mailing list
[email protected]
https://forum.linux-gull.ch/mailman/listinfo/gull