diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/modules/sidebar/modules/networks.tsx | 9 |
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; }} |