summaryrefslogtreecommitdiffhomepage
path: root/etc/status.sh
diff options
context:
space:
mode:
Diffstat (limited to 'etc/status.sh')
-rwxr-xr-xetc/status.sh56
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"