From e1a52031546cb4728ee334dea571ea7c0edd3d66 Mon Sep 17 00:00:00 2001 From: "Mariano Z." Date: Mon, 29 Sep 2025 15:58:41 -0300 Subject: [PATCH] dev: automated commit - 2025-09-29 15:58:41 --- local-bin/.local/bin/battery-monitor | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 local-bin/.local/bin/battery-monitor diff --git a/local-bin/.local/bin/battery-monitor b/local-bin/.local/bin/battery-monitor new file mode 100755 index 0000000..b0c46ad --- /dev/null +++ b/local-bin/.local/bin/battery-monitor @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# Designed to be run by systemd timer every 30 seconds and alerts if battery is low + +BATTERY_THRESHOLD=10 +NOTIFICATION_FLAG="/run/user/$UID/omarchy_battery_notified" + +get_battery_percentage() { + upower -i "$(upower -e | grep 'BAT')" | + awk -F: '/percentage/ { + gsub(/[%[:space:]]/, "", $2); + val=$2; + printf("%d\n", (val+0.5)) + exit + }' +} + +get_battery_state() { + upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}' +} + +send_notification() { + notify-send -u critical "󱐋 Time to recharge!" "Battery is down to ${1}%" -i battery-caution -t 30000 +} + +BATTERY_LEVEL=$(get_battery_percentage) +BATTERY_STATE=$(get_battery_state) + +if [[ "$BATTERY_STATE" == "discharging" && "$BATTERY_LEVEL" -le "$BATTERY_THRESHOLD" ]]; then + if [[ ! -f "$NOTIFICATION_FLAG" ]]; then + send_notification "$BATTERY_LEVEL" + touch "$NOTIFICATION_FLAG" + fi +else + rm -f "$NOTIFICATION_FLAG" +fi