diff --git a/cosmic-settings/src/pages/networking/wifi.rs b/cosmic-settings/src/pages/networking/wifi.rs index 354df55..e19ef37 100644 --- a/cosmic-settings/src/pages/networking/wifi.rs +++ b/cosmic-settings/src/pages/networking/wifi.rs @@ -590,7 +590,7 @@ fn devices_view() -> Section { }; let identifier = widget::row::with_capacity(3) - .push(widget::icon::from_name("network-wireless-good-symbolic")) + .push(widget::icon::from_name(wifi_icon(network.strength))) .push_maybe( is_encrypted .then(|| widget::icon::from_name("connection-secure-symbolic")), @@ -785,3 +785,15 @@ pub fn update_devices(conn: zbus::Connection) -> Command { } }) } + +fn wifi_icon(strength: u8) -> &'static str { + if strength < 25 { + "network-wireless-signal-weak-symbolic" + } else if strength < 50 { + "network-wireless-signal-ok-symbolic" + } else if strength < 75 { + "network-wireless-signal-good-symbolic" + } else { + "network-wireless-signal-excellent-symbolic" + } +}