This repository has been archived on 2023-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/.local/bin/statusbar/sb-battery
David JULIEN 9d06a61780 legal: change license to GPLv3 in script headers
Kept wondering wether I should keep the MIT (because I highly value
freedom of act) or embrace the GPL (because I don't want this work to
become close-source).

I do understand that this commit (and the next one that is actually
changing the LICENSE) is a defeat for freedom. I guess freedom has been
defeated long time ago, when people and companies figured that was
"free" (as in gratis) was also "free" (as in disposable).

This is not how I think free (as in "libre") works but hey, that surely
is how Intel and other corporations see it (ec: Intel Management Engine
is entirely based on Minix, is close-source, and *maybe* used as a
backdoor by anybody).

It boils down to the Paradox of Tolerance, and I surely won't tolerate
shit going their way. If you want to take open source stuff, be my
guest ; but you have to play by the rules.
2021-02-16 01:09:56 +01:00

44 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env sh
######################################################################
# @author : swytch (adapted from Luke Smith - lukesmith.xyz)
# @file : sb-battery
# @license : GPLv3
# @created : Saturday Feb 13, 2021 17:19:04 CET
#
# @description : battery block dwmblocks
######################################################################
# Will show all batteries with approximate icon for remaining power.
# Or show that the computer is plugged to a power source
# In any case, show the remaining battery percentage
# Also sends a notification if battery running low
notify() { \
case "$(cat "$x")" in
1[0-9]) notify-send -u "normal" "Battery is $status and running low ($capacity%)" "Please plug your computer to a power source" ;;
[0-9]) notify-send -u "critical" "Battery is $status and dangerously low ($capacity%)" "Please plug your computer to a power source - <b>NOW!</b>" ;;
esac
}
for bat in /sys/class/power_supply/BAT?/
do
status="$(cat "$bat/status")"
capacity="$(cat "$bat/capacity")"
if [ "$status" = "Charging" ]; then
status=""
elif [ "$status" = "Full" ];
printf "%s FULL" "$status";
else
case "$capacity" in
100|9[0-9]|8[0-9]) status="" ;;
7[0-9]|6[0-9]) status="" ;;
5[0-9]|4[0-9]) status="" ;;
3[0-9]|2[0-9]) status="" ;;
*) status="" ; [ "$status" != "Charging" ] && notify;;
esac
fi
printf "%s %3d%%\n" "$status" "$capacity";
done && return 0