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_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()
|
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"));
|
print_wireless_info(title, cfg_getstr(sec, "format_up"), cfg_getstr(sec, "format_down"));
|
||||||
|
|
||||||
CASE_SEC_TITLE("ethernet")
|
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")
|
CASE_SEC_TITLE("battery")
|
||||||
print_battery_info(atoi(title), cfg_getstr(sec, "format"));
|
print_battery_info(atoi(title), cfg_getstr(sec, "format"));
|
||||||
|
@ -21,7 +21,8 @@ wireless wlan0 {
|
|||||||
|
|
||||||
ethernet eth0 {
|
ethernet eth0 {
|
||||||
# if you use %speed, i3status requires root privileges
|
# if you use %speed, i3status requires root privileges
|
||||||
format = "E: %ip (%speed)"
|
format_up = "E: %ip (%speed)"
|
||||||
|
format_down = "E: down"
|
||||||
}
|
}
|
||||||
|
|
||||||
battery 0 {
|
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_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_run_watch(const char *title, const char *pidfile, const char *format);
|
||||||
void print_cpu_temperature_info(int zone, 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();
|
void print_load();
|
||||||
bool process_runs(const char *path);
|
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
|
* 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 *walk;
|
||||||
const char *ip_address = get_ip_addr(interface);
|
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 != '%') {
|
if (*walk != '%') {
|
||||||
putchar(*walk);
|
putchar(*walk);
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user