Implement format_up/format_down for ethernet
This commit is contained in:
parent
cb9bab4255
commit
b88a55ffa6
@ -59,7 +59,8 @@ int main(int argc, char *argv[]) {
|
||||
};
|
||||
|
||||
cfg_opt_t ethernet_opts[] = {
|
||||
CFG_STR("format", "E: %ip (%speed)", CFGF_NONE),
|
||||
CFG_STR("format_up", "E: %ip (%speed)", CFGF_NONE),
|
||||
CFG_STR("format_down", "E: down", CFGF_NONE),
|
||||
CFG_END()
|
||||
};
|
||||
|
||||
@ -153,7 +154,7 @@ int main(int argc, char *argv[]) {
|
||||
print_wireless_info(title, cfg_getstr(sec, "format_up"), cfg_getstr(sec, "format_down"));
|
||||
|
||||
CASE_SEC_TITLE("ethernet")
|
||||
print_eth_info(title, cfg_getstr(sec, "format"));
|
||||
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"));
|
||||
|
@ -21,7 +21,8 @@ wireless wlan0 {
|
||||
|
||||
ethernet eth0 {
|
||||
# if you use %speed, i3status requires root privileges
|
||||
format = "E: %ip (%speed)"
|
||||
format_up = "E: %ip (%speed)"
|
||||
format_down = "E: down"
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
|
@ -69,7 +69,7 @@ const char *get_ip_addr();
|
||||
void print_wireless_info(const char *interface, const char *format_up, const char *format_down);
|
||||
void print_run_watch(const char *title, const char *pidfile, const char *format);
|
||||
void print_cpu_temperature_info(int zone, const char *format);
|
||||
void print_eth_info(const char *interface, const char *format);
|
||||
void print_eth_info(const char *interface, const char *format_up, const char *format_down);
|
||||
void print_load();
|
||||
bool process_runs(const char *path);
|
||||
|
||||
|
@ -74,11 +74,16 @@ static void print_eth_speed(const char *interface) {
|
||||
* Combines ethernet IP addresses and speed (if requested) for displaying
|
||||
*
|
||||
*/
|
||||
void print_eth_info(const char *interface, const char *format) {
|
||||
void print_eth_info(const char *interface, const char *format_up, const char *format_down) {
|
||||
const char *walk;
|
||||
const char *ip_address = get_ip_addr(interface);
|
||||
|
||||
for (walk = format; *walk != '\0'; walk++) {
|
||||
if (ip_address == NULL) {
|
||||
printf("%s", format_down);
|
||||
return;
|
||||
}
|
||||
|
||||
for (walk = format_up; *walk != '\0'; walk++) {
|
||||
if (*walk != '%') {
|
||||
putchar(*walk);
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user