diff --git a/.config/quickshell/ii/modules/sidebarRight/quickToggles/NetworkToggle.qml b/.config/quickshell/ii/modules/sidebarRight/quickToggles/NetworkToggle.qml index 174a2c42c..cb9e0d8e7 100644 --- a/.config/quickshell/ii/modules/sidebarRight/quickToggles/NetworkToggle.qml +++ b/.config/quickshell/ii/modules/sidebarRight/quickToggles/NetworkToggle.qml @@ -12,22 +12,11 @@ import Quickshell.Hyprland QuickToggleButton { toggled: Network.wifiEnabled buttonIcon: Network.materialSymbol - onClicked: { - toggleNetwork.running = true - } + onClicked: Network.toggleWifi() altAction: () => { Quickshell.execDetached(["bash", "-c", `${Network.ethernet ? Config.options.apps.networkEthernet : Config.options.apps.network}`]) GlobalStates.sidebarRightOpen = false } - Process { - id: toggleNetwork - command: ["bash", "-c", "nmcli radio wifi | grep -q enabled && nmcli radio wifi off || nmcli radio wifi on"] - onRunningChanged: { - if(!running) { - Network.update() - } - } - } StyledToolTip { content: Translation.tr("%1 | Right-click to configure").arg(Network.networkName) } diff --git a/.config/quickshell/ii/services/Network.qml b/.config/quickshell/ii/services/Network.qml index bb8bd6e9d..d318aedbd 100644 --- a/.config/quickshell/ii/services/Network.qml +++ b/.config/quickshell/ii/services/Network.qml @@ -26,6 +26,17 @@ Singleton { "signal_wifi_0_bar" ) : "signal_wifi_off" + // Control + function toggleWifi(): void { + const cmd = wifiEnabled ? "off" : "on"; + enableWifiProc.exec(["nmcli", "radio", "wifi", cmd]); + } + + Process { + id: enableWifiProc + } + + // Status update function update() { updateConnectionType.startCheck(); wifiStatusProcess.running = true