Update .config/niri/config.kdl Update .config/niri/dms/alttab.kdl Update .config/niri/dms/layout.kdl Update .config/niri/dms/wpblur.kdl Update .config/niri/windowrules.kdl Update .local/bin/low-battery-warn
26 lines
888 B
Bash
26 lines
888 B
Bash
#!/usr/bin/env bash
|
|
|
|
THRESHOLD=15
|
|
|
|
# Find the battery device (first one found)
|
|
BATTERY=$(upower -e | grep battery | head -n1)
|
|
|
|
# If no battery found, exit
|
|
if [ -z "$BATTERY" ]; then
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') No battery found. Exiting."
|
|
exit 0
|
|
fi
|
|
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') Battery device: $BATTERY"
|
|
|
|
# Get battery state and percentage
|
|
STATE=$(upower -i "$BATTERY" | awk '/state:/ {print $2}')
|
|
PERCENT=$(upower -i "$BATTERY" | awk -F'[:%]' '/percentage:/ {gsub(/ /,"",$2); print $2}')
|
|
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') Battery state: $STATE, percentage: $PERCENT"
|
|
|
|
# Only notify if discharging and below threshold
|
|
if [ "$STATE" = "discharging" ] && [ "$PERCENT" -lt "$THRESHOLD" ]; then
|
|
notify-send "Battery low" "Battery at ${PERCENT}% and discharging."
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') Notification sent: Battery at ${PERCENT}% and discharging."
|
|
fi
|