Documentation

Everything you need to control your displays with Lumino — from the menu bar or the terminal.

Getting Started

Install via Homebrew

The recommended way to install Lumino on macOS:

brew tap unit313/tap
brew install --cask lumino

Download directly

Alternatively, download the latest .zip from the homepage, unzip, and drag Lumino to your Applications folder.

First launch

Open Lumino from Applications. It appears as a sun icon in your menu bar. On first launch, macOS may ask you to grant Accessibility permissions — this is required for display control and keyboard shortcuts.

TIP

The CLI tool lumino is installed alongside the app. You can use it immediately in your terminal.

Click the Lumino icon in your menu bar to open the control panel. You'll see all connected displays with their controls.

Display controls

Built-in display toggle

Turn your MacBook's built-in display on or off instantly — use only your external monitor without closing the lid. Lumino uses a hardware-level API when available, with a soft-disable fallback (brightness 0 + dark overlay).

Night Shift for external monitors

Schedule warm color temperature on external monitors, just like the built-in Night Shift. Set a color temperature between 2700K (warm) and 6500K (daylight).

Display presets

Save your current display configuration (brightness, contrast, volume for all monitors) as a preset. Restore it with one click or a keyboard shortcut.

Keyboard Shortcuts

Lumino registers global keyboard shortcuts that work system-wide. Default shortcuts:

ShortcutAction
Cmd + Shift + DToggle built-in display on/off
Cmd + Shift + EEmergency — enable all displays
Cmd + Shift + BBrightness up (all displays)
Cmd + Shift + NBrightness down (all displays)

With PRO, you can customize all shortcuts and add new ones from the Preferences panel.

Pro Features

Lumino is free for essential display control. Lumino Pro ($9.99 one-time) unlocks:

CLI Reference

The lumino command-line tool gives you full display control from the terminal. It's installed automatically alongside the app.

Global flags

TIP

Run lumino list to see display IDs, then use -d <ID> to target a specific display.

list

lumino list

List all connected displays with their IDs, type, and resolution.

# Human-readable
$ lumino list
1  Built-in   3456x2234
2  External   3840x2160  Dell U2723QE

# JSON output
$ lumino list --json

status

lumino status DEFAULT

Show status of all displays. This is the default command when you run lumino with no arguments.

$ lumino
$ lumino status
$ lumino status --json

brightness

lumino brightness [value]

Get or set display brightness. Omit the value to read current brightness.

  • value Built-in: 0.0–1.0 (or 0–100, auto-converted). External DDC: 0–100.
  • -d, --display <ID> Target display ID.
  • --json Output as JSON.
# Read brightness
$ lumino brightness
$ lumino brightness -d 2

# Set brightness
$ lumino brightness 75
$ lumino brightness 0.8 -d 1

# JSON
$ lumino brightness --json

contrast

lumino contrast [value] DDC ONLY

Get or set display contrast on external monitors via DDC/CI.

  • value Contrast value 0–100.
  • -d, --display <ID> Target display ID.
  • --json Output as JSON.
$ lumino contrast
$ lumino contrast 50 -d 2

volume

lumino volume [value] DDC ONLY

Get or set monitor speaker volume via DDC/CI.

  • value Volume value 0–100.
  • -d, --display <ID> Target display ID.
  • --json Output as JSON.
$ lumino volume
$ lumino volume 30 -d 2

input

lumino input [value] DDC ONLY

Get or set the active input source on an external monitor. Uses DDC/CI VCP input codes.

  • value VCP input source code: 15 = DP1, 17 = HDMI1 (varies by monitor).
  • -d, --display <ID> Target display ID.
  • --json Output as JSON.
# Read current input
$ lumino input -d 2

# Switch to DisplayPort
$ lumino input 15 -d 2

# Switch to HDMI
$ lumino input 17 -d 2

power

lumino power [mode] DDC ONLY

Get or set the power state of an external monitor.

  • on Turn the display on.
  • standby Put the display into standby mode.
  • suspend Suspend the display.
  • off Turn the display off (hard power off).
# Read power state
$ lumino power -d 2

# Turn off external monitor
$ lumino power off -d 2

# Wake it back up
$ lumino power on -d 2

toggle-builtin

lumino toggle-builtin [on|off]

Toggle the built-in (MacBook) display on or off. Omit the argument to toggle the current state. Lumino will prevent you from disabling the built-in display if no external monitor is connected.

# Toggle
$ lumino toggle-builtin

# Explicit
$ lumino toggle-builtin off
$ lumino toggle-builtin on

color-temp

lumino color-temp <kelvin>

Set the color temperature via gamma curve adjustment. Value is clamped to 2700–6500K.

  • kelvin Color temperature in Kelvin. 2700 = warm, 4000 = neutral, 6500 = daylight.
  • -d, --display <ID> Target display ID. Defaults to all displays if omitted.
  • --json Output as JSON.
# Warm (Night Shift style)
$ lumino color-temp 2700

# Neutral white
$ lumino color-temp 4000

# Daylight (reset)
$ lumino color-temp 6500

# Specific display
$ lumino color-temp 3200 -d 2

Scripting Examples

Combine the lumino CLI with shell scripts, cron jobs, or automation tools for powerful display workflows.

Dim all displays at night

#!/bin/bash
# Add to crontab: 0 22 * * * ~/scripts/night-mode.sh
lumino brightness 30
lumino color-temp 2700
echo "Night mode enabled"

Morning reset

#!/bin/bash
# Add to crontab: 0 7 * * * ~/scripts/morning-reset.sh
lumino brightness 80
lumino color-temp 6500
echo "Displays reset for daytime"

Switch external monitor to HDMI when docked

#!/bin/bash
DISPLAY_ID=2
lumino input 17 -d $DISPLAY_ID
lumino brightness 70 -d $DISPLAY_ID
lumino volume 25 -d $DISPLAY_ID

JSON output for integration

# Get all display info as JSON
$ lumino list --json

# Parse with jq
$ lumino brightness --json | jq '.brightness'

# Use in scripts
BRIGHTNESS=$(lumino brightness --json -d 2 | jq '.brightness')
if [ "$BRIGHTNESS" -lt 20 ]; then
    echo "Display is very dim"
fi

Turn off built-in when external connected

#!/bin/bash
EXTERNAL_COUNT=$(lumino list --json | jq '[.[] | select(.isBuiltIn == false)] | length')
if [ "$EXTERNAL_COUNT" -gt 0 ]; then
    lumino toggle-builtin off
    echo "Built-in display disabled — using external only"
fi