Repository navigation
Yowl 1.2.0
The siren now keeps going with the lid closed — and this time it actually works.
Closing the lid begins a sleep, and the speakers power down at the start of
that transition. Deferring the sleep doesn't help; the sleep has to not begin.
The only setting that prevents it is pmset disablesleep, which is root-only.
Keep screaming with the lid closed is off by default. Switching it on asks
once for your administrator password and installs one rule:
<you> ALL=(root) NOPASSWD: /usr/bin/pmset -a disablesleep 1, \
/usr/bin/pmset -a disablesleep 0
Two absolute paths, fixed arguments, scoped to your account, validated with
visudo -c before and after. Nothing else is granted. Delete
/etc/sudoers.d/yowl-disablesleep or untick the setting to revoke it.
It holds for about a minute, once. Deliberately not renewed — a minute makes
someone put a laptop down, while an alarm that kept a bagged machine awake
indefinitely would be the more dangerous failure. A detached watchdog releases it
even if Yowl is force quit, and disarming releases it immediately.
This replaces the launchd/XPC helper from 1.1.x, which registered cleanly,
reported enabled, and was never started by launchd — and whose failure path
crashed the app on arm. That design is gone entirely; no daemon ships any more.
301 tests. Signed and notarised, universal.