- 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>