aboutsummaryrefslogtreecommitdiff
path: root/ratpoison/panel/music
diff options
context:
space:
mode:
Diffstat (limited to 'ratpoison/panel/music')
-rwxr-xr-xratpoison/panel/music38
1 files changed, 33 insertions, 5 deletions
diff --git a/ratpoison/panel/music b/ratpoison/panel/music
index 6190dbc..a01ad03 100755
--- a/ratpoison/panel/music
+++ b/ratpoison/panel/music
@@ -1,11 +1,39 @@
+#!/bin/sh
+
+
+f=1
+d=30 # width
+
while true;do
+
+new=`mpc current`
+if [ "$old" != "$new" ];then
+f=1;
+old="$new"
+fi
+
+
+e=$(expr $f + $d)
+
+if [ $e -gt ${#new} ];then
+e=${#new}
+f=$(expr $e - $d)
+fi
+
if mpc | grep -q playing; then
-echo "p`mpc current`" | cut --bytes 1-40
-echo "K`mpc -h 127.0.0.1 volume | perl -pe 's/^volume://' | perl -pe 's/%$//' | perl -pe 's/^ //'`"
+symbol='p'
else
-echo "P`mpc current`" | cut --bytes 1-40
-sleep 1;
+symbol='P'
+fi
+
+echo "$symbol`echo $new | cut --bytes $f-$e`"
echo "K`mpc -h 127.0.0.1 volume | perl -pe 's/^volume://' | perl -pe 's/%$//' | perl -pe 's/^ //'`"
+
+f=$(expr $d / 2 + $f)
+
+if [ $e == ${#new} ];then
+f=1;
fi
-sleep 5;
+
+sleep 2;
done