diff --git a/plugins/available/battery.plugin.bash b/plugins/available/battery.plugin.bash index 4049a289..78f54b61 100644 --- a/plugins/available/battery.plugin.bash +++ b/plugins/available/battery.plugin.bash @@ -60,30 +60,8 @@ battery_percentage(){ elif _command_exists acpi; then local ACPI_OUTPUT=$(acpi -b) - case $ACPI_OUTPUT in - *" Unknown"*) - local PERC_OUTPUT=$(echo $ACPI_OUTPUT | head -c 22 | tail -c 2) - case $PERC_OUTPUT in - *%) - echo "0${PERC_OUTPUT}" | head -c 2 - ;; - *) - echo ${PERC_OUTPUT} - ;; - esac - ;; - - *" Charging"* | *" Discharging"*) - local PERC_OUTPUT=$(echo $ACPI_OUTPUT | awk -F, '/,/{gsub(/ /, "", $0); gsub(/%/,"", $0); print $2}' ) - echo ${PERC_OUTPUT} - ;; - *" Full"*) - echo '100' - ;; - *) - echo '-1' - ;; - esac + local PERC_OUTPUT=$(echo $ACPI_OUTPUT | awk -F, '/,/{gsub(/ /, "", $0); gsub(/%/,"", $0); print $2}' ) + echo ${PERC_OUTPUT:--1} elif _command_exists pmset; then local PMSET_OUTPUT=$(pmset -g ps | sed -n 's/.*[[:blank:]]+*\(.*%\).*/\1/p') diff --git a/test/plugins/battery.plugin.bats b/test/plugins/battery.plugin.bats index 577164f0..369a8ef8 100644 --- a/test/plugins/battery.plugin.bats +++ b/test/plugins/battery.plugin.bats @@ -135,6 +135,15 @@ function setup_acpi { setup_acpi "4%" "" + run battery_percentage + assert_output "4" +} + +@test 'plugins battery: battery-percentage with acpi, no status' { + setup_command_exists "acpi" + + setup_acpi "" "" + run battery_percentage assert_output "-1" }