From f38c7bffeda032a5e48c1fc1ffb79ff0be47ab4a Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Tue, 26 Aug 2025 21:07:00 +0700 Subject: [PATCH] network: implement toggling in service --- .../sidebarRight/quickToggles/NetworkToggle.qml | 13 +------------ .config/quickshell/ii/services/Network.qml | 11 +++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) 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