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 21/11/2010, à 14:21

Tomzz

Visualiser une progression dans un script graphique

Bonjour,

J'ai fais quelques scripts avec zenity ou gtkdialog, et le soucis que je rencontre souvent, c'est que pour certaines opérations j'aurais aimé avoir un affichage pour visualiser les opérations en cours, leur progression mais aussi les éventuelles erreurs.


J'ai souvent fais ça avec xterm, mais ce n'est pas très esthétique.

Du coup j'ai trouvé cette combine, toujours avec xterm, mais ce coup ci je redimensionne la fenêtre et je place xterm au milieu de l'écran, quelque soit la résolution.

Par exemple, avec lftp

## Récupération de la résolution de l'écran pour centrer le terminal qui affiche la progression du transfert vers le site web
geo=$(xrandr --verbose | grep *current | tail -n 1 | awk '{print $1}' | sed 's/x/ /g'  || geo="800 600")
##  || geo="800 600" est destiné à palier aux cas ou xrandr retourne une erreur (dans virtualbox par ex)
geo1=$(echo ${geo} | awk '{print $1}')
geo2=$(echo ${geo} | awk '{print $2}')
geo1=$(((${geo1}-480)/2))
geo2=$(((${geo2}-65)/2))
...
xterm -geometry 80x2+${geo1}+${geo2} -title 'Transfert en cours' -e lftp ....commandes.."

Dans xterm -geometry 80x2 80 représente le nombre de colonnes et 2 le nombre de lignes de la fenêtre xterm.


Dans geo1=$(((${geo1}-480)/2)) et geo2=$(((${geo2}-65)/2)) 480 représente la valeur approximative de 80 colonnes dans xterm et 65 la valeur de 2 lignes.


Voilà le résultat:
1290342025.png

Dernière modification par Tomzz (Le 02/02/2011, à 00:13)

Hors ligne