refactor(network): remove last_ext_iface_
parent
253366baf4
commit
6e73c6db61
|
@ -49,7 +49,6 @@ class Network : public ALabel {
|
||||||
waybar::util::SleeperThread thread_;
|
waybar::util::SleeperThread thread_;
|
||||||
waybar::util::SleeperThread thread_timer_;
|
waybar::util::SleeperThread thread_timer_;
|
||||||
int ifid_;
|
int ifid_;
|
||||||
mutable int last_ext_iface_;
|
|
||||||
sa_family_t family_;
|
sa_family_t family_;
|
||||||
struct sockaddr_nl nladdr_ = {0};
|
struct sockaddr_nl nladdr_ = {0};
|
||||||
struct nl_sock* sock_ = nullptr;
|
struct nl_sock* sock_ = nullptr;
|
||||||
|
|
|
@ -75,7 +75,6 @@ std::optional<unsigned long long> read_netstat(std::string_view category, std::s
|
||||||
waybar::modules::Network::Network(const std::string &id, const Json::Value &config)
|
waybar::modules::Network::Network(const std::string &id, const Json::Value &config)
|
||||||
: ALabel(config, "network", id, "{ifname}", 60),
|
: ALabel(config, "network", id, "{ifname}", 60),
|
||||||
ifid_(-1),
|
ifid_(-1),
|
||||||
last_ext_iface_(-1),
|
|
||||||
family_(config["family"] == "ipv6" ? AF_INET6 : AF_INET),
|
family_(config["family"] == "ipv6" ? AF_INET6 : AF_INET),
|
||||||
efd_(-1),
|
efd_(-1),
|
||||||
ev_fd_(-1),
|
ev_fd_(-1),
|
||||||
|
@ -447,7 +446,6 @@ int waybar::modules::Network::getExternalInterface(int skip_idx) const {
|
||||||
} while (true);
|
} while (true);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
last_ext_iface_ = ifidx;
|
|
||||||
return ifidx;
|
return ifidx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -524,10 +522,6 @@ bool waybar::modules::Network::checkInterface(struct ifinfomsg *rtif, std::strin
|
||||||
wildcardMatch(config_["interface"].asString(), name);
|
wildcardMatch(config_["interface"].asString(), name);
|
||||||
}
|
}
|
||||||
auto external_iface = getExternalInterface();
|
auto external_iface = getExternalInterface();
|
||||||
if (external_iface == -1) {
|
|
||||||
// Try with lastest working external iface
|
|
||||||
return last_ext_iface_ == rtif->ifi_index;
|
|
||||||
}
|
|
||||||
return external_iface == rtif->ifi_index;
|
return external_iface == rtif->ifi_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -614,9 +608,12 @@ int waybar::modules::Network::handleEvents(struct nl_msg *msg, void *data) {
|
||||||
if_indextoname(rtif->ifi_index, ifname);
|
if_indextoname(rtif->ifi_index, ifname);
|
||||||
// Check for valid interface
|
// Check for valid interface
|
||||||
if (rtif->ifi_flags & IFF_RUNNING && net->checkInterface(rtif, ifname)) {
|
if (rtif->ifi_flags & IFF_RUNNING && net->checkInterface(rtif, ifname)) {
|
||||||
net->linked_ = true;
|
net->linked_ = rtif->ifi_flags & IFF_RUNNING;
|
||||||
net->ifname_ = ifname;
|
net->ifname_ = ifname;
|
||||||
net->ifid_ = rtif->ifi_index;
|
net->ifid_ = rtif->ifi_index;
|
||||||
|
// Get Iface and WIFI info
|
||||||
|
net->getInterfaceAddress();
|
||||||
|
net->thread_timer_.wake_up();
|
||||||
} else if (rtif->ifi_index == net->ifid_ && !(rtif->ifi_flags & IFF_RUNNING)) {
|
} else if (rtif->ifi_index == net->ifid_ && !(rtif->ifi_flags & IFF_RUNNING)) {
|
||||||
net->clearIface();
|
net->clearIface();
|
||||||
// Check for a new interface and get info
|
// Check for a new interface and get info
|
||||||
|
|
Loading…
Reference in New Issue