diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-15 12:29:42 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-15 12:29:42 +0200 |
| commit | 661d477e7806d322d3499c19537541c5dd4e7d82 (patch) | |
| tree | b23199038db02f9bdbc9c4d91eb467b8d35b7e8f /shared/Status.qml | |
| parent | fceeb5dc23c5e5a951f725e7682eab6814191c47 (diff) | |
| download | quickshell-661d477e7806d322d3499c19537541c5dd4e7d82.tar.gz quickshell-661d477e7806d322d3499c19537541c5dd4e7d82.zip | |
fix(status): address final review findings
F1: after a click the shared Switch writes checked directly, dropping
StatusRow's declarative binding, so an external mode change from waybar
or statusctl no longer moved the switch. Resync via onValueChanged.
F2: the spec claimed hyprctl clients counts idle inhibitors, which is
false for a layer-surface inhibitor; replace with the behavioral
hypridle marker check.
F3: README said the check covers both watch states; it exercises the
activated report and the absent-file down report.
F4: give breakProc an onExited check so a failed breaktimer.sh verb is
visible instead of silent.
F5: drop StatusTile's unused required st property and its injection.
F6: comment the startup-order limit on dndBeforePresentation.
Diffstat (limited to 'shared/Status.qml')
| -rw-r--r-- | shared/Status.qml | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/shared/Status.qml b/shared/Status.qml index 5df1847..8f80b9a 100644 --- a/shared/Status.qml +++ b/shared/Status.qml @@ -43,6 +43,10 @@ Singleton { // presentation mode off restores it rather than clearing it. Held here // rather than in a file: it is meaningful only while presentation mode is // on, and presentation mode does not survive a reboot. + // + // Known limit: on a shell restart while presentation is already on, + // onPresentationChanged can run before the dnd FileView has loaded, so the + // recorded prior value depends on which file loads first. property bool dndBeforePresentation: false function setMode(name, on) { @@ -80,7 +84,13 @@ Singleton { // breaktimer owns its own state file; this only calls its verbs. Two // writers on that file would race with its daemon loop, which rewrites it // on every phase change. - Process { id: breakProc } + Process { + id: breakProc + onExited: code => { + if (code !== 0) + console.warn("status: breaktimer.sh " + breakProc.command[1] + " exited " + code); + } + } // Wayland idle inhibit. The compositor advertises // zwp_idle_inhibit_manager_v1 and hypridle honours it, so no D-Bus path |
