Power settings do not recognize BOS bos-dpms wrapper listeners #85
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
How found: independent review of Breadway/bos PR88 at ea390fd0400a58803f92df948def89e8050c4b1a. Confidence: high, reproduced with the unmodified parsing/rendering functions fetched from bos-settings main (file blob
77227fe5bc).The proposed BOS skel uses on-timeout = ~/.local/bin/bos-dpms off and on-resume = ~/.local/bin/bos-dpms on. src/src/commands/power_settings.rs:119-150 only migrates legacy dispatch and exactly matches the inline eval string. Reading this skel returns None for screen_off (UI reports 0). Saving disabled leaves the 480s wrapper listener active; saving 900s preserves the 480s listener and appends a second inline eval listener. This regresses the user-visible disable/change capability.
Reproduction: extracted actual main functions into an isolated Rust harness with regex, supplied PR88 exact skel text, ran cargo run --offline. Output: screen_off read: None; disabled keeps wrapper: true; 900s save keeps 480s wrapper: true; inline added: true.
Required: recognize wrapper and old inline/legacy forms without duplicate listeners, preserve wrapper on save, test initial 480s read, disable removes it, changing timeout updates one listener, resume and after_sleep stay compatible. Integrate this prerequisite before BOS PR88 ships, or retain compatible skel commands there. Related BOS-87; proposed wrapper not yet merged.
No longer reproducible on current main. The bos-dpms wrapper this card describes was introduced in bos ea390fd and reverted the same day in 280c531 (on origin/main). The revert message names this exact failure: the wrapper was not recognized, so screen-off read as 0, disabling kept the listener, and changing the timeout added a duplicate. Skel hypridle.conf is back to the inline
hyprctl eval "hl.dispatch(hl.dsp.dpms({ action = 'off' }))"form, which power_settings.rs matches exactly (DPMS_OFF), and no open bos PR reintroduces the wrapper.Closing as done because the defect was removed at the source rather than by a parser change. If a wrapper is proposed again, the parser requirement in this card still applies before it ships.