pragma Singleton import Quickshell import Quickshell.Networking Singleton { id: root property bool wifiEnabled: Networking.wifiEnabled readonly property list devices: Networking.devices.values property WifiDevice wifiDev: devices.find(dev => dev.type === DeviceType.Wifi) ?? null property WiredDevice wiredDev: devices.find(dev => dev.type === DeviceType.Wired) ?? null property list wifiNetworks: wifiDev?.networks.values ?? [] property WifiNetwork connectedNet: wifiNetworks.find(net => net.connected) ?? null function getWiredIcon() { if (wiredDev?.hasLink ?? false) { if (wiredDev.connected ?? false) { return "network-wired-activated"; } else return "network-wired-unavailable"; } else return "network-wired-unavailable"; } function getWifiIcon() { Networking.checkConnectivity(); let state = wifiDev?.state ?? ConnectionState.Unknown; if (state === ConnectionState.Disconnected || state === ConnectionState.Unknown) return "network-wireless-disconnected"; if (state === ConnectionState.Connecting || state === ConnectionState.Disconnecting) return "network-wireless-acquiring"; if (wifiDev?.connected ?? false) { let strength = connectedNet?.signalStrength ?? 0.0; if (strength <= 0.2) return "network-wireless-signal-none"; if (strength <= 0.40) return "network-wireless-signal-weak"; if (strength <= 0.60) return "network-wireless-signal-ok"; if (strength <= 0.80) return "network-wireless-signal-good"; if (strength > 0.80) return "network-wireless-signal-excellect"; } } }