wifi: networkmanager signal strength is not dbm

This commit is contained in:
alfrix 2023-11-25 23:41:54 -03:00
parent d4d27f809b
commit badc47619a

View File

@ -399,22 +399,32 @@ class Panel(ScreenPanel):
if "channel" in netinfo:
chan = _("Channel") + f' {netinfo["channel"]}'
if "signal_level_dBm" in netinfo:
lvl = f'{netinfo["signal_level_dBm"]} ' + _("dBm")
if 'icon' not in self.labels['networks'][ssid]:
lvl = f'{netinfo["signal_level_dBm"]} '
if self.use_network_manager:
lvl += '%'
else:
lvl += _("dBm")
icon = self.signal_strength(int(netinfo["signal_level_dBm"]))
if 'icon' not in self.labels['networks'][ssid]:
self.labels['networks'][ssid]['row'].add(icon)
self.labels['networks'][ssid]['row'].reorder_child(icon, 0)
self.labels['networks'][ssid]['icon'] = icon
self.labels['networks'][ssid]['icon'] = icon
self.labels['networks'][ssid]['info'].set_markup(f"{info} <small>{encr} {freq} {chan} {lvl}</small>")
self.labels['networks'][ssid]['row'].show_all()
def signal_strength(self, signal_level):
if signal_level > 50:
# networkmanager uses percentage not dbm
# the bars of nmcli are aligned near this breakpoints
exc = 77 if self.use_network_manager else -50
good = 60 if self.use_network_manager else -60
fair = 35 if self.use_network_manager else -70
if signal_level > exc:
return self._gtk.Image('wifi_excellent')
elif signal_level > 60:
elif signal_level > good:
return self._gtk.Image('wifi_good')
elif signal_level > 70:
elif signal_level > fair:
return self._gtk.Image('wifi_fair')
else:
return self._gtk.Image('wifi_weak')