Created three individual Strings for each battery status (charging, dicharching, full)
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.
This commit is contained in:
parent
8a57208b1d
commit
8e22f3839d
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
@ -27,16 +27,13 @@
|
||||
#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);
|
||||
|
Loading…
Reference in New Issue
Block a user