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 /desktop | |
| 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 'desktop')
| -rw-r--r-- | desktop/modules/status/README.md | 2 | ||||
| -rw-r--r-- | desktop/modules/status/StatusModule.qml | 2 | ||||
| -rw-r--r-- | desktop/modules/status/StatusRow.qml | 5 | ||||
| -rw-r--r-- | desktop/modules/status/StatusTile.qml | 4 |
4 files changed, 7 insertions, 6 deletions
diff --git a/desktop/modules/status/README.md b/desktop/modules/status/README.md index 0bb376f..84736d5 100644 --- a/desktop/modules/status/README.md +++ b/desktop/modules/status/README.md @@ -56,4 +56,4 @@ before the screen could lock. Points `XDG_RUNTIME_DIR` at a temporary directory, so it never touches live modes. Covers the file format, the atomic write, the toggle, the unknown-mode -error and both watch states. +error, both the activated report and the absent-file down report. diff --git a/desktop/modules/status/StatusModule.qml b/desktop/modules/status/StatusModule.qml index c36d9d0..30f8557 100644 --- a/desktop/modules/status/StatusModule.qml +++ b/desktop/modules/status/StatusModule.qml @@ -28,7 +28,7 @@ Module { // The tile renders in its accent while any mode is on. active: Status.activeCount > 0 - tileContent: Component { StatusTile { st: mod } } + tileContent: Component { StatusTile {} } page: Component { Page { diff --git a/desktop/modules/status/StatusRow.qml b/desktop/modules/status/StatusRow.qml index c342e2b..c9e78c0 100644 --- a/desktop/modules/status/StatusRow.qml +++ b/desktop/modules/status/StatusRow.qml @@ -53,4 +53,9 @@ Item { checked: row.value onToggled: Status.toggleMode(row.mode) } + + // The shared Switch's click handler writes `checked` directly, which drops + // the declarative binding above. Resync on any value change so an external + // write (statusctl, waybar) moves the switch back into agreement. + onValueChanged: sw.checked = row.value } diff --git a/desktop/modules/status/StatusTile.qml b/desktop/modules/status/StatusTile.qml index 9bc6f04..c4b87d4 100644 --- a/desktop/modules/status/StatusTile.qml +++ b/desktop/modules/status/StatusTile.qml @@ -12,11 +12,7 @@ import QtQuick import "../.." -// Injected as st, never mod: a property named the same as the enclosing -// object's id binds to itself and arrives undefined. See AGENTS.md. Text { - required property var st - width: parent ? parent.width : implicitWidth elide: Text.ElideRight font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 } |
