54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env zsh
 | |
| 
 | |
| if [[ "$(uname)" = 'Linux' ]]; then
 | |
|     let charge_full="$(cat '/sys/class/power_supply/BAT0/charge_full')."
 | |
|     function get_battery_percent {
 | |
|         let charge_now="$(cat '/sys/class/power_supply/BAT0/charge_now')."
 | |
|         printf '%.0f' "$((charge_now / charge_full * 100))"
 | |
|     }
 | |
| 
 | |
|     function is_adapted_connected {
 | |
|         let connected="$(cat /sys/class/power_supply/ADP1/online)"
 | |
|         if ((${connected} == 1)); then
 | |
|             echo 'true'
 | |
|         else
 | |
|             echo 'false'
 | |
|         fi
 | |
|     }
 | |
| 
 | |
|     function get_battery_icon {
 | |
|         let charge_percent="${1}"
 | |
|         if "$(is_adapted_connected)"; then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} <= 10)); then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} <= 20)); then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} <= 30)); then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} <= 40)); then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} <= 50)); then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} <= 60)); then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} <= 70)); then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} <= 80)); then
 | |
|             echo -n ''
 | |
|         elif ((${charge_percent} < 100)); then
 | |
|             echo -n ''
 | |
|         else
 | |
|             echo -n ''
 | |
|         fi
 | |
|     }
 | |
| 
 | |
|     let cp="$(get_battery_percent)"
 | |
|     get_battery_icon "${cp}"
 | |
|     printf '%3d%%\n' "${cp}"
 | |
| # Linux ends here
 | |
| else
 | |
|     echo "${0}: error: unknown os: \"$(uname)\"" >&2
 | |
|     exit 1
 | |
| fi
 |