aboutsummaryrefslogtreecommitdiff
path: root/hardinfo2/arch/linux/common/battery.h
diff options
context:
space:
mode:
authorLeandro A. F. Pereira <leandro@hardinfo.org>2007-02-27 15:52:45 +0000
committerLeandro A. F. Pereira <leandro@hardinfo.org>2007-02-27 15:52:45 +0000
commit6209464ea2c3bc3763bf6170bb4c54a2bfe2d1f4 (patch)
treeea315c7f824b4d3a5b200876fe5a7907f8bbed1e /hardinfo2/arch/linux/common/battery.h
parenta5a465f6633112226ad64566d7146c2e44488dc5 (diff)
Add APM battery info
Diffstat (limited to 'hardinfo2/arch/linux/common/battery.h')
-rw-r--r--hardinfo2/arch/linux/common/battery.h34
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();
}