Menu bar app · macOS

Turn off your MacBook display.
Without closing the lid.

You're working on an external monitor, watching a film on the TV, or wearing a VR headset. The laptop screen below is doing nothing useful: it splits your attention, swallows your windows and burns battery. PantallaOff makes it genuinely disappear — not dimmed, gone. One click brings it back.

  • Apple Silicon
  • macOS 13+
  • Free · MIT
  • v1.2.1

No account. No telemetry. No network access. Every line is on GitHub.

↑ It's a real replica. Click the top item.

The problem

It isn't that the screen is bright.
It's that it's there.

Four small costs you've stopped noticing, every one of them paid by a panel you aren't using.

Your attention splits

Two screens, one task. Your eyes keep checking a panel that has nothing to do with what you're doing.

Windows wander down there

Apps launch there, dialogs appear there, and full-screen video escapes there mid-scene.

It lights the room

Watching a film in the dark, the panel under your monitor is the brightest thing in it.

It costs battery

A lit display you never look at is the easiest watts you will ever save.

“Can't I just close the lid?”

You can — and then you lose the keyboard, the trackpad and Touch ID, and your Mac is stuck in clamshell mode. If you're halfway through a film, closing the lid isn't even on the table. PantallaOff leaves the whole machine usable and turns off only the panel.

Three ways to deal with the screen below you
What you get Brightness at zero Closing the lid PantallaOff
The panel is actually offNo — still faintly litYesYes
Windows stop opening thereNoYesYes
Keyboard and trackpad keep workingYesNoYes
Touch ID keeps workingYesNoYes
Usable mid-film, on battery, anywhereYesNoYes
Back in one clickYesYesYes

What you get

The whole app is one menu.

No timers, no dashboard, no preferences window. Every switch is one click deep — and the toggles apply in place, so the menu stays open and relabels itself.

01

Turn the built-in off and on

The first item in the menu. macOS then behaves as if you had a single display — because as far as it's concerned, you do.

02

Keep your Mac awake

The essential half of Amphetamine, as a single switch. Optionally keep the screen on too, for a dashboard or a long render.

03

Keyboard backlight off

Just the switch — the brightness keys already handle the rest. Turn it back on and you get your auto-brightness setting back.

04

Sleep when the lid closes

Optional. Makes closing the lid actually sleep the Mac, even plugged in with an external display, where macOS would keep it awake.

05

Your setup survives sleep and reboots

If the built-in was off when the Mac slept or shut down, it goes off again — but only once a usable external display has been stable for a few seconds. On by default, and you can turn it off.

06

English and Spanish, plus start at login

The language switches from the menu and applies instantly. Opening at login is one more switch, if you want it.

Works with anything that counts as a second screen: an external monitor, a TV over HDMI, a Sidecar iPad, or a VR headset in extended mode. Virtual displays are supported natively — that case is measured, not assumed.

Trust

A tool that disables a display has exactly one way to fail.

So the whole app is built around that one failure. Nothing below is a design intention — it was all measured on real hardware, and several of the findings contradict Apple's own documentation.

Rule 1 No automatic path can turn a screen off

Only your click can. The watchdog, the wake handler and every system callback are allowed to turn displays on — never off. There is exactly one scoped exception, and it's the one you asked for: re-applying your own previous choice after wake or startup, through the same guarded transaction. You can switch it off.

Rule 2 The display's ID hits the disk before the display is touched

A disabled display vanishes from the system — it leaves macOS's own display list, and even System Information. The only way back is an ID that something remembered first. So it's written to disk, with fsync, before anything is switched off.

Rule 3 The recovery watchdog is a separate process

It's spawned outside the app and reparented to launchd, so it survives even a kill -9 of PantallaOff itself. That matters, because macOS's documented “revert when the app exits” behaviour was tested here — and it does not revert this particular setting.

Rule 4 It refuses when it wouldn't be safe

No usable external display, or your built-in is currently the source of a mirror set? The menu item is greyed out and tells you why. The app would rather do nothing than leave you with no screen at all.

The bug nobody had written down

When you unplug the monitor, macOS doesn't always notice

With the built-in display off, physically unplugging the external monitor never reaches CoreGraphics. macOS keeps reporting a monitor that is sitting on your desk, disconnected. Any watchdog built on the normal display APIs is structurally blind to it — it cannot see the problem. Here is the app's own heartbeat catching it:

23:17:07  cg-ve: 2[ext,act] usables=1     ← cable connected
23:17:40  cg-ve: 2[ext,act] usables=1     ← CABLE UNPLUGGED — no change
23:17:56  cg-ve: 22[ext,act]              ← reconnected: new ID

The fix was to stop asking the display system and start listening to IOKit, which does see the cable leave — and to act inside the narrow window where re-enabling the panel still works. Three different disconnect behaviours were observed; all three are covered.

What happens when you unplugCaught byLatency
The system re-registers the monitor under a new IDAcceleratorInstant
The system processes the removal properlyReconfiguration callbackInstant
The system stays silent (the case above)IOKit watcher~10 s
You close the lid or sleep the MacPre-emptive re-enableBefore sleeping

