28 lines
		
	
	
		
			881 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			881 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
# Prints all batteries, their percentage remaining and an emoji corresponding
 | 
						|
# to charge status (🔌 for plugged up, 🔋 for discharging on battery, etc.).
 | 
						|
 | 
						|
case $BLOCK_BUTTON in
 | 
						|
    3) notify-send "🔋 Battery module" "🔋: discharging
 | 
						|
🛑: not charging
 | 
						|
♻: stagnant charge
 | 
						|
🔌: charging
 | 
						|
⚡: charged
 | 
						|
❗: battery very low!" ;;
 | 
						|
esac
 | 
						|
 | 
						|
# Loop through all attached batteries.
 | 
						|
for battery in /sys/class/power_supply/BAT?
 | 
						|
do
 | 
						|
	# Get its remaining capacity and charge status.
 | 
						|
	capacity=$(cat "$battery"/capacity) || break
 | 
						|
	status=$(sed "s/Discharging/🔋/;s/Not charging/🛑/;s/Charging/🔌/;s/Unknown/♻️/;s/Full/⚡/" "$battery"/status)
 | 
						|
 | 
						|
	# If it is discharging and 25% or less, we will add a ❗ as a warning.
 | 
						|
	 [ "$capacity" -le 25 ] && [ "$status" = "🔋" ] && warn="❗"
 | 
						|
 | 
						|
	printf "%s%s%s%% " "$status" "$warn" "$capacity"
 | 
						|
	unset warn
 | 
						|
done | sed 's/ *$//'
 |