Merge pull request #4897 from khaneliman/network
fix(network): align tooltip and tooltip text
This commit is contained in:
@@ -373,18 +373,26 @@ auto waybar::modules::Network::update() -> void {
|
|||||||
fmt::arg("cidr6", cidr6_), fmt::arg("frequency", fmt::format("{:.1f}", frequency_)),
|
fmt::arg("cidr6", cidr6_), fmt::arg("frequency", fmt::format("{:.1f}", frequency_)),
|
||||||
fmt::arg("icon", getIcon(signal_strength_, state_)),
|
fmt::arg("icon", getIcon(signal_strength_, state_)),
|
||||||
fmt::arg("bandwidthDownBits",
|
fmt::arg("bandwidthDownBits",
|
||||||
pow_format(bandwidth_down * 8ull / interval_.count(), "b/s")),
|
pow_format(bandwidth_down * 8ull / (interval_.count() / 1000.0), "b/s")),
|
||||||
fmt::arg("bandwidthUpBits", pow_format(bandwidth_up * 8ull / interval_.count(), "b/s")),
|
fmt::arg("bandwidthUpBits",
|
||||||
|
pow_format(bandwidth_up * 8ull / (interval_.count() / 1000.0), "b/s")),
|
||||||
fmt::arg("bandwidthTotalBits",
|
fmt::arg("bandwidthTotalBits",
|
||||||
pow_format((bandwidth_up + bandwidth_down) * 8ull / interval_.count(), "b/s")),
|
pow_format((bandwidth_up + bandwidth_down) * 8ull / (interval_.count() / 1000.0),
|
||||||
fmt::arg("bandwidthDownOctets", pow_format(bandwidth_down / interval_.count(), "o/s")),
|
"b/s")),
|
||||||
fmt::arg("bandwidthUpOctets", pow_format(bandwidth_up / interval_.count(), "o/s")),
|
fmt::arg("bandwidthDownOctets",
|
||||||
fmt::arg("bandwidthTotalOctets",
|
pow_format(bandwidth_down / (interval_.count() / 1000.0), "o/s")),
|
||||||
pow_format((bandwidth_up + bandwidth_down) / interval_.count(), "o/s")),
|
fmt::arg("bandwidthUpOctets",
|
||||||
fmt::arg("bandwidthDownBytes", pow_format(bandwidth_down / interval_.count(), "B/s")),
|
pow_format(bandwidth_up / (interval_.count() / 1000.0), "o/s")),
|
||||||
fmt::arg("bandwidthUpBytes", pow_format(bandwidth_up / interval_.count(), "B/s")),
|
fmt::arg(
|
||||||
fmt::arg("bandwidthTotalBytes",
|
"bandwidthTotalOctets",
|
||||||
pow_format((bandwidth_up + bandwidth_down) / interval_.count(), "B/s")));
|
pow_format((bandwidth_up + bandwidth_down) / (interval_.count() / 1000.0), "o/s")),
|
||||||
|
fmt::arg("bandwidthDownBytes",
|
||||||
|
pow_format(bandwidth_down / (interval_.count() / 1000.0), "B/s")),
|
||||||
|
fmt::arg("bandwidthUpBytes",
|
||||||
|
pow_format(bandwidth_up / (interval_.count() / 1000.0), "B/s")),
|
||||||
|
fmt::arg(
|
||||||
|
"bandwidthTotalBytes",
|
||||||
|
pow_format((bandwidth_up + bandwidth_down) / (interval_.count() / 1000.0), "B/s")));
|
||||||
if (label_.get_tooltip_text() != tooltip_text) {
|
if (label_.get_tooltip_text() != tooltip_text) {
|
||||||
label_.set_tooltip_markup(tooltip_text);
|
label_.set_tooltip_markup(tooltip_text);
|
||||||
}
|
}
|
||||||
@@ -626,18 +634,31 @@ int waybar::modules::Network::handleEvents(struct nl_msg* msg, void* data) {
|
|||||||
case IFA_LOCAL:
|
case IFA_LOCAL:
|
||||||
char ipaddr[INET6_ADDRSTRLEN];
|
char ipaddr[INET6_ADDRSTRLEN];
|
||||||
if (!is_del_event) {
|
if (!is_del_event) {
|
||||||
|
bool addr_changed = false;
|
||||||
|
std::string changed_ipaddr;
|
||||||
|
int changed_cidr = 0;
|
||||||
if ((net->addr_pref_ == ip_addr_pref::IPV4 ||
|
if ((net->addr_pref_ == ip_addr_pref::IPV4 ||
|
||||||
net->addr_pref_ == ip_addr_pref::IPV4_6) &&
|
net->addr_pref_ == ip_addr_pref::IPV4_6) &&
|
||||||
net->cidr_ == 0 && ifa->ifa_family == AF_INET) {
|
net->cidr_ == 0 && ifa->ifa_family == AF_INET) {
|
||||||
net->ipaddr_ =
|
if (inet_ntop(ifa->ifa_family, RTA_DATA(ifa_rta), ipaddr, sizeof(ipaddr)) !=
|
||||||
inet_ntop(ifa->ifa_family, RTA_DATA(ifa_rta), ipaddr, sizeof(ipaddr));
|
nullptr) {
|
||||||
|
net->ipaddr_ = ipaddr;
|
||||||
net->cidr_ = ifa->ifa_prefixlen;
|
net->cidr_ = ifa->ifa_prefixlen;
|
||||||
|
addr_changed = true;
|
||||||
|
changed_ipaddr = net->ipaddr_;
|
||||||
|
changed_cidr = net->cidr_;
|
||||||
|
}
|
||||||
} else if ((net->addr_pref_ == ip_addr_pref::IPV6 ||
|
} else if ((net->addr_pref_ == ip_addr_pref::IPV6 ||
|
||||||
net->addr_pref_ == ip_addr_pref::IPV4_6) &&
|
net->addr_pref_ == ip_addr_pref::IPV4_6) &&
|
||||||
net->cidr6_ == 0 && ifa->ifa_family == AF_INET6) {
|
net->cidr6_ == 0 && ifa->ifa_family == AF_INET6) {
|
||||||
net->ipaddr6_ =
|
if (inet_ntop(ifa->ifa_family, RTA_DATA(ifa_rta), ipaddr, sizeof(ipaddr)) !=
|
||||||
inet_ntop(ifa->ifa_family, RTA_DATA(ifa_rta), ipaddr, sizeof(ipaddr));
|
nullptr) {
|
||||||
|
net->ipaddr6_ = ipaddr;
|
||||||
net->cidr6_ = ifa->ifa_prefixlen;
|
net->cidr6_ = ifa->ifa_prefixlen;
|
||||||
|
addr_changed = true;
|
||||||
|
changed_ipaddr = net->ipaddr6_;
|
||||||
|
changed_cidr = net->cidr6_;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (ifa->ifa_family) {
|
switch (ifa->ifa_family) {
|
||||||
@@ -657,7 +678,10 @@ int waybar::modules::Network::handleEvents(struct nl_msg* msg, void* data) {
|
|||||||
net->netmask6_ = inet_ntop(ifa->ifa_family, &netmask6, ipaddr, sizeof(ipaddr));
|
net->netmask6_ = inet_ntop(ifa->ifa_family, &netmask6, ipaddr, sizeof(ipaddr));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
spdlog::debug("network: {}, new addr {}/{}", net->ifname_, net->ipaddr_, net->cidr_);
|
if (addr_changed) {
|
||||||
|
spdlog::debug("network: {}, new addr {}/{}", net->ifname_, changed_ipaddr,
|
||||||
|
changed_cidr);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
net->ipaddr_.clear();
|
net->ipaddr_.clear();
|
||||||
net->ipaddr6_.clear();
|
net->ipaddr6_.clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user