summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-26 20:31:23 +1100
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-26 20:31:23 +1100
commit28f94ec6a0e473eb3f692e4e1085633544766217 (patch)
tree9f01f9171bbc13c31ee14fb664d33aafdfd7383e
parentsidebar: style disabled state for buttons (diff)
downloadcaelestia-shell-28f94ec6a0e473eb3f692e4e1085633544766217.tar.gz
caelestia-shell-28f94ec6a0e473eb3f692e4e1085633544766217.tar.bz2
caelestia-shell-28f94ec6a0e473eb3f692e4e1085633544766217.zip
sidebar: fix widget destroyed error
-rw-r--r--scss/sidebar.scss4
-rw-r--r--src/modules/sidebar/modules/networks.tsx9
2 files changed, 12 insertions, 1 deletions
diff --git a/scss/sidebar.scss b/scss/sidebar.scss
index 404df51..f485264 100644
--- a/scss/sidebar.scss
+++ b/scss/sidebar.scss
@@ -46,6 +46,10 @@
padding: lib.s(3) lib.s(8);
+ &:disabled {
+ color: scheme.$overlay0;
+ }
+
&:hover,
&:focus {
color: scheme.$subtext0;
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;
}}