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.
The CLI tool lumino is installed alongside the app. You can use it immediately in your terminal.
Menu Bar App
Click the Lumino icon in your menu bar to open the control panel. You'll see all connected displays with their controls.
Display controls
- Brightness — Drag the slider or use keyboard shortcuts. Built-in displays use the native API; external monitors use DDC/CI for hardware-level control.
- Volume — Adjust monitor speaker volume directly via DDC/CI (external monitors only).
- Contrast — Fine-tune contrast on external monitors.
- Input source — Switch monitor inputs (HDMI, DisplayPort, USB-C) without touching the monitor's OSD.
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:
| Shortcut | Action |
|---|---|
| Cmd + Shift + D | Toggle built-in display on/off |
| Cmd + Shift + E | Emergency — enable all displays |
| Cmd + Shift + B | Brightness up (all displays) |
| Cmd + Shift + N | Brightness 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:
- Multi-monitor DDC control — Full control over all connected external displays, not just one.
- Brightness sync — Automatically synchronize brightness across displays (match, proportional, or offset modes).
- Night Shift for externals — Scheduled color temperature for external monitors.
- App profiles — Auto-switch brightness and settings when specific apps activate.
- Display presets — Save and restore multi-display configurations.
- Custom keyboard shortcuts — Record any key combination for any action.
- XDR brightness — Push MacBook Pro beyond 500 nits for HDR content.
- Ambient light auto-adjust — Use the Mac's light sensor to adjust external monitors automatically.
- Dashboard widget — Quick-glance display status on your desktop.
- Media key intercept — Use your keyboard brightness keys to control external monitors.
CLI Reference
The lumino command-line tool gives you full display control from the terminal. It's installed automatically alongside the app.
Global flags
- --json Output as machine-readable JSON. Available on all commands.
- -d, --display <ID> Target a specific display by ID. Defaults to first external display if omitted.
Run lumino list to see display IDs, then use -d <ID> to target a specific display.
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
Show status of all displays. This is the default command when you run lumino with no arguments.
$ lumino
$ lumino status
$ lumino status --json
brightness
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
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
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
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
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
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
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