background
Moon

Lunar Pro

Sync Mode

Synchronise the brightness of your built-in display to all your external monitors.

Supported sources

Description

If you have "Automatically adjust brightness" enabled in System Preferences, macOS will always adapt the internal display to the ambient light around you using its internal light sensor near the webcam.

macbook light sensor

Lunar can take advantage of that by continuously polling the MacBook display and sending every brightness change to the external monitors.

Brightness Observer

If the Polling Interval setting is set to 0 seconds then Lunar will use an internal macOS notification system to observe brightness changes instead of continuosly polling the display.

This greatly reduces CPU usage when there's no brightness change.

Dynamic polling interval

If the Polling Interval is 1 second or more, Lunar polls the internal display for brightness changes in the following way:

The x seconds interval is user configurable to any value greater or equal to 1 second.

sync mode polling interval

Source displays

Lunar is not limited to syncing the brightness from the MacBook display. You can use any monitor as a source as long as it has a light sensor and supports Apple’s native brightness changing protocol.

Monitors that are known to match this criteria:

To use a monitor as a source, click on the Sync Target button on the display page to toggle it to Sync Source.

Sync Mode role setting

Brightness keys (and TouchBar)

Because Lunar is constantly listening for brightness changes, you may keep adjusting your source display using the brightness keys, TouchBar sliders or Control Center from the menu bar, and your external monitors will get those adjustments as well.

You can also adjust external monitors separately using Ctrl+Brightness Up/Down.

Curve algorithm for Sync Mode

When Lunar detects a brightness change, it doesn't send the brightness value of the internal display as it is. Instead the value is passed through an algorithm that is constantly adapting to your manual adjustments so that the perceived luminosity stays the same across all monitors.

This is needed because some monitors can look brighter than others with the same brightness value. For example the MacBook display has 500 nits of brightness which is very bright compared to other monitors, so 50% brightness on MacBook’s display may look noticeably brighter than 50% on your external monitors (which usually have around 300-400 nits).

The curve algorithm can be manually adjusted using the Curve Slope sliders inside the Controls menu.

curve factor setting

Lunar can also learn from your personal light perception and readjust the curve whenever you manually change the brightness of an external monitor so that, over time, the brightness computed by Lunar will get closer and closer to what you need.

Steps for keeping luminance in sync

curve slope reset

Location Mode

Adapt the brightness of your monitors based on the sun position in the sky.

If you use your monitors in a room with lots of natural light, Location Mode might be a good choice.

Location sources

Lunar will ask for Location Services permissions when you first launch it, and will fetch your last coordinates to compute the sun position throughout the day.

If Location Services permissions are not granted or if there are no valid coordinates, Lunar will try an IP Geolocation service like ipstack.com

If both methods fail, Location Mode will be unavailable as a choice.

Function

The way Location Mode works is pretty simple:

Curve Algorithm for Location Mode

This is the algorithm that converts the sun position (in degrees relative to horizon) to a brightness value specific to each monitor.

The curve algorithm can be manually adjusted using the Curve Slope sliders inside the Controls menu.

curve factor setting

Lunar can also learn from your personal light perception and readjust the curve whenever you manually change the brightness of an external monitor so that, over time, the brightness computed by Lunar will get closer and closer to what you need.

Steps for finding the perfect brightness curve

curve slope reset

Sensor Mode

Use an external Ambient Light Sensor to adapt your monitors.

The light sensors integrated in the MacBook and iMac are the best around. But in some cases, an integrated light sensor is not available. Some of these cases include:

Lunar can read the ambient light using an external sensor that can be either wireless or connected through USB.

The functioning principle is similar to Sync Mode: every 2 seconds the lux value of the ambient light is read from the sensor and passed through the Curve Algorithm to be computed into a fitting brightness for each monitor.

To read about how you can make your own ambient light sensor for Lunar, check this page: DIY Ambient Light Sensor

Curve Algorithm for Sensor Mode

This is the algorithm that converts the ambient light (in lux) to a brightness value specific to each monitor.

The curve algorithm can be manually adjusted using the Curve Slope sliders inside the Controls menu.

curve factor setting

Lunar can also learn from your personal light perception and readjust the curve whenever you manually change the brightness of an external monitor so that, over time, the brightness computed by Lunar will get closer and closer to what you need.

Steps for finding the perfect brightness curve

curve slope reset

Clock Mode

Adapt your monitor brightness and contrast based on a pre-defined schedule.

If you use your monitors in a shared office, or if you usually work on a well defined schedule, Clock Mode can be a good choice.

Schedule Types

Each schedule can be of the following types:

  1. Time: apply values at a specific time of day
  2. Sunrise: apply values when the sun starts to rise above the horizon
  3. Noon: apply values when the sun is at its highest point in the sky
  4. Sunset: apply values when the sun starts to fall below the horizon

Sunrise, sunset and noon

Schedule Transitions

  1. None: the brightness and contrast are applied at the exact time of the schedule
  2. 30 minutes: the brightness and contrast start transitioning 30 minutes before the schedule time, from your current brightness to the schedule brightness
    • When the transition starts, the algorithm applies the computed values every 30 seconds so it doesn't allow for manual adjustments in the 30 minutes before the schedule
  3. Full: the brightness and contrast transition from schedule to schedule
    • This transition applies the computed values every 30 seconds so it doesn't allow for manual adjustments

