Skip to content

feat(macos): follow Reduce Motion and Low Power Mode - #4

Merged
parda21 merged 1 commit into
feat/macos-sleep-wakefrom
feat/macos-calm
Oct 15, 2026
Merged

parda21 merged 1 commit into
feat/macos-sleep-wakefrom
feat/macos-calm

Conversation

@yk-sgr

@yk-sgr yk-sgr commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #3.

What changes

Reduce Motion (System Settings → Accessibility → Display):

  • The slide-ins of pages and menus become short fades, as Apple recommends.
  • The lyrics jump to the current line instead of scrolling.
  • The equalizer next to the playing playlist stands still.
  • Loading spinners keep turning: they show progress, which the guidance allows.

Low Power Mode:

  • No animations at all, and the accent color switches without a fade.
  • The event loop's timer ticks every 100 ms instead of 25 ms.
  • A playing track redraws once a second instead of eight times. That is still often enough for the clock; the progress bar moves about a cell per 1.5 s anyway.

cloofy-os::settings::current() reads NSWorkspace.accessibilityDisplayShouldReduceMotion and NSProcessInfo.isLowPowerModeEnabled (guarded with available!(macos = 12.0)). The TUI checks them every 3 s, so toggling either applies without a restart. On other systems both read as off.

Verified

  • I forced low_power with a temporary patch (not committed) and measured the idle TUI with /usr/bin/top: 19 → 5 idle wakeups per 2 s sample. CPU barely changes when idle (4.7% → 4.4%, debug build). I couldn't measure the saving while playing without playing audio here.
  • Both settings read correctly on this Mac (both off, matching defaults and pmset).
  • New test: switching the accent without a fade.

To test by hand

  • Turn on Reduce Motion: opening a playlist or the . menu fades instead of sliding; lyrics in z jump line by line
  • Turn on Low Power Mode while playing: no animations, and the equalizer stops

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: caa59ab5-7097-4a5a-8127-1d4284e2df1a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@yk-sgr yk-sgr mentioned this pull request Oct 15, 2026
3 tasks
- Reduce Motion: the slides of pages and menus become short fades, the
  lyrics jump to the current line, and the equalizer stands still.
  Spinners keep turning; they show progress, which Apple's guidance
  keeps.
- Low Power Mode: no animations and an instant accent color. The timer
  ticks every 100 ms instead of 25 ms, and a playing track redraws once
  a second instead of eight times. Idle on Home, cloofy woke the Mac
  about a quarter as often in a test.

cloofy-os reads both settings and the TUI checks them every few seconds,
so changes apply without a restart. Elsewhere both read as off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yk-sgr
yk-sgr force-pushed the feat/macos-sleep-wake branch from 8498fe1 to 5e9aeac Compare October 15, 2026 14:47
@parda21
parda21 merged commit 782b840 into feat/macos-sleep-wake Oct 15, 2026
3 checks passed
@parda21

parda21 commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Merged through #7, unchanged. Fixed on top:

  • 8bf5ddc: the equalizer also stands still in track lists, search results, the artist's popular tracks and on cards, through one helper.
  • d747582: a calm-mode jump of the lyrics now asks for a redraw. While paused, they otherwise stayed at the old line.

Page transitions are no longer a sweep at all (the audit work replaced it with a short fade), so Reduce Motion needs nothing there.

🤖 Generated with Claude Code

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