Skip to main content

brett

PanelCtl app icon

PanelCtl

PanelCtl started as an experiment to learn what macOS could safely detect and control on external monitors.

The result is a pure-black window on selected displays. An idle timeout shows it when I step away from my workspace or am on a call and don’t need every screen. This helps protect OLED monitors when a long video call would otherwise leave static content on a side display.

# Black out one display after five idle minutes, then keep watching.
panelctl blackout --display DISPLAY_UUID --idle-after 5m --watch

# Black out every display after idle, then sleep them after 30 minutes.
panelctl blackout --all --idle-after 5m --sleep-after 30m --keep-displays-awake

It grew into a macOS CLI and menu-bar app for display inventory, OLED blackouts, display sleep, configurable idle and restore timers, and experimental DDC brightness control.

PanelCtl preferences

A blackout minimizes OLED pixel emission. However, it does not power down display electronics or guarantee a panel compensation cycle. For a long unattended stretch, all-display sleep is still the better option.

brettinternet/panelctl

macOS display controls for OLED blackouts and sleep