diff options
Diffstat (limited to 'etc/status.sh')
-rwxr-xr-x | etc/status.sh | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/etc/status.sh b/etc/status.sh new file mode 100755 index 0000000..151728b --- /dev/null +++ b/etc/status.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +STATUSPIPE="/tmp/xmobar_status_jrk" + +function isMuted () { + # retrieve mute status + # return an arbitrary string for true or nothing at all + echo +} + +function getPercent () { + # somehow retrieve the percent value as plain int (e.g. "66") + echo "66" +} + +function percentBar () { + local i=1 res= + normal=47 high=80 + fgColor='#657b83' mutedColor='#cb4b16' + lowColor='#859900' midColor='#b58900' + highColor='#cb4b16' + + bar="$(echo -ne "\u2588")" + percent="$( getPercent )" + muted="$( isMuted )" + + if [ -n "$muted" ]; then + res="<fc=$mutedColor>" + else + res="<fc=$lowColor>" + fi + + while [ $i -lt $percent ]; do + if [ $i -eq $normal -a -z "$muted" ]; then + res+="</fc><fc=$midColor>" + elif [ $i -eq $high -a -z "$muted" ]; then + res+="</fc><fc=$highColor>" + fi + + res+=$bar + i=$((i+1)) + done + + res+="</fc><fc=$fgColor>" + + while [ $i -lt 100 ]; do + res+='-' + i=$((i+1)) + done + + echo "$res</fc>" +} + +[[ -p $STATUSPIPE ]] || mkfifo $STATUSPIPE + +echo "$( percentBar )" > "$STATUSPIPE" |