From 5e42fd4e4bf32c5214183f54c3e6bcec847c94b8 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 15 Sep 2026 11:08:05 +0200 Subject: feat(desktop): add the status singleton with the dnd mode Modes live as files under XDG_RUNTIME_DIR, one per mode, holding 0 or 1, with a missing file meaning off. That directory is tmpfs, so a reboot resets every mode and no cleanup code is needed. FileView covers both directions: atomicWrites for the write, watchChanges for the watch, so an external writer repaints the drawer with no polling. Both are already the documented defaults in 0.3.1 and are set explicitly anyway, because statusctl watches close_write,moved_to precisely because an atomic write lands as a rename. A future release flipping either default would break the watcher with no error, and a declaration is a stronger guarantee than a default. The documented behaviour is that a FileView fires its own fileChanged on setText, so the reparse compares before assigning and a self-write is a no-op rather than a loop. That has not been observed running yet: nothing consumes the singleton until the status module exists, so the guard stays unproven until then. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01A7ThHHh5iTYbVfp3rNAkw2 --- desktop/Status.qml | 1 + 1 file changed, 1 insertion(+) create mode 120000 desktop/Status.qml (limited to 'desktop') diff --git a/desktop/Status.qml b/desktop/Status.qml new file mode 120000 index 0000000..e7188a3 --- /dev/null +++ b/desktop/Status.qml @@ -0,0 +1 @@ +../shared/Status.qml \ No newline at end of file -- cgit v1.2.3