Skip to content

Releases: heymykro/luma

Release list

0.1.0-beta.1

Choose a tag to compare

@heymykro heymykro released this 21 Jul 15:02

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

  1. Open Luma.dmg and drag Luma into Applications.
  2. Luma ships unsigned, so on first launch right-click → OpenOpen, or run xattr -dr com.apple.quarantine /Applications/Luma.app.
  3. 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.