fix(menu): explain unsupported battery-limit and BlueZ-down states
Some checks failed
Check / eval (push) Has been cancelled

BACKLOG #96 + #97 (Acer live pass). Battery limit: the System row now
gates on battery presence (same rule as Power profile) instead of the
charge-threshold sysfs node, so firmware without the control gets the
leaf's explanation ("no charge_control_end_threshold — hardware
capability") rather than a silently missing row that reads as a broken
feature. Bluetooth: the leaf checks bluetooth.service before launching
blueman-manager and replaces the raw "Connection to BlueZ failed" with
a state-aware message (service stopped vs no adapter in
/sys/class/bluetooth, with rfkill/firmware hints).

Verified: V1 — nomarchy-menu builds, bash -n green, both paths in the
generated script; V0 flake check green. QEMU can fake neither a
threshold-less battery nor a BT adapter: #96 behavioral check queued in
HARDWARE-QUEUE (Acer + T14s); #97's no-adapter message will be
click-checked in the next VM run (V2 pending).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-13 18:36:19 +01:00
parent 10853f662c
commit 79528ff392
4 changed files with 45 additions and 20 deletions

View File

@@ -45,22 +45,6 @@ Reproduce from the launcher and a terminal, capture its stderr/journal, and
fix the packaging/session/runtime cause. Pass = the default terminal opens in
the installed graphical session and the SUPER+Return path works.
### 96. Live ISO/install: battery charge-threshold menu is absent
On this Acer the charge-threshold menu could not be found. Audit the hardware
capability gate, live-ISO `power.laptop = false` policy/permissions, and menu
discoverability. Unsupported hardware must get a clear explanation instead of
looking like a missing feature; supported hardware must expose the control.
Pass = the System/Power route communicates the correct state and never silently
disappears, including in the live session.
### 97. Live ISO/install: Bluetooth menu reports `Connection to BlueZ failed`
Verify that BlueZ is enabled/running and that the live and installed user
sessions can reach it before launching the picker. Pass = the Bluetooth menu
opens normally on supported hardware; when the adapter/service is genuinely
unavailable it shows a useful Nomarchy message rather than the raw failure.
### 98. Boreal: button text renders black and is difficult to read
Audit GTK button foreground/background contrast under Boreal, including the