Skip to content

Yowl 1.2.0

Choose a tag to compare

@nejcar20 nejcar20 released this 20 Sep 16:37
· 45 commits to main since this release

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.