Crisp 1.4.0 adds Extra Brightness for XDR and HDR displays, monitor speaker volume over DDC, macOS 14 (Sonoma) support, working brightness keys in clamshell mode, and a broad round of fixes.
New
- Extra Brightness. Push XDR MacBook panels and HDR monitors past 100% by unlocking their HDR brightness reserve, up to the panel's full headroom. One toggle per display, then the normal slider and brightness keys simply reach further, with the slider shading toward yellow in the boosted range. On external monitors Crisp drives the display's transfer curve directly instead of routing everything through the HDR compositing pipeline, so whites stay clean instead of washing out. Sustained maximum brightness increases power draw, and real HDR video can look overblown while boosted.
- Monitor speaker volume. Control the built-in speakers of external monitors over DDC, with a slider per display and the keyboard volume and mute keys mapped to the monitor when it's your audio output. Shows only for monitors that support it (remembered across sessions), and can be hidden entirely from Settings.
- macOS 14 (Sonoma) support. The minimum macOS drops from 15 to 14, runtime-verified on both Sonoma and Sequoia. (#22, #26)
- HDR on/off per display, right from the panel, and kept in sync when displays reconfigure.
- Keep Awake indicator. A small orange dot fades in on the menu bar icon while Keep Awake is holding your displays awake, so you can tell at a glance.
Fixed
- Brightness keys now work in clamshell mode. With the lid closed macOS suppresses the usual brightness event, so Crisp adds a raw key-down fallback, the same dual-path capture MonitorControl uses. (#21)
- Updating Crisp no longer leaves the brightness keys dead until a relaunch: Accessibility trust is re-checked after launch and the key listener re-arms once it settles.
- Disconnecting your last active monitor no longer leaves every screen black: if the built-in display was turned off and the external unplugs, Crisp turns the built-in back on automatically, including the tricky case where macOS swaps in a placeholder display.
- Gamma adjustments (image adjustment, software dimming) now survive sleep/wake and display reconfigurations, and reapply when ColorSync switches the color profile. (#25)
- The color profile shown in the panel refreshes when the profile changes outside Crisp.
- HiDPI modes now work correctly on portrait and rotated displays, and off-aspect accessibility modes no longer land on the smooth-scaling slider. (#24)
- DDC hardening: reply checksums are validated, monitors that return garbage are quarantined, and the channel map is flushed on any display reconfiguration, so multi-monitor setups stay correctly paired.
- Software dimming covers the full range while a monitor is in HDR mode.
Changed
- Big panel performance rework: opening the panel and expanding or collapsing its sections now animates with a smooth spring and no dropped frames, whatever your display's refresh rate.
- Brightness fades are smoother too: slider and key changes now step in sync with your display instead of on a fixed 60Hz timer.
- The whole display row is clickable to expand it, not just the label.
- Polished the Simplified Chinese localization. I'm not a native Chinese speaker, so translation corrections are very welcome as a PR. (我不是中文母语者,欢迎提交 PR 改进翻译。)
Supporting Crisp
Crisp is free and stays free. If you find it useful, or it even saved you a paid license, the nicest thank-you costs nothing: star the repo or tell a friend. And if you'd like to help cover the $99/year Apple fee that keeps releases signed and notarized, there's GitHub Sponsors, Ko-fi, or Afdian (爱发电).
Contributors
- @shaw-baobao: HiDPI mode filtering for portrait displays (#24)
- @FrancoLan: thorough clamshell brightness-key testing on macOS 27 that confirmed the fix (#21)
- @YuriNachos: extracted the DDC display-matching core into a pure, unit-tested function (#27)