Second developer preview — two batches of display-management features on top of the 0.1.0 safety core, plus a Set-as-Main fix and menu-bar UX fixes. Platform-independent logic is unit-tested (192 tests); hardware paths were attended-verified on Apple Silicon.
Download: OpenDisplay.zip below — Developer ID-signed, hardened-runtime, notarized + stapled, so it opens with no Gatekeeper workaround. Apple Silicon, macOS 14+.
✨ New features
- Keep displays awake while an external is connected (opt-in power assertion).
- DDC power control — standby/wake an external monitor (VCP
0xD6). opendisplay://URL automation — drive the audited command path from URLs (confirmation-gated).- Resolution slider replacing the dropdown.
- Timed auto-revert safety gate — "Keep these display settings?" countdown that reverts itself.
- Auto-disconnect the built-in when an external connects (opt-in).
- DDC capability detection (VCP
0xF3) — controls gated to what the panel reports. - EDID retrieval / export — parsed identity + stable fingerprint, with a CLI
edidexport. - Favorite resolutions — star the modes you use.
- Display-config drift detection.
- Configurable global hotkeys — cycle main display, brightness ±, reconnect-all.
- Connect / disconnect notifications.
- One-click quit — power button in the menu header.
🐞 Fixes
- Set-as-Main now targets the correct display (re-resolves against a fresh snapshot instead of a stale one).
- Menu pop-out no longer mis-anchors across multiple displays (AppKit
NSStatusItem+NSPopover). - Settings opens reliably from the menu, on the screen you're using.
🔄 Changed
- Quitting returns the Mac to a clean default — reconnects any display the app turned off, lifts dim/blackout, and drops the keep-awake assertion before exiting.
Full notes: CHANGELOG.md. Reproducible via make release-signed.