Check if upower is on path before calling it
authorSiraaj Khandkar <siraaj@khandkar.net>
Tue, 3 Nov 2020 01:18:50 +0000 (20:18 -0500)
committerSiraaj Khandkar <siraaj@khandkar.net>
Tue, 3 Nov 2020 01:18:50 +0000 (20:18 -0500)
home/lib/login_functions.sh

index c4a583a..e6c159d 100644 (file)
@@ -431,30 +431,33 @@ flat_top_5() {
 motd_batt() {
     case "$(uname)" in
         'Linux')
-            upower --dump \
-            | awk '
-                /^Device:[ \t]+/ {
-                    device["path"] = $2
-                    next
-                }
-
-                /  battery/ && device["path"] {
-                    device["is_battery"] = 1
-                    next
-                }
-
-                /    percentage:/ && device["is_battery"] {
-                    device["battery_percentage"] = $2
-                    sub("%$", "", device["battery_percentage"])
-                    next
-                }
-
-                /^$/ {
-                    if (device["is_battery"] && device["path"] == "/org/freedesktop/UPower/devices/DisplayDevice")
-                        print device["battery_percentage"], 100, "batt"
-                    delete device
-                }
-            '
+            if which upower > /dev/null
+            then
+                upower --dump \
+                | awk '
+                    /^Device:[ \t]+/ {
+                        device["path"] = $2
+                        next
+                    }
+
+                    /  battery/ && device["path"] {
+                        device["is_battery"] = 1
+                        next
+                    }
+
+                    /    percentage:/ && device["is_battery"] {
+                        device["battery_percentage"] = $2
+                        sub("%$", "", device["battery_percentage"])
+                        next
+                    }
+
+                    /^$/ {
+                        if (device["is_battery"] && device["path"] == "/org/freedesktop/UPower/devices/DisplayDevice")
+                            print device["battery_percentage"], 100, "batt"
+                        delete device
+                    }
+                '
+            fi
         ;;
     esac
 }
This page took 0.033478 seconds and 4 git commands to generate.