summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/sidebar/modules/networks.tsx9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/modules/sidebar/modules/networks.tsx b/src/modules/sidebar/modules/networks.tsx
index 3d9f66d..a28a8fc 100644
--- a/src/modules/sidebar/modules/networks.tsx
+++ b/src/modules/sidebar/modules/networks.tsx
@@ -44,10 +44,17 @@ const Network = (accessPoint: AstalNetwork.AccessPoint) => (
valign={Gtk.Align.CENTER}
cursor="pointer"
onClicked={self => {
+ let destroyed = false;
+ const id = self.connect("destroy", () => (destroyed = true));
const cmd =
AstalNetwork.get_default().wifi.activeAccessPoint === accessPoint ? "c down id" : "d wifi connect";
execAsync(`nmcli ${cmd} '${accessPoint.ssid}'`)
- .then(() => (self.sensitive = true))
+ .then(() => {
+ if (!destroyed) {
+ self.sensitive = true;
+ self.disconnect(id);
+ }
+ })
.catch(console.error);
self.sensitive = false;
}}