Skip to content

Lower the standard-jiggle minimum distance from 10 px to 2 px (fixes #43) - #53

Open
timokox wants to merge 1 commit into
bhaller:masterfrom
timokox:shorter-standard-jiggle-distance-upstream
Open

Lower the standard-jiggle minimum distance from 10 px to 2 px (fixes #43)#53
timokox wants to merge 1 commit into
bhaller:masterfrom
timokox:shorter-standard-jiggle-distance-upstream

Conversation

@timokox

@timokox timokox commented May 23, 2026

Copy link
Copy Markdown

Fixes #43.

Microsoft Teams and Slack on modern macOS don't trust the system idle timer alone for the Available/Away switch — they also hook on real mouse-move events. Activity assertions (#44 etc.) keep the OS awake but don't fool those apps. The remaining knob for users in that situation is the standard-jiggle distance, and its current floor is 10 px (slider value 0 mapped to 0² + 10 = 10 in -[PrefsController jiggleDistance]). That is more cursor wiggle than people want for a long-running background jiggle they don't notice.

Fix

Drop the floor to 2 px. Curve is now x² + 2:

Slider Before After
0 10 px 2 px
1 11 px 3 px
5 35 px 27 px
10 110 px 102 px
20 410 px 402 px (clamped to 410)

2 px is small enough to be barely noticeable but still registers as motion in the apps that care. The matching safety floor in -periodicJiggleStatusCheck: is lowered to match. The slider UI itself is unchanged — the value space at the high end is essentially identical, only the low end becomes finer-grained.

Why minimal

Tried to keep this strictly scoped to the floor change so it can land without dragging in anything else. No new pref, no UI change, no migration concern (the slider value persisted in defaults still maps to the new curve cleanly — users who had it at 0 will now get 2 px instead of 10 px, which is what the issue is asking for).

Verification

xcodebuild -configuration Debug build → BUILD SUCCEEDED, no warnings. Smoke-test alive.

…aller#43)

Issue bhaller#43 (Microsoft Teams / Slack on modern macOS): those clients
don't trust the system idle timer alone for Available/Away — they
also look at actual mouse-move events.  Activity assertions help
keep the OS awake but not those apps.  Standard-jiggle's quadratic
distance curve had a floor of 10 px (slider value 0 mapped to
0² + 10 = 10), which is more cursor wiggle than some users want for
a long-running background jiggle.

Drop the floor to 2 px.  Curve is now x² + 2 — slider 0 → 2 px,
slider 20 → 402 px (clamped to 410 in AppDelegate).  2 px is small
enough to be barely noticeable but still registers as motion in the
apps that care.  The matching safety floor in -periodicJiggleStatusCheck
is lowered to match.  Slider UI doesn't need a change; the value
space at the high end is essentially unchanged.
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.

a shorter "standard jiggle" minimum distance would be helpful (Microsoft Teams issue)

1 participant