wifi: networkmanager signal strength is not dbm
This commit is contained in:
parent
d4d27f809b
commit
badc47619a
@ -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")
|
||||
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]:
|
||||
icon = self.signal_strength(int(netinfo["signal_level_dBm"]))
|
||||
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')
|
||||
|
Loading…
x
Reference in New Issue
Block a user