And if all of that failed, you still have four ways back

  • Reconnect the external monitor. The built-in comes straight back.
  • Close and reopen the lid. The screen is turned on before the Mac sleeps, so it's already alive when you open it.
  • Run ~/rescue. A standalone binary deliberately kept at a short path, so you can type it blind or over SSH. It does nothing at all when there's nothing to rescue.
  • Reboot. The off state never survives a restart — that's deliberate, and it's the final safety net.

Install

Three ways in. Pick the one you trust.

They all end at the same place: /Applications/PantallaOff.app, and a small laptop icon in your menu bar next to the clock.

Fastest

1 · Download the ready-made app

  1. Open Releases and download PantallaOff-<version>.zip.
  2. Double-click the zip in Finder, then drag PantallaOff.app into your Applications folder.
  3. First launch: right-click → Open. On macOS 15 and later, if the warning has already appeared, go to System Settings → Privacy & Security and click Open Anyway.

That warning is honest: the app is signed ad-hoc, not notarised by Apple — notarising needs a paid developer account, and this is a free MIT project. Prefer not to trust someone else's binary? Options 2 and 3 build the identical app, and never trigger it.

Go to Releases
No terminal

2 · Build it yourself, by double-click

  1. Download the project and unzip it.
  2. Right-click install.commandOpenOpen.
  3. Done. It checks your Mac, builds, installs and launches the app.

Use right-click → Open, not double-click: macOS quarantines anything downloaded from the internet, and that's the standard way to authorise it once. Needs the Xcode Command Line Tools — if they're missing, the installer opens Apple's installer for you. Full Xcode is not required.

Download the project
One line

3 · Build it yourself, from the terminal

git clone https://github.com/joanproductivo/PantallaOff.git
cd PantallaOff && make install
open /Applications/PantallaOff.app

Options 2 and 3 also give you the rescue tool at ~/rescue, and the app they produce triggers no Gatekeeper warning at all: you compiled it, so it carries no quarantine flag.

Installed from Releases and want the short rescue path too? One command:

cp /Applications/PantallaOff.app/Contents/MacOS/rescue ~/rescue

Questions

Before you install it

Is this safe? What if my screen doesn't come back?

It's the question the app is designed around. No automatic path can ever turn a display off — only your click. The display's ID is written to disk before anything is switched off, a recovery watchdog runs in a separate process that survives the app being killed, and an IOKit watcher catches the one case macOS itself misses. If everything failed at once you still have four ways back: reconnect the monitor, close and reopen the lid, run ~/rescue, or reboot — the off state never survives a restart.

Does it work without an external monitor?

No, deliberately. With no usable second display, turning off the built-in would leave you with no screen at all, and at zero active displays macOS cannot bring a panel back by software. So the menu item greys itself out and tells you why.

Does it work with a TV, an iPad via Sidecar, or a VR headset?

Yes — anything macOS treats as a usable second display counts, including a TV over HDMI and a VR headset in extended mode. Virtual displays were specifically measured, because they behave differently from a cable at the system level, and they're handled natively.

Why does macOS say the developer can't be verified?

Because the app is signed ad-hoc rather than notarised by Apple, and notarising requires a paid developer account for what is a free MIT project. Right-click → Open, or System Settings → Privacy & Security → Open Anyway. If you'd rather not trust a stranger's binary, build it yourself in one double-click or one command — same app, no warning.

Does it collect any data?

None. There is no account, no analytics and no network access. In normal operation it doesn't even write a log file — events stay in a small in-memory buffer, and only reach the disk if something actually goes wrong, so that a black screen can be diagnosed afterwards.

Does my setup survive sleep and reboots?

Yes, if you want it to. If the built-in was off when the Mac slept or shut down, PantallaOff turns it off again after wake or startup — but only once a usable external display has been stable for a few seconds, within a short window, through the same guarded checks as a manual click. It's on by default and can be turned off under ⌥ → Diagnostics.

Does it replace Amphetamine or Caffeine?

For the part most people use, yes: “Keep the Mac awake” is one switch, with an optional “…and the display on”. It uses the same public power-assertion API. If you need schedules, triggers or per-app rules, keep Amphetamine — this app deliberately has none of that.

Which Macs and which macOS versions?

Apple Silicon, macOS 13 Ventura or later. Everything documented here was measured on macOS 26.6; the build targets 13+ and compiles cleanly there, but on older releases treat it as untested. Intel Macs were never tried.

What happens if my built-in display is mirroring?

If it's the source of the mirror set, turning it off would leave the whole set without a source — so the app refuses and offers to break the mirror first. Being the mirrored copy is fine: it turns off normally.

Is it really free? What's the catch?

Free, MIT-licensed, no paid tier. The honest catch is technical: turning a display off requires a private macOS API, which means the app can't be on the App Store and Apple could break it in a future release. That trade-off is the same one every tool in this category makes, and it's why the source is public.

One screen. The one you're actually looking at.

Free, open source, and about ninety seconds from here to your menu bar.