diff options
author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2007-02-27 15:52:45 +0000 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2007-02-27 15:52:45 +0000 |
commit | 6209464ea2c3bc3763bf6170bb4c54a2bfe2d1f4 (patch) | |
tree | ea315c7f824b4d3a5b200876fe5a7907f8bbed1e /hardinfo2 | |
parent | a5a465f6633112226ad64566d7146c2e44488dc5 (diff) |
Add APM battery info
Diffstat (limited to 'hardinfo2')
-rw-r--r-- | hardinfo2/arch/linux/common/battery.h | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/hardinfo2/arch/linux/common/battery.h b/hardinfo2/arch/linux/common/battery.h index 8be133ee..7b47fa90 100644 --- a/hardinfo2/arch/linux/common/battery.h +++ b/hardinfo2/arch/linux/common/battery.h @@ -17,7 +17,7 @@ */ static void -__scan_battery(void) +__scan_battery_acpi(void) { gchar *acpi_path; @@ -125,5 +125,37 @@ __scan_battery(void) } g_free(acpi_path); +} + +static void +__scan_battery_apm(void) +{ + FILE *procapm; + int percentage; + char trash[10]; + + procapm = fopen("/proc/apm", "r"); + if (!procapm) + return; + + fscanf(procapm, "%s %s %s %s %s %s %d%%", + trash, trash, trash, trash, trash, trash, &percentage); + fclose(procapm); + + battery_list = g_strdup_printf("%s\n[Battery (APM)]\n" + "Charge=%d%%\n", + battery_list, + percentage); +} + +static void +__scan_battery(void) +{ + if (battery_list) { + g_free(battery_list); + } + battery_list = g_strdup(""); + __scan_battery_acpi(); + __scan_battery_apm(); } |