Added status_unk to battery_info
This commit is contained in:
parent
dbc59d7376
commit
d59589bf9e
@ -360,6 +360,7 @@ int main(int argc, char *argv[]) {
|
||||
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_unk", "UNK", 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),
|
||||
@ -661,7 +662,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_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"));
|
||||
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_unk"), 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;
|
||||
}
|
||||
|
||||
|
@ -170,6 +170,7 @@ char *pct_mark;
|
||||
|
||||
typedef enum { CS_DISCHARGING,
|
||||
CS_CHARGING,
|
||||
CS_UNKNOWN,
|
||||
CS_FULL } charging_status_t;
|
||||
|
||||
/*
|
||||
@ -207,7 +208,7 @@ const char *first_eth_interface(const net_type_t type);
|
||||
|
||||
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 *format_not_mounted, 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, 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_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_unk, 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 *title, const char *format, const char *tz, const char *format_time, time_t t);
|
||||
void print_ddate(yajl_gen json_gen, char *buffer, const char *format, time_t t);
|
||||
const char *get_ip_addr(const char *interface);
|
||||
|
@ -76,6 +76,7 @@ battery 0 {
|
||||
format_down = "No battery"
|
||||
status_chr = "⚡ CHR"
|
||||
status_bat = "🔋 BAT"
|
||||
status_unk = "? UNK"
|
||||
status_full = "☻ FULL"
|
||||
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||
low_threshold = 10
|
||||
@ -315,7 +316,7 @@ network interface found on the system (excluding devices starting with "lo").
|
||||
|
||||
=== Battery
|
||||
|
||||
Gets the status (charging, discharging, running), percentage, remaining
|
||||
Gets the status (charging, discharging, unknown, full), percentage, remaining
|
||||
time and power consumption (in Watts) of the given battery and when it's
|
||||
estimated to be empty. If you want to use the last full capacity instead of the
|
||||
design capacity (when using the design capacity, it may happen that your
|
||||
@ -339,10 +340,10 @@ colored red. The low_threshold type can be of threshold_type "time" or
|
||||
|
||||
Optionally custom strings including any UTF-8 symbols can be used for different
|
||||
battery states. This makes it possible to display individual symbols
|
||||
for each state (charging, discharging, full)
|
||||
for each state (charging, discharging, unknown, full)
|
||||
Of course it will also work with special iconic fonts, such as FontAwesome.
|
||||
If any of this special status strings is omitted, the default (CHR, BAT, FULL)
|
||||
is used.
|
||||
If any of these special status strings are omitted, the default (CHR, BAT, UNK,
|
||||
FULL) is used.
|
||||
|
||||
*Example order*: +battery 0+
|
||||
|
||||
@ -354,6 +355,8 @@ is used.
|
||||
|
||||
*Example status_bat*: +🔋 BAT+
|
||||
|
||||
*Example status_unk*: +? UNK+
|
||||
|
||||
*Example status_full*: +☻ FULL+
|
||||
|
||||
*Example low_threshold*: +30+
|
||||
|
@ -34,7 +34,7 @@
|
||||
* 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, 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_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_unk, 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];
|
||||
@ -64,7 +64,7 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
|
||||
INSTANCE(batpath);
|
||||
|
||||
#define BATT_STATUS_NAME(status) \
|
||||
(status == CS_CHARGING ? status_chr : (status == CS_DISCHARGING ? status_bat : status_full))
|
||||
(status == CS_CHARGING ? status_chr : (status == CS_DISCHARGING ? status_bat : (status == CS_UNKNOWN ? status_unk : status_full)))
|
||||
|
||||
#if defined(LINUX)
|
||||
if (!slurp(batpath, buf, sizeof(buf))) {
|
||||
@ -101,6 +101,10 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
|
||||
status = CS_CHARGING;
|
||||
else if (BEGINS_WITH(last, "POWER_SUPPLY_STATUS=Full"))
|
||||
status = CS_FULL;
|
||||
else if (BEGINS_WITH(last, "POWER_SUPPLY_STATUS=Discharging"))
|
||||
status = CS_DISCHARGING;
|
||||
else if (BEGINS_WITH(last, "POWER_SUPPLY_STATUS="))
|
||||
status = CS_UNKNOWN;
|
||||
else {
|
||||
/* The only thing left is the full capacity */
|
||||
if (last_full_capacity) {
|
||||
|
Loading…
Reference in New Issue
Block a user