Skip to content

fix(managers): force-respawn OSDUIHelper on kickstart so native HUD stays suppressed at first launch#441

Open
nightah wants to merge 1 commit into
Ebullioscopic:mainfrom
nightah:fix-controls-huds
Open

fix(managers): force-respawn OSDUIHelper on kickstart so native HUD stays suppressed at first launch#441
nightah wants to merge 1 commit into
Ebullioscopic:mainfrom
nightah:fix-controls-huds

Conversation

@nightah
Copy link
Copy Markdown
Contributor

@nightah nightah commented Apr 30, 2026

Pass -k to launchctl kickstart so launchd kills any running OSDUIHelper instance and respawns it cleanly before the subsequent SIGSTOP. Without -k, kickstart is a no-op when the service is already running, and the SIGSTOP can land on a lingering instance that macOS then replaces when a media key is pressed, leaving the native HUD visible on first launch until the user toggled the setting off and on again. With -k, the stop reliably applies to the freshly spawned process and the native HUD is suppressed immediately.

…tays suppressed at first launch

Pass `-k` to `launchctl kickstart` so launchd kills any running OSDUIHelper instance and respawns it cleanly before the subsequent SIGSTOP. Without `-k`, kickstart is a no-op when the service is already running, and the SIGSTOP can land on a lingering instance that macOS then replaces when a media key is pressed, leaving the native HUD visible on first launch until the user toggled the setting off and on again. With `-k`, the stop reliably applies to the freshly spawned process and the native HUD is suppressed immediately.
@Ebullioscopic
Copy link
Copy Markdown
Owner

Hi @nightah , I believe the OSDUIHelper killing way is an old implementation, current one is basically supressing the HUDs by directly passing the data via the accessibility permissions. Let me know if I'm getting smth wrong

@nightah
Copy link
Copy Markdown
Contributor Author

nightah commented May 3, 2026

@Ebullioscopic, you're right, and on further inspection and testing, I think the actual issue is that the MediaKeyInterceptor sometimes isn't launching successfully.

I often have multiple HUDs appearing like below:

image

I find there are two ways to resolve this:

  1. Go into the settings and change the HUD (this seems to re-register the interceptor).
  2. Restart Atoll

I'm not certain what is causing it not to work. I'll try to reproduce the issue and validate/update this PR.

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