Release 1.1.0: fix display rule, shortcut clashes, stale menu and smart activation #1

Merged
gary merged 1 commits from release/1.1.0 into main 2026-09-23 08:29:05 +00:00
Owner
  • 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

- 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>
gary added 1 commit 2026-09-23 08:21:10 +00:00
- 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>
gary requested review from aibot 2026-09-23 08:21:23 +00:00
gary merged commit e184197073 into main 2026-09-23 08:29:05 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: HansenITSolutions/Wakeful#1