[GH-ISSUE #575] More permanent display ID for preference storage on Apple Silicon #428

Closed
opened 2026-05-05 05:59:00 -06:00 by gitea-mirror · 0 comments
Owner

Originally created by @waydabber on GitHub (Sep 10, 2021).
Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/575

Originally assigned to: @waydabber on GitHub.

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

On Apple Silicon CGDirectDisplayID is not so unique anymore (it wasn't guaranteed to be unique on Intel as well but in practice it was), just a simple 0,1,2... number. Since all display related UserPreferences were stored tagged with CGDirectDisplayID, if the user replaces the display (or connects them in a different order), wrong settings will be applied.

Steps to reproduce

  1. Use app with a display.
  2. Replace display with a different one.
  3. See the old display's settings applied to the replacement.

Expected behavior

All display settings should be stored using a more unique identifier in the UserPreferences database.

Anything else?

No response

Environment Information (please complete the following information)

- macOS version: 12 Monterey
- Mac model: M1 MBA
- MonitorControl version: 3.0.0
- Apple Silicon/M1 (yes or no): yes
Originally created by @waydabber on GitHub (Sep 10, 2021). Original GitHub issue: https://github.com/MonitorControl/MonitorControl/issues/575 Originally assigned to: @waydabber on GitHub. ### 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 On Apple Silicon CGDirectDisplayID is not so unique anymore (it wasn't guaranteed to be unique on Intel as well but in practice it was), just a simple 0,1,2... number. Since all display related UserPreferences were stored tagged with CGDirectDisplayID, if the user replaces the display (or connects them in a different order), wrong settings will be applied. ### Steps to reproduce 1. Use app with a display. 2. Replace display with a different one. 3. See the old display's settings applied to the replacement. ### Expected behavior All display settings should be stored using a more unique identifier in the UserPreferences database. ### Anything else? _No response_ ### Environment Information (please complete the following information) ```markdown - macOS version: 12 Monterey - Mac model: M1 MBA - MonitorControl version: 3.0.0 - Apple Silicon/M1 (yes or no): yes ```
gitea-mirror 2026-05-05 05:59:00 -06:00
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#428
No description provided.