[GH-ISSUE #1731] Enabling Start at Login doesn't add it to system Login Items #960

Closed
opened 2026-05-05 06:56:07 -06:00 by gitea-mirror · 2 comments
Owner

Originally created by @davsinghm on GitHub (Feb 24, 2025).
Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/1731

Before opening the issue, have you...?

  • Searched for existing issues
  • Looked through the wiki
  • Updated MonitorControl to the latest version (if applicable)

Describe the bug

Testing on macOS Sequoia, enabling or disabling Start at Login setting in the app doesn't add the app to the Login Items in System Preferences. Instead it adds itself to 'Allow in the Background' section.
That might enable to it be launched at login, but not ideal. I had to manually add it to the Open at Login section, where it gracefully starts automatically.

I understand there should be an API call that let the app add itself to that list as I've seen other decent app do it.
Using that standard way would also avoid the notification from the system about "Background Items Added" / "App is allowed to be run in the background even when it's not open", which requires users attention from security or performance/battery standpoint.

Steps to reproduce

In app settings, under General, simply enabling 'Start at Login' on fresh install.

It will also make the 'Background item added' notification from system.

Expected behavior

In System Preferences, app should appear in Open at Login items instead of Allow in the Background items.

Anything else?

No response

Environment Information (please complete the following information)

- macOS version: 15.3.1
- Mac model: n/a
- MonitorControl version: 4.3.3
- Monitor(s): n/a
- Apple Silicon/M1 (yes or no): no
Originally created by @davsinghm on GitHub (Feb 24, 2025). Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/1731 ### Before opening the issue, have you...? - [x] Searched for existing issues - [x] Looked through [the wiki](https://github.com/MonitorControl/MonitorControl/wiki) - [x] Updated MonitorControl to the latest version (if applicable) ### Describe the bug Testing on macOS Sequoia, enabling or disabling Start at Login setting in the app doesn't add the app to the Login Items in System Preferences. Instead it adds itself to 'Allow in the Background' section. That might enable to it be launched at login, but not ideal. I had to manually add it to the Open at Login section, where it gracefully starts automatically. I understand there should be an API call that let the app add itself to that list as I've seen other decent app do it. Using that standard way would also avoid the notification from the system about "Background Items Added" / "App is allowed to be run in the background even when it's not open", which requires users attention from security or performance/battery standpoint. ### Steps to reproduce In app settings, under General, simply enabling 'Start at Login' on fresh install. It will also make the 'Background item added' notification from system. ### Expected behavior In System Preferences, app should appear in Open at Login items instead of Allow in the Background items. ### Anything else? _No response_ ### Environment Information (please complete the following information) ```markdown - macOS version: 15.3.1 - Mac model: n/a - MonitorControl version: 4.3.3 - Monitor(s): n/a - Apple Silicon/M1 (yes or no): no ```
Author
Owner

@davsinghm commented on GitHub (Feb 24, 2025):

Looks like it's using SMLoginItemSetEnabled here which was deprecated.
There's new SMAppService.

<!-- gh-comment-id:2678711583 --> @davsinghm commented on GitHub (Feb 24, 2025): Looks like it's using SMLoginItemSetEnabled [here](https://github.com/MonitorControl/MonitorControl/blob/81170cd7fc582470f3bb75feeb18d0405c2a9a6e/MonitorControl/Support/AppDelegate.swift#L302C5-L302C26) which was [deprecated](https://developer.apple.com/documentation/servicemanagement/smloginitemsetenabled(_:_:)?language=objc). There's new [SMAppService](https://developer.apple.com/documentation/servicemanagement/smappservice).
Author
Owner

@waydabber commented on GitHub (Feb 24, 2025):

Yes, there is a proper API since Ventura. Since the app needs to support all the way back to Catalina and the old method works fine (+ as you say you can simply manually add the app to Login Items) I don't think I'll update the current version of MC to the new method.

If you want an up-to-date solution, you might want to consider using BetterDisplay which uses SMAppService.

<!-- gh-comment-id:2678780812 --> @waydabber commented on GitHub (Feb 24, 2025): Yes, there is a proper API since Ventura. Since the app needs to support all the way back to Catalina and the old method works fine (+ as you say you can simply manually add the app to Login Items) I don't think I'll update the current version of MC to the new method. If you want an up-to-date solution, you might want to consider using [BetterDisplay](https://betterdisplay.pro) which uses SMAppService.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/MonitorControl#960
No description provided.