]> git.sur5r.net Git - i3/i3status/commitdiff
Created three individual Strings for each battery status (charging, dicharching,...
authorCyril Andreatta <cyril@andreatta.ch>
Tue, 7 Oct 2014 13:47:58 +0000 (15:47 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 7 Oct 2014 16:52:01 +0000 (18:52 +0200)
Replaced hard coded status strings (CHR, BAT, FULL) in
print_battery_info.c with user defined strings. The new strings are
'status_chr', 'status_bat' and 'status_full' and can be set in i3status.conf.
e.g.
status_chr = "⚡ CHR"

If any of the new status strings is omitted the standard strings (CHR,
BAT, FULL) are used.

i3status.c
include/i3status.h
src/print_battery_info.c

index befe1d6f49e9af4b2e79cb72c39d6f3e086ef98b..fc16c49c4bfc080948e5012eb37735a7099d16a9 100644 (file)
@@ -319,6 +319,9 @@ int main(int argc, char *argv[]) {
         cfg_opt_t battery_opts[] = {
                 CFG_STR("format", "%status %percentage %remaining", CFGF_NONE),
                 CFG_STR("format_down", "No battery", CFGF_NONE),
+                CFG_STR("status_chr", "CHR", CFGF_NONE),
+                CFG_STR("status_bat", "BAT", CFGF_NONE),
+                CFG_STR("status_full", "FULL", CFGF_NONE),
                 CFG_STR("path", "/sys/class/power_supply/BAT%d/uevent", CFGF_NONE),
                 CFG_INT("low_threshold", 30, CFGF_NONE),
                 CFG_STR("threshold_type", "time", CFGF_NONE),
@@ -585,7 +588,7 @@ int main(int argc, char *argv[]) {
 
                         CASE_SEC_TITLE("battery") {
                                 SEC_OPEN_MAP("battery");
-                                print_battery_info(json_gen, buffer, atoi(title), cfg_getstr(sec, "path"), cfg_getstr(sec, "format"), cfg_getstr(sec, "format_down"), cfg_getint(sec, "low_threshold"), cfg_getstr(sec, "threshold_type"), cfg_getbool(sec, "last_full_capacity"), cfg_getbool(sec, "integer_battery_capacity"), cfg_getbool(sec, "hide_seconds"));
+                                print_battery_info(json_gen, buffer, atoi(title), cfg_getstr(sec, "path"), cfg_getstr(sec, "format"), cfg_getstr(sec, "format_down"), cfg_getstr(sec, "status_chr"), cfg_getstr(sec, "status_bat"), cfg_getstr(sec, "status_full"), cfg_getint(sec, "low_threshold"), cfg_getstr(sec, "threshold_type"), cfg_getbool(sec, "last_full_capacity"), cfg_getbool(sec, "integer_battery_capacity"), cfg_getbool(sec, "hide_seconds"));
                                 SEC_CLOSE_MAP;
                         }
 
index 4c63305f0ec51fe89d6cb43dca3c093e1f57749a..d816f0a00af3e26e8dff246630284c9cc2367b7e 100644 (file)
@@ -172,7 +172,7 @@ void set_timezone(const char *tz);
 
 void print_ipv6_info(yajl_gen json_gen, char *buffer, const char *format_up, const char *format_down);
 void print_disk_info(yajl_gen json_gen, char *buffer, const char *path, const char *format, const char *prefix_type, const char *threshold_type, const double low_threshold);
-void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char *path, const char *format, const char *format_down, int low_threshold, char *threshold_type, bool last_full_capacity, bool integer_battery_capacity, bool hide_seconds);
+void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char *path, const char *format, const char *format_down, const char *status_chr, const char *status_bat, const char *status_full, int low_threshold, char *threshold_type, bool last_full_capacity, bool integer_battery_capacity, bool hide_seconds);
 void print_time(yajl_gen json_gen, char *buffer, const char *format, const char *tz, time_t t);
 void print_ddate(yajl_gen json_gen, char *buffer, const char *format, time_t t);
 const char *get_ip_addr();
index 6b39c12cedeef866ac2e01581792ee0366d9f9a4..28b94ec25ae26b7eaac47c7efbec9d794ede8a5d 100644 (file)
 #include <sys/envsys.h>
 #endif
 
-#define BATT_STATUS_NAME(status) \
-    (status == CS_CHARGING ? "CHR" : \
-        (status == CS_DISCHARGING ? "BAT" : "FULL"))
 /*
  * Get battery information from /sys. Note that it uses the design capacity to
  * calculate the percentage, not the last full capacity, so you can see how
  * worn off your battery is.
  *
  */
-void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char *path, const char *format, const char *format_down, int low_threshold, char *threshold_type, bool last_full_capacity, bool integer_battery_capacity, bool hide_seconds) {
+void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char *path, const char *format, const char *format_down, const char *status_chr, const char *status_bat, const char *status_full, int low_threshold, char *threshold_type, bool last_full_capacity, bool integer_battery_capacity, bool hide_seconds) {
         time_t empty_time;
         struct tm *empty_tm;
         char buf[1024];
@@ -65,6 +62,10 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
         sprintf(batpath, path, number);
         INSTANCE(batpath);
 
+#define BATT_STATUS_NAME(status) \
+    (status == CS_CHARGING ? status_chr : \
+        (status == CS_DISCHARGING ? status_bat : status_full))
+
 #if defined(LINUX)
         if (!slurp(batpath, buf, sizeof(buf))) {
                 OUTPUT_FULL_TEXT(format_down);