Package: fdpowermon
Version: 1.5
Severity: normal
When my battery is full, fdpowermon still shows "Charging, 98%".
That's because the regexp that extracts the data from the acpi -b
output doesn't match the full status: "Battery 0: Full, 100%".
(This is probably also why removing the battery still shows the old
info, instead of reflecting the current state... see #676213.
The regexp doesn't match, so it just loops without doing anything.)
Perhaps it would also be nicer to directly access the
/sys/class/power_supply/* stuff? That would prevent spawning
a couple of processes every 3 seconds. Fall back to acpi -b
if the system has an unexpected /sys/class/power_supply/ layout.
The following patch fixes it for me.
thanks,
Paul
--- /usr/bin/fdpowermon 2012-01-11 01:02:58.000000000 +0100
+++ /tmp/fdpowermon 2013-10-15 18:48:07.701382173 +0200
@@ -25,7 +25,7 @@
open my $acpi, "acpi -b |";
while ($acpi_output = <$acpi>) {
chomp $acpi_output;
- if ($acpi_output =~ /^Battery (\d):
((Dis)?[Cc]harging|Unknown), ((\d)+)%(, ([\d:]*))?/) {
+ if ($acpi_output =~ /^Battery (\d):
((Dis)?[Cc]harging|Unknown|Full), ((\d)+)%(, ([\d:]*))?/) {
$bat = $1;
$state = $2;
$level = $4;
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.9.5-vs2.3.6.5.wurtel-ws (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]