diff options
-rwxr-xr-x | bin/get_battery_status | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/bin/get_battery_status b/bin/get_battery_status index 57af321..3597acb 100755 --- a/bin/get_battery_status +++ b/bin/get_battery_status @@ -3,25 +3,39 @@ set -euo pipefail IFS=$'\n\t' acpi_output="" +pmset_output="" battery_number=0 battery_percentage=0 battery_remaining="" -if [ -x /usr/bin/acpi ]; then - acpi_output=$(/usr/bin/acpi -b) - battery_number=$(echo $acpi_output|cut -d':' -f1|cut -d' ' -f2) - battery_state=$(echo $acpi_output|cut -d' ' -f3) - battery_state=${battery_state%","} - battery_percentage=$(echo $acpi_output|cut -d' ' -f4) - battery_percentage=${battery_percentage%","} +if [ $(uname) == "Darwin" ]; then + pmset_output="$(pmset -g batt| tail -n1)" + battery_percentage="$(echo $pmset_output| cut -d';' -f1| cut -d' ' -f4)" battery_percentage=${battery_percentage%"%"} - if [ $battery_number -ge 0 ]; then - if [ $battery_state = "Discharging" ]; then - battery_remaining=$(echo $acpi_output|cut -d' ' -f5) - echo "$battery_percentage% ($battery_remaining)" - else - echo "$battery_percentage%" + if [[ "$pmset_output" == *"discharging"* ]]; then + battery_remaining="$(echo $pmset_output| cut -d';' -f3| cut -d' ' -f2)" + echo "$battery_percentage% ($battery_remaining)" + else + echo "$battery_percentage%" + fi +else + if [ -x /usr/bin/acpi ]; then + acpi_output=$(/usr/bin/acpi -b) + battery_number=$(echo $acpi_output|cut -d':' -f1|cut -d' ' -f2) + battery_state=$(echo $acpi_output|cut -d' ' -f3) + battery_state=${battery_state%","} + battery_percentage=$(echo $acpi_output|cut -d' ' -f4) + battery_percentage=${battery_percentage%","} + battery_percentage=${battery_percentage%"%"} + if [ $battery_number -ge 0 ]; then + if [ $battery_state = "Discharging" ]; then + battery_remaining=$(echo $acpi_output|cut -d' ' -f5) + echo "$battery_percentage% ($battery_remaining)" + else + echo "$battery_percentage%" + fi fi fi fi + exit 0 |