add networking info in bar
This commit is contained in:
parent
d216659564
commit
1f06bf5ee4
13 changed files with 179 additions and 78 deletions
44
modules/Services/Network.qml
Normal file
44
modules/Services/Network.qml
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
pragma Singleton
|
||||
import Quickshell
|
||||
import Quickshell.Networking
|
||||
|
||||
Singleton {
|
||||
id: root
|
||||
property bool wifiEnabled: Networking.wifiEnabled
|
||||
readonly property list<NetworkDevice> 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<WifiNetwork> 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";
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue