scripts/check.sh (also `make check`) parses the Swift sources, validates
Info.plist and its placeholders, checks the Makefile VERSION against the
newest CHANGELOG release, and flags whitespace errors and conflict markers.
The lint job runs it on the existing Linux runners in a swift:6.3
container. A full macOS build job is included but skipped until a macOS
runner is registered and the MACOS_RUNNER repo variable is set to true.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Detect an external display as any online display that isn't built in
(CGGetOnlineDisplayList + CGDisplayIsBuiltin) instead of counting
NSScreens, so the rule works in clamshell mode, when mirroring and on
single-monitor desktops. The Smart Activation footer reports the same
check.
- Refuse and mark shortcut presets that clash with a macOS system shortcut
(CopySymbolicHotKeys, checked once, only when the Global Shortcut submenu
opens), report the real reason a registration failed, and stop claiming
that other apps' clashes are detected. Show the shortcut hint on the
toggle only when it is actually registered.
- Make the menu toggle carry the action it displays, refresh the status
line, toggle and "Add 30 minutes" while the menu is open, and ignore a
click that lands as the toggle changes meaning, so a click never does the
opposite of its label.
- Replace the single suppression flag with per-rule overrides: the status
names what is paused, Turn On becomes Resume Smart Activation, each rule
re-arms when it stops holding, and a rule that became true during a timed
session takes over at expiry while rules that held throughout stay paused.
- Update the README to match, bump the version to 1.1.0 and add
CHANGELOG.md.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>