Skip to content

fix: honor Reduce Motion and Reduce Transparency#279

Merged
umputun merged 2 commits into
umputun:masterfrom
melonamin:feature/reduce-motion-transparency
Jul 23, 2026
Merged

fix: honor Reduce Motion and Reduce Transparency#279
umputun merged 2 commits into
umputun:masterfrom
melonamin:feature/reduce-motion-transparency

Conversation

@melonamin

Copy link
Copy Markdown
Contributor

Summary

  • observe macOS accessibility display-option changes and reapply AppKit window/sidebar state live
  • suppress repeating sidebar and dashboard status animations when Reduce Motion is enabled
  • force opaque windows, command palettes, and session switchers when Reduce Transparency is enabled
  • preserve the user's saved opacity and blur values while the system override is active

Why

Status animations repeated indefinitely regardless of Reduce Motion, and translucent window/panel backgrounds remained visible with Reduce Transparency enabled. The app also had no bridge from NSWorkspace.accessibilityDisplayOptionsDidChangeNotification to its AppKit-managed UI.

Validation

  • make build
  • swift test --package-path agtermCore --skip-build (1,441 tests)
  • strict SwiftLint on all changed Swift files
  • focused Settings, Dashboard, and sidebar-status UI tests (3 tests)
  • manual live-toggle test plan for Reduce Motion and Reduce Transparency

@melonamin
melonamin marked this pull request as ready for review July 23, 2026 15:19
@melonamin
melonamin requested a review from umputun as a code owner July 23, 2026 15:20

@umputun umputun left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one minor docs issue:

agterm/Views/WindowAppearance.swift:26-29, README.md:146,176,453, .claude/rules/settings.md:177-202, .claude/rules/notifications.md:152-159, the site mirrors, and agterm/Resources/agent-skill/reference.md still describe unconditional blinking and translucency. Please document that Reduce Motion suppresses status animation and Reduce Transparency temporarily forces opaque, unblurred presentation while preserving the saved opacity and blur. The subsystem docs should also include the new .agtermAccessibilityDisplayOptionsChanged live-update path, with the generated site pages kept in sync.

@umputun
umputun merged commit 0b3f568 into umputun:master Jul 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants