diff options
author | Michael Stapelberg <michael@stapelberg.de> | 2009-10-16 20:37:41 +0200 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2009-10-16 20:37:41 +0200 |
commit | da8cb9ebfc69b9f56dbd5764f4da6ba22fd087de (patch) | |
tree | 10094d55a36efa5d6cf18ce2ca32fc81e323d1fa | |
parent | 8a66289702bb17c2874497319ea2a2921e7a3e0d (diff) |
Implement option to use the last full capacity instead of the design capacity
-rw-r--r-- | i3status.c | 3 | ||||
-rw-r--r-- | i3status.h | 2 | ||||
-rw-r--r-- | man/i3status.man | 6 | ||||
-rw-r--r-- | src/print_battery_info.c | 8 |
4 files changed, 11 insertions, 8 deletions
@@ -71,6 +71,7 @@ int main(int argc, char *argv[]) { cfg_opt_t battery_opts[] = { CFG_STR("format", "%status %remaining", CFGF_NONE), + CFG_BOOL("last_full_capacity", false, CFGF_NONE), CFG_END() }; @@ -157,7 +158,7 @@ int main(int argc, char *argv[]) { print_eth_info(title, cfg_getstr(sec, "format_up"), cfg_getstr(sec, "format_down")); CASE_SEC_TITLE("battery") - print_battery_info(atoi(title), cfg_getstr(sec, "format")); + print_battery_info(atoi(title), cfg_getstr(sec, "format"), cfg_getbool(sec, "last_full_capacity")); CASE_SEC_TITLE("run_watch") print_run_watch(title, cfg_getstr(sec, "pidfile"), cfg_getstr(sec, "format")); @@ -63,7 +63,7 @@ char *endcolor() __attribute__ ((pure)); void print_ipv6_info(const char *format); void print_disk_info(const char *path, const char *format); -void print_battery_info(int number, const char *format); +void print_battery_info(int number, const char *format, bool last_full_capacity); void print_time(const char *format); const char *get_ip_addr(); void print_wireless_info(const char *interface, const char *format_up, const char *format_down); diff --git a/man/i3status.man b/man/i3status.man index d73c6cc..eb16bf6 100644 --- a/man/i3status.man +++ b/man/i3status.man @@ -145,7 +145,11 @@ interface. Getting the link speed requires root privileges. === Battery Gets the status (charging, discharging, running), percentage and remaining -time of the given battery. +time of the given battery. If you want to use the last full capacity instead +of the design capacity (when using the design capacity, it may happen that +your battery is at 23% when fully charged because it’s old. In general, I +want to see it this way, because it tells me how worn off my battery is.), +just specify +last_full_capacity = true+. *Example order*: +battery 0+ diff --git a/src/print_battery_info.c b/src/print_battery_info.c index eb1f6bb..4685d52 100644 --- a/src/print_battery_info.c +++ b/src/print_battery_info.c @@ -16,7 +16,7 @@ * worn off your battery is. * */ -void print_battery_info(int number, const char *format) { +void print_battery_info(int number, const char *format, bool last_full_capacity) { char buf[1024]; char *walk, *last; int full_design = -1, @@ -52,17 +52,15 @@ void print_battery_info(int number, const char *format) { status = CS_FULL; else { /* The only thing left is the full capacity */ -#if 0 - if (bat->use_last_full) { + if (last_full_capacity) { if (!BEGINS_WITH(last, "POWER_SUPPLY_ENERGY_FULL") && !BEGINS_WITH(last, "POWER_SUPPLY_CHARGE_FULL")) continue; } else { -#endif if (!BEGINS_WITH(last, "POWER_SUPPLY_CHARGE_FULL_DESIGN") && !BEGINS_WITH(last, "POWER_SUPPLY_ENERGY_FULL_DESIGN")) continue; - //} + } full_design = atoi(walk+1); } |