diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-04-01 12:46:34 +1100 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-04-01 12:46:34 +1100 |
| commit | 3c0b2eae58b2003c3b7a1794d3a102708dfe2891 (patch) | |
| tree | 4ddf677ae9210f47f5a923a667e92a205f5eaddc | |
| parent | screencorners: enable clickthrough (diff) | |
| download | caelestia-shell-3c0b2eae58b2003c3b7a1794d3a102708dfe2891.tar.gz caelestia-shell-3c0b2eae58b2003c3b7a1794d3a102708dfe2891.tar.bz2 caelestia-shell-3c0b2eae58b2003c3b7a1794d3a102708dfe2891.zip | |
cleanup: dispose of file monitors when unneeded
| -rw-r--r-- | src/modules/sidebar/dashboard.tsx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/modules/sidebar/dashboard.tsx b/src/modules/sidebar/dashboard.tsx index bad4695..e445029 100644 --- a/src/modules/sidebar/dashboard.tsx +++ b/src/modules/sidebar/dashboard.tsx @@ -34,7 +34,6 @@ const FaceFallback = () => ( const User = () => { const uptime = Variable("").poll(5000, "uptime -p"); const hasFace = Variable(GLib.file_test(HOME + "/.face", GLib.FileTest.EXISTS)); - monitorFile(HOME + "/.face", () => hasFace.set(GLib.file_test(HOME + "/.face", GLib.FileTest.EXISTS))); return ( <box className="user"> @@ -43,9 +42,12 @@ const User = () => { className="face" setup={self => { self.css = `background-image: url("${HOME}/.face");`; - monitorFile(HOME + "/.face", () => (self.css = `background-image: url("${HOME}/.face");`)); + const monitor = monitorFile(HOME + "/.face", () => { + hasFace.set(GLib.file_test(HOME + "/.face", GLib.FileTest.EXISTS)); + self.css = `background-image: url("${HOME}/.face");`; + }); + self.connect("destroy", () => monitor.cancel()); }} - onDestroy={() => hasFace.drop()} > {bind(hasFace).as(h => (h ? <box visible={false} /> : <FaceFallback />))} </box> |