O LockDown Browser pode detectar um segundo monitor no Mac? (Sim - veja como)

Sim - o LockDown Browser detecta cada tela registrada no macOS via Core Graphics. Isso inclui telas embutidas, monitores externos conectados por HDMI/DisplayPort/USB-C, iPads Sidecar, TVs AirPlay e até algumas telas virtuais de dock. Abaixo: a lógica exata de detecção, o que conta e o que escapa.

O mecanismo de detecção

O LDB faz duas chamadas ao lançar:

uint32_t count;
CGDisplayActiveDisplayCount(&count);
// count é o número de telas atualmente ativas
// LDB bloqueia se count >= 2 (config Dashboard padrão)

Isso é idêntico ao que Informações do Sistema → Gráficos/Telas mostra. Não há API oculta; a detecção é direta.

Coisas que contam como "telas ativas"

Fonte de telaContada?Notas
Tela embutida do MacBook (tampa aberta)Sempre contada como #1
HDMI externoPadrão
DisplayPort externoPadrão
USB-C-para-tela diretoPadrão
Thunderbolt 4 externoPadrão
Dock USB-C com saída HDMI/DisplayPortCada porta de saída conta independentemente
Sidecar iPadRegistrado como CGDisplay virtual
AirPlay para Apple TV / Vizio / Roku TVEspelhamento ou extensão - ambos contados
Espelhamento de iPhone (Sequoia 15+)Contado no lado do Mac
iPad mostrado via Continuity como fonte de entrada✓ quando Sidecar ativoSidecar é o que faz contar

Coisas que NÃO contam

ConfiguraçãoPor que não conta
Modo de tampa fechada com apenas tela externaTela embutida dorme; contagem CGDisplay = 1
iPad ao lado do laptop, NÃO em SidecarDispositivo separado, não registrado no sistema de telas do macOS
Tela externa fisicamente conectada mas DESABILITADA via Ajustes do SistemaInativa no macOS, então não contada
Universal Control (cursor no iPad)Universal Control != Sidecar; iPad não é um CGDisplay
Telefone ao lado do laptop, mesmo com Continuity CameraCâmera != tela
Smart TV no mesmo cômodo, não conectada via AirPlay/HDMISem conexão ao sistema de telas do Mac

Casos limite

Dock USB-C que adiciona uma tela "virtual" quando nada está plugado

Alguns docks USB-C (CalDigit, OWC) têm uma peculiaridade onde o dock anuncia uma porta de tela mesmo sem monitor conectado. O macOS ocasionalmente registra isso como uma tela ativa sem tela física. Sintoma: LDB bloqueia com erro multi-tela mas você não vê nada conectado.

Solução: desconecte o dock por completo (brevemente, para a prova). A tela fantasma desaparece da lista CGDisplay.

Tela sem fio (Miracast, terceiros)

Protocolos sem fio de tela de terceiros se registram como CGDisplays igual ao AirPlay. Desabilite.

Laptops de tela dupla (raros)

Alguns laptops Asus / Acer com Windows têm tela secundária acima do teclado. Macs não têm esse hardware. Não relevante.

Como verificar sua contagem CGDisplay

Abra o Terminal e execute:

system_profiler SPDisplaysDataType | grep -i "Resolution"

Cada linha é uma tela detectada. Conte-as. Se >1, o LDB bloqueará.

Ou use AppleScript:

osascript -e 'tell application "System Events" to get count of displays of (get display preferences)'

O que acontece se você tentar contornar e lançar

Você não pode contornar - a verificação acontece no lançamento, antes de qualquer prova carregar. O bloqueio é consistente e reproduzível. Desconecte ou desabilite a segunda tela, reinicie o LDB.

Perguntas frequentes

Se eu cobrir meu monitor externo com um pedaço de papelão, o LDB ainda detecta?

Sim - cobrir fisicamente a tela não muda o estado de tela do macOS. A tela está "ativa" pela conexão, não porque pixels são visíveis. Desconecte ou desabilite.

Posso mudar para tela única alterando o arranjo do macOS?

Não - Ajustes do Sistema → Telas → Arranjo só muda layout, não a contagem de telas ativas. Desabilite uma tela via o ícone de engrenagem por tela, ou desconecte.

A tampa do meu MacBook está fechada e só uso uma externa. Por que o LDB ainda bloqueia?

Não deveria bloquear nessa configuração se o modo de tampa fechada está ativo corretamente. Se o LDB bloqueia: tampa aberta → fechar a tampa completamente → aguarde 10 segundos → externa se torna única tela → lançar LDB. Se ainda bloqueando, a embutida pode não estar dormindo (cabo de carga desconectado, tampa não totalmente fechada).