OSDN Git Service

temporary fix battery status error
[instantos/instantOS.git] / status.sh
index be9b1e6..dd86376 100755 (executable)
--- a/status.sh
+++ b/status.sh
@@ -4,6 +4,8 @@
 ## status monitor for instantWM ##
 ##################################
 
+# will be rewritten soon
+
 INTERNET="X"
 date=""
 
@@ -16,7 +18,6 @@ istat() {
     echo "$2" >/tmp/instantos/status/"$1"
 }
 
-
 mkdir -p /tmp/instantos/status
 
 # update different parts with different frequency
@@ -33,7 +34,7 @@ while :; do
 
     # battery indicator on laptop
     if [ -n "$ISLAPTOP" ]; then
-        TMPBAT=$(acpi)
+        TMPBAT=$(acpi | head -1)
         if [[ $TMPBAT =~ "Charging" ]]; then
             BATTERY="^c$GREEN^  B"$(egrep -o '[0-9]*%' <<<"$TMPBAT")"  "
         else
@@ -65,30 +66,54 @@ while :; do
         fi
         istat UPDATES "U$UPDATES"
     fi
+
+    if ! iconf -i notheming; then
+        DATEHOUR="$(date +%H)"
+        if [ "$DATEHOUR" -lt "7" ] || [ "$DATEHOUR" -gt "20" ]; then
+            if ! [ -e /tmp/instantdarkmode ]; then
+                instantthemes d &
+                touch /tmp/instantdarkmode
+                [ -e /tmp/instantlightmode ] && rm /tmp/instantlightmode
+            fi
+        else
+            if ! [ -e /tmp/instantlightmode ]; then
+                instantthemes l &
+                touch /tmp/instantlightmode
+                [ -e /tmp/instantdarkmode ] && rm /tmp/instantdarkmode
+
+            fi
+        fi
+    fi
+
 done &
 
 sleep 2
 
 # 10 sec loop
 while :; do
-    # option to disable status text and check for enabling it again
-    if [ -e ~/.instantsilent ] && [ -z "$FORCESTATUS" ]; then
-        sleep 1m
-        continue
-    fi
 
     for i in /tmp/instantos/status/*; do
-        date="${date}$(cat $i)"
+        date="${date}$(cat "$i")"
     done
 
     # date time
     date="$date^d^  $(date +'%d-%m')  ^c$DARKBACK^  $(date +'%H:%M')  "
     # volume
-    date="$date^c$LIGHTBACK^  A$(amixer get Master | grep -Eo '[0-9]{1,3}%' | head -1)  "
+    date="$date^c$LIGHTBACK^  A$(
+        {
+            amixer -D pulse get Master || amixer sget Master
+        } 2>/dev/null |
+            grep -Eo -m1 '1?[0-9]{1,2}%'
+    )  "
+
+    # option to disable status text
+    if [ -e ~/.instantsilent ] && [ -z "$FORCESTATUS" ]; then
+        echo "^d^^f11^$date^d^"
+    else
+        # add 11 px spacing
+        xsetroot -name "^d^^f11^$date^d^"
+    fi
 
-    # add 11 px spacing
-    xsetroot -name "^d^^f11^$date^d^"
     date=""
-
     sleep 10
 done