diff --git a/settings/hyprland.nix b/settings/hyprland.nix index 815ad6d..6ae2c56 100644 --- a/settings/hyprland.nix +++ b/settings/hyprland.nix @@ -559,7 +559,14 @@ in running: true repeat: true triggeredOnStart: true - onTriggered: netProc.running = true + onTriggered: netWidget.refreshNet() + } + + function refreshNet() { + netWidget.netState = "disconnected"; + netWidget.netConn = ""; + netWidget.netIcon = netWidget.netType === "wifi" ? "\u{f05aa}" : "\u{f0201}"; + netProc.running = true; } Process { @@ -581,11 +588,6 @@ in netWidget.netConn = conn; netWidget.netType = type; netWidget.netIcon = type === "wifi" ? "\u{f05a9}" : "\u{f0200}"; - } else if (netWidget.netState !== "connected") { - netWidget.netState = "disconnected"; - netWidget.netConn = ""; - netWidget.netType = type; - netWidget.netIcon = type === "wifi" ? "\u{f05aa}" : "\u{f0201}"; } } } @@ -602,6 +604,12 @@ in property var wifiNetworks: [] property string netDevice: "" + Timer { + id: netRefreshDelay + interval: 2000 + onTriggered: netWidget.refreshNet() + } + Process { id: wifiScanProc command: ["${pkgs.networkmanager}/bin/nmcli", "-t", "-f", "SSID,SIGNAL,SECURITY,IN-USE", "device", "wifi", "list", "--rescan", "auto"] @@ -1020,7 +1028,11 @@ in onClicked: { netDisconnectProc.targetDevice = netWidget.netDevice; netDisconnectProc.running = true; + netWidget.netState = "disconnected"; + netWidget.netConn = ""; + netWidget.netIcon = "\u{f05aa}"; netDropdown.visible = false; + netRefreshDelay.start(); } } } @@ -1106,6 +1118,7 @@ in if (!modelData.active) { wifiConnectProc.targetSsid = modelData.ssid; wifiConnectProc.running = true; + netRefreshDelay.start(); } netDropdown.visible = false; }