Events

The previous schedule values are re-applied when following events happen:

To disable this event behaviour, uncheck Re-apply brightness on screen wake in Advanced settings

XDR Brightness

Increase brightness over 100% on XDR displays.

The 2021 MacBook Pro and the Pro Display XDR feature an incredibly bright panel (1600 nits!), but which is locked by macOS to a third of its potential (500 nits).

Lunar can remove the brightness lock and allow you to increase the brightness past that limit.

HDR monitors that have brighter than normal LED panels can also support this feature.

How it works


1. Brightness Keys

If you have a supported display, simply press the Brightness Up key to increase the brightness over 100% and XDR Brightness will automatically get activated.

2. Buttons

You can also click on the XDR toggle in the menu bar to activate it, and on the SDR toggle to deactivate the feature:

XDR Toggle

3. Auto XDR

Lunar can automatically toggle XDR based on the ambient light around you.

This option is especially useful when switching often between working outside and inside on your MacBook Pro.

The feature is available only in the following conditions:

Auto XDR option

4. XDR Contrast

While XDR Brightness is active, Lunar can enhance the contrast of the MacBook Pro display even further.

This improves readability on darker backgrounds, so you can use XDR in the sun for longer periods of time.

Using XDR with white backgrounds will make the screen heat up much faster, and consume more battery than if used with dark backgrounds.

XDR contrast option


Safety

XDR brightness is mostly safe. The MacBook and Pro Display XDR have been designed to sustain higher than 500nits of brightness.

  1. macOS has a hard limit on the LED temperature and it will start lowering brightness forcefully way before it can do any damage
  2. If used with mostly non-white backgrounds/apps, only the really close-to-white pixels will actually reach 1600 nits, while the rest will hover below 1000 nits, so they'll have plenty of time to cool down

While sifting through macOS internals, I've discovered a lot of logic for temperature thresholds, local dimming zones to keep pixels at their most efficient brightness, and safe measures for high power usage.

Based on the current knowledge, I'd say this is pretty safe to use, given that the system will not allow you to go past unsafe limits.

LED lifespan

Yes, the lifespan of the LEDs will be lowered if XDR Brightness is used daily, but no one can say by how much.

That's just how LEDs work.

Heat degrades the junction between the semiconductors, causing less of the electrical current to be converted to light which will make LEDs dimmer over time.

How are LEDs affected by heat?

macOS will stop XDR when the heat passes a threshold, but if you find that the warning icon (⚠️) appears often in the menu bar you might want to use XDR less often.


HDR monitors

Some HDR monitors have LED panels that support higher than normal brightness (usually higher than 600 nits).

Lunar has an option to enable XDR Brightness on these monitors, but which is disabled by default because not all monitors cope well with this.

To enable it, open the HDR tab inside the Options menu and toggle the Allow XDR on non-Apple HDR monitors checkbox.

XDR option on HDR monitors

A list of monitors that might support this option can be found in the The Monitor Database under the xdr_displays view:

list of HDR monitors

FaceLight

Light up your face in video calls.

How it works

FaceLight can turn your monitor into a really bright LED panel to light up your face when you're having video calls in a dark room.

The default hotkey for toggling FaceLight is Control+Command+5. You can also activate FaceLight from the Lunar menu.

  1. Simply move your cursor on the monitor you want to use as the light and press the hotkey to activate FaceLight
  2. Lunar will increase the active monitor's brightness and contrast to maximum and place a warm-white overlay on top of your screen
  3. Press the hotkey again to deactivate FaceLight and return to the previous brightness

BlackOut

Selectively turn off displays without disconnecting them.

Use cases

How it works

  1. Move your cursor on the screen that you want to turn off
  2. Press the Control+Command+6 hotkey to activate BlackOut
  3. Press the hotkey again to deactivate BlackOut and return to the previous brightness

The default hotkey for toggling BlackOut is Control+Command+6.

You can also activate BlackOut from the Lunar menu or by pressing the ⏻ Power button in the Preferences window.

Modifiers

Hold the following keys while clicking the button (or while pressing the hotkey) to change BlackOut behaviour:

The BlackOut hotkeys can be disabled from the Hotkeys page.


Caveats for DDC power off

Emergency Kill Switch: press the ⌘ Command key more than 8 times in a row to force disable BlackOut.

Unlimited manual adjustments

The free version of Lunar allows you to control the monitor's brightness, contrast, volume and switch inputs, using either hotkeys, Media Keys, UI or through the command line integrations.

The only difference with Pro here is that brightness and contrast adjustments have a limit of 100 adjustments per day.

An adjustment is counted towards the limit only after you have finished fiddling with the brightness/contrast value.

For example, the following actions will only count as 1 single adjustment:

When you have done 100 adjustments in a day and the limit is reached, any new adjustment will show this dialog:

adjustment limit reached dialog

The Pro license lifts this limit and you can do as many adjustments as you want.