ben non, ça ne marche pas pour moi… enfin, juste la fonction dans un terminal, ça roule, mais dans le script que je l’utilise, non. Bon, je le met en entier ici, il faut regarder la partie pour mpd :
[code]#!/bin/sh
#script pour avoir une barre de status dans dwm/wmii
percent() {
NUM=$(echo “scale=2;(($1/$2)*100)” | bc)
if [ "$(echo $NUM | grep -Eo '^.[0-9]+')" != "" ]; then
NUM=$(echo "$NUM" | grep -Eo '^[0-9]+')
else
NUM=0
fi
}
# Usage : percentbar NUM
percentbar() {
echo -n "["
i=1 ; j=1
while [ “$i” -le “$(($1/2))” ]; do
echo -n "="
i=$(($i+1))
done
echo -n ">"
while [ “$j” -le “$(((100-$1)/2))” ]; do
echo -n " "
j=$(($j+1))
done
echo -n “]”
}
#DAEMON=$(ps axo comm | grep -o mplayer | head -n1)
#if [ -z “$DAEMON” ]; then
DAEMON=$(ps axo comm | grep -o wget | head -n1)
#fi
#case $DAEMON in
mplayer )
#ajouter ceci dans le bashrc : alias mplayer=‘mplayer -v > /tmp/mplayer.log’
LOGFILE=/tmp/mplayer.log
TOTALFRAMES=$(grep “frames total:” $LOGFILE |awk ‘{print $3}’)
CURFRAME=$(tail -n1 $LOGFILE | grep -Eo “[0-9]+/” | tail -n1 | cut -d/ -f1)
MPLAYERPERCENT=$(($CURFRAME*100/$TOTALFRAMES))
MPLAYERBAR=$(percentbar $MPLAYERPERCENT)
MPLAYERTITLE=$(cat $LOGFILE | grep “Playing”)
echo “$MPLAYERTITLE $MPLAYERBAR $MPLAYERPERCENT%”
;;
wget )
WGETLOG=/tmp/wget.log
FILENAME=$(awk -F: ‘/Sauvegarde en/{ print $2 }’ $WGETLOG )
PROGRESS=$(cat $WGETLOG | tail -n-2 | grep -Eo “[0-9]{1,3}%”)
WGETBAR=$(percentbar $(cat $WGETLOG | tail -n-2 | grep -Eo “[0-9]{1,3}%” | cut -d% -f1) )
echo “Télécharge :$FILENAME $WGETBAR”
;;
*)
i=1 #variable pour l'affichache des notifications des mails
##########Partie mpd########################
if [ "$(mpc | grep 'playing')" != "" ]; then
MPDSONG=$(mpc | grep -v 'playing' | grep -v 'volume')
MPDRATIO=$(mpc | grep 'playing' | grep -Eo '[0-9]+:[0-9]+/[0-9]+:[0-9]+')
MPDUSED=$(echo $MPDRATIO | grep -Eo '[0-9]+:[0-9]+/' | grep -Eo '[0-9]+:[0-9]+' | sed -e 's/:/./')
MPDTOTAL=$(echo $MPDRATIO | grep -Eo '/[0-9]+:[0-9]+' | grep -Eo '[0-9]+:[0-9]+' | sed -e 's/:/./')
percent $MPDUSED $MPDTOTAL ; MPD=$NUM
MPDBAR=$(percentbar $MPD)
else
MPDSONG=""
MPDBAR=""
fi
#Partie mails#######
if [ -e /tmp/mails ]; then
NBLINES=$(cat /tmp/mails | wc -l) # on compte le nombre de lignes dans le fichier
if [ $NBLINES -gt 0 ]; then # on affiche que si ça en vaut le coup
if [ $i -gt $NBLINES ]; then
i=1
fi
MAILS=$(cat /tmp/mails | sed -n ${i}p )
i=$(( $i + 1 ))
fi
else
MAILS=""
fi
####Partie batterie+espace libre+CPU+heure####
BATTERIE=$(acpi -b | grep -Eo '[0-9]+%')
HOME=$(df -h /home | awk '{print $5}' | grep -Eo '[0-9]+%')
ROOT=$(df -h / | awk '{print $5}' | grep -Eo '[0-9]+%')
UPTIME=$(uptime | sed 's/.*://; s/,//g')
DATE=$(/bin/date +%d/%m/%Y' '%k:%M)
#####Partie pour le volume sonore######
if [ "$(amixer get Master | tail -n 1 |cut -d [ -f4)" = "on]" ]; then
VOL=$(amixer get Master | grep -Eo '[0-9]+%')
else
VOL="OFF"
fi
####on affiche####
echo -n $1 $MPDSONG $MPDBAR '|' '/home:'$HOME '|' '/:'$ROOT '|' $UPTIME '|' 'Bat:'$BATTERIE '|' $MAILS '|' 'Vol:' $VOL '|' $DATE
;;
#esac
exit 0
[/code]