A little harmony for your Mac

Good light.
Great flow.

Your screen should feel right for what you’re doing. Let brightness, warmth, and display settings follow your apps, screens, and Spaces.

Take a closer look

Native menu bar app · macOS 15+ · Runs locally

FinderFileEditView☀   ◒   Tue 9:41
A SPACE TO THINK

Less adjusting.
More doing.

Make room for your next good idea.
A new app. The right light.One less thing to think about.

Illustrative preview of LumaRule

Made for macOSSettings stay on your MacRules you can make your own

IN YOUR ELEMENT

Different tasks.
The right atmosphere.

Set your preferences once. Switch apps, and let your rules take care of the display.

Try an example
This demo illustrates rules; it doesn’t change your display.

Everyday profileEXAMPLE RULE
WHEN I’M USING
BooksBuilt-in display
MAKE IT FEEL LIKEA quiet afternoon
Read. Unwind. Repeat.
Brightness65%
Temperature4500 K
Contrast45%
Reading rule supplies these settings.

A SIMPLE WAY TO THINK ABOUT IT

Your apps. Your screens.
Your rules.

Group rules into profiles for the way you work. Match an app, a physical screen, a Space, or a combination of all three.

Rules run in your chosen order. Each setting uses the first matching, supported value, then falls back to your shared Default.

01
Your adjustment comes first

A manual hold takes priority for that setting.

02
Then your matching rules

Put exceptions above your everyday rules.

03
Default fills in the gaps

Shared fallback settings for each screen.

SMALL APP. THOUGHTFUL CONTROLS.

Make your display
feel like yours.

A better balance

Adjust brightness, contrast, and approximate color temperature, wherever your display supports them.

More than brightness

Choose resolution and refresh settings in your profiles, with HDR control on supported external displays.

A consistent atmosphere

Bring Dark Mode, True Tone, Night Shift, and automatic brightness into your profiles, where available.

Available controls depend on your Mac, macOS version, display, and connection. Read about compatibility

COMFORTABLY LOCAL

On your Mac.
Out of your way.

The LumaRule app makes no network requests. Your settings stay in local storage, with no analytics or screen-content capture.

App-based rules use permission to read focused-window geometry. LumaRule doesn’t read your window titles, screen contents, or typing.

GOOD TO KNOW

A few bright
answers.

What do I need to run LumaRule?

The project targets macOS 15 or later. To build from source, you’ll need a Swift 6 toolchain, the macOS SDK, and Command Line Tools. The current recorded test environment is Apple Silicon on macOS 27; broader platform validation is still in progress.

Will it work with my external display?

Support depends on the display and its connection. External brightness and contrast use an Apple Silicon DDC adapter. Readback has been recorded for one connection; physical writes, recovery, and broader external-display coverage remain unverified. LumaRule shows unavailable controls instead of promising support for every monitor.

Can I still adjust things manually?

Yes. A manual adjustment creates a hold for that physical display and setting, taking priority over automatic rules. Other settings can continue using your rules. Resume returns held settings to automatic control.

What happens when no rule matches?

LumaRule uses shared Default values for each setting and screen. If neither a matching rule nor Default supplies a supported value, it leaves that setting unchanged.

Does it run on a schedule?

Rules respond to apps, physical screens, and ordinary macOS Spaces. Time schedules, Focus and power triggers, cloud sync, automatic updates, and global profile hotkeys are outside the current implementation.

LESS FIDDLING. MORE FLOW.

Find your
kind of light.

A thoughtful little utility for the way you use your Mac.

Build from source · macOS 15+

GET STARTED

Make room for
better light.

LumaRule currently has build-from-source instructions. On a Mac with Swift 6 and Command Line Tools, open your local LumaRule checkout and run:

./scripts/setup-signing.sh
./scripts/swift.sh test
./scripts/build-app.sh release
open build/Lumarule.app

Create the signing identity once. If this Mac already has the project’s persistent signing setup, skip the first command.

Open source repository