Releases: heymykro/luma
Releases · heymykro/luma
Release list
0.1.0-beta.1
First public beta of Luma — a tiny macOS menu bar app that puts every display's brightness on your keyboard: Apple Studio Display, DDC externals, and the built-in panel alike.
Added
- Brightness keys for every display. Your keyboard's brightness keys — plus third-party keyboards, media keys, and QMK/VIA rotary knobs — now adjust every screen, not just the built-in one. Apple displays go through Apple's native path; everything else over DDC/CI, including on Apple Silicon.
- Route keys where you mean. All displays at once, or just the one under your pointer. Hold a modifier (⌥ by default) to flip routing for a single press.
- Sub-zero dimming. A "Dim below minimum" toggle takes any slider below the hardware floor using a software gamma stage, so a too-bright panel can finally go dark at night.
- A menu bar icon that's a gauge. A half-sun whose rays track brightness — 3 dim, 7 full, a moon when a screen is blacked out.
- Notch-style HUD, a menu bar control deck with presets, profiles and per-display levels, and a
luma://URL scheme for Shortcuts and Raycast. - A settings menu in the panel. The gear beside the wordmark opens profiles, display refresh, diagnostics, update checks, and quit.
- Updates that explain themselves. Luma checks GitHub once a day and shows the release notes inline with a Download button when there's something newer. No Sparkle, no background daemon, no telemetry — and you can skip a version.
Fixed before release
- DDC reads never worked. The I2C read passed the write sub-address instead of
0, so every monitor returned garbage. - DDC went to the wrong monitor. External ports were paired to displays by enumeration order, so on a Mac with an Apple external plus a third-party one, the third-party monitor's brightness went to the Apple display's bus. Ports are matched by the panel's own EDID identity now.
- Read requests carried a bad checksum, which stricter monitors reject. Packets are also sent twice now — I2C acknowledges a packet the monitor then ignores, so a dropped first packet is invisible to a retry.
- Mirrored displays were unreachable. Every member of a mirror set is controllable now.
- Sliders that did nothing. Displays that refuse a gamma table (AirPlay, Sidecar, DisplayLink) were still given a software-dimming slider.
- Waking from sleep lost the restore. The DDC bus is unresponsive for seconds after wake.
- The menu bar icon froze while dragging a slider.
Install
- Open
Luma.dmgand drag Luma into Applications. - Luma ships unsigned, so on first launch right-click → Open → Open, or run
xattr -dr com.apple.quarantine /Applications/Luma.app. - Grant Accessibility when asked — that's only used to intercept the two brightness keys. The sliders work fine without it.
Notes
This is a beta. DDC behaviour varies a lot between monitors. If yours misbehaves, open an issue and paste ⚙ → Copy Diagnostics.
Apple Silicon only (M1 and later), macOS 13+. Intel Macs are not supported yet — macOS exposes DDC through a different API there and that backend isn't written. Free forever, MIT-licensed, no telemetry, no accounts, no caps.