diff --git a/vene.cpp b/vene.cpp index f7238f3..dc63569 100644 --- a/vene.cpp +++ b/vene.cpp @@ -114,6 +114,7 @@ extern "C" try { // Net + #if defined(__linux__) for(const auto& dir_entry: fs::directory_iterator("/sys/class/net")) { string interface_state; @@ -142,6 +143,19 @@ extern "C" break; } } + #else + if(const char* ssid = wifi_essid("iwn0"); ssid) + { + new_stat += "🛜"; + new_stat += ssid; + } + new_stat += ' '; + if(const char* perc = wifi_perc("iwn0"); perc) + { + new_stat += perc; + new_stat += "% "; + } + #endif // Battery string charge; @@ -215,8 +229,11 @@ extern "C" updatestatus(); next_update = now + 10s; } - else if(now > next_update) + else if(!has_child && now > next_update) { + // Clean up all zombies + while (waitpid(-1, nullptr, WNOHANG) > 0); + updatestatus(); next_update = now + 10s; }