Como a área de transferência funciona no macOS Tahoe
Resposta rápida: A área de transferência do macOS é um serviço do sistema chamado pasteboard. Quando você copia, o app de origem entrega ao sistema uma ou mais representações do mesmo conteúdo (texto simples, texto formatado, imagem, referência a arquivo) e um contador é incrementado. Quando você cola, o app de destino escolhe o formato mais rico que consegue entender. O Tahoe mantém esse modelo, adiciona um histórico de área de transferência embutido no Spotlight e continua apertando a privacidade em relação a apps que leem a área de transferência em segundo plano.
Você aperta ⌘C umas quarenta vezes por dia. Vamos acompanhar uma dessas copiadas do começo ao fim, porque quase toda esquisitice que você já viu na área de transferência (texto colando com a fonte errada, imagem chegando como arquivo, senha aparecendo em app de histórico) nasce em algum ponto desse caminho.
O que é a área de transferência no macOS?
Tecnicamente, a área de transferência é o general pasteboard, um serviço compartilhado do sistema que os apps acessam pela API NSPasteboard. Não é um arquivo nem um app visível. Ele guarda um único «conjunto de itens» por vez, e copiar de novo substitui o conteúdo. É por causa do nome «pasteboard» que você vê pb em ferramentas de terminal como pbcopy e pbpaste.
Dois detalhes importam para tudo que vem a seguir:
- Ela guarda uma coisa só por vez. O macOS nunca manteve um histórico nativo com vários itens no general pasteboard, como o ⊞V do Windows. Histórico sempre foi algo adicionado por cima. O recurso do Spotlight no Tahoe é a primeira tentativa da Apple de resolver isso no nível do sistema (veja mais abaixo).
- Uma cópia são, na verdade, várias cópias. Um único ⌘C pode colocar várias representações do mesmo conteúdo no pasteboard ao mesmo tempo.
O que acontece quando você aperta ⌘C?
- O app assume o pasteboard. Ele limpa o conteúdo antigo e declara o que vai fornecer. É nesse momento que o change count (contador de mudanças, um número inteiro) sobe uma unidade.
- O app oferece vários tipos. Cada um é identificado por um Uniform Type Identifier (UTI), o mesmo sistema que identifica tipos de arquivo.
- Os dados podem ser entregues sob demanda. O app pode prometer um formato e só gerar os bytes quando alguém realmente colar. Isso deixa cópias grandes (uma imagem pesada, um intervalo de células de planilha) baratas até serem necessárias.
Por que o resultado muda quando colo em apps diferentes?
Porque quem escolhe é o destino. Copie um parágrafo formatado do Safari e o pasteboard pode conter várias versões ao mesmo tempo:
| Representação | Identificador de tipo típico | Quem costuma escolher |
|---|---|---|
| Texto simples | public.utf8-plain-text |
Terminais, editores de código, campos de busca |
| Texto formatado | public.rtf |
TextEdit, Pages, Mail |
| HTML | public.html |
Editores web, Notas, campos de texto rico |
| Imagem | public.png / public.tiff |
Pré-visualização, Keynote, ferramentas de design |
| Referência a arquivo | public.file-url |
Finder, anexos do Mail, apps de mensagem |
Um editor de código pega o texto simples e ignora o HTML, então a formatação some. O Notas pega o HTML e mantém tudo. Nenhum dos dois está com bug. É também por isso que o atalho ⌥⇧⌘V (Colar e Corresponder ao Estilo) existe: ele pede ao destino que prefira a representação em texto simples e aplique a formatação local.
Veja com seus próprios olhos no Terminal
Você não precisa acreditar na minha palavra. Copie qualquer coisa e rode:
osascript -e 'clipboard info'
Ele lista cada tipo presente na área de transferência, com o tamanho em bytes. Copie um intervalo de células do Numbers, depois um parágrafo de uma página web, e compare as listas. A diferença entre elas explica por que a colagem se comporta de um jeito em cada app. Para a versão em texto, pbpaste imprime o conteúdo e echo "olá" | pbcopy escreve nele.
Como o Mac sabe que a área de transferência mudou?
Na maior parte do tempo, ele não avisa ninguém. Pelo que as APIs documentadas publicamente mostram, o NSPasteboard não oferece nenhuma notificação de «a área de transferência mudou». Os apps que precisam saber, ou seja, todo gerenciador de área de transferência, consultam o change count periodicamente num timer curto e só leem o conteúdo quando o número muda. Isso é barato, porque ler um inteiro custa quase nada.
Isso tem consequências práticas:
- Um app de histórico não enxerga nada que foi copiado enquanto ele não estava rodando.
- Se duas cópias acontecem mais rápido que o intervalo de consulta, a primeira pode passar batida. O intervalo de consulta do Maccy é ajustável nas configurações .
- O change count também sobe quando um app reescreve o mesmo conteúdo, e é por isso que uma ferramenta de histórico precisa de uma deduplicação própria.
O que há de novo no Tahoe?
Histórico da área de transferência no Spotlight
A principal novidade do Tahoe para este assunto é que o Spotlight ganhou uma visualização de Área de Transferência. Abra o Spotlight e troque para ela (o conjunto de atalhos da Apple para as novas categorias do Spotlight coloca a área de transferência em ⌘4 ) e você pode navegar pelas cópias recentes e colar uma de volta. A Apple descreve esse histórico como de curta duração, voltando só cerca de oito horas .
Isso faz do Spotlight uma boa rede de segurança para o clássico «eu copiei isso uma hora atrás». O que ele não é, pelo que se sabe do design, é um arquivo de longo prazo: nada de trechos da semana passada, nada de favoritos fixados e nenhuma regra de ignorar por app como as que as ferramentas dedicadas oferecem .
Mais privacidade nas leituras da área de transferência
A Apple vem caminhando para tornar visíveis ao usuário as leituras programáticas da área de transferência. A base disso chegou como novas APIs de comportamento de acesso ao pasteboard para desenvolvedores, e a direção é um aviso no estilo do iOS quando um app lê a área de transferência sem uma ação de colar do usuário. Com que rigor o Tahoe aplica isso a apps comuns de terceiros, e qual ajuste o usuário vê, são detalhes que eu confirmaria num Mac com Tahoe antes de depender deles . Isso importa para gerenciadores de área de transferência porque o trabalho deles é justamente ler a área de transferência em segundo plano, então consulte a documentação de cada app sobre as permissões no Tahoe.
A área de transferência sincroniza entre o Mac e o iPhone?
Sim, pela Área de Transferência Universal. Ela faz parte da Continuidade: entre com o mesmo ID Apple nos dois aparelhos, ative o Handoff, mantenha Bluetooth e Wi-Fi ligados e deixe os aparelhos próximos. Copie em um, cole no outro. O conteúdo transferido fica disponível só por uma janela curta de tempo, então funciona como um handoff e não como um histórico sincronizado. Também é de item único: cada nova cópia substitui a anterior.
Se parar de funcionar, as causas de sempre são o Handoff desativado, o Bluetooth desligado ou os aparelhos em contas Apple diferentes. Desligar e ligar o Handoff é a primeira correção clássica.
O que fica privado e o que não fica?
A área de transferência pode ser lida por qualquer app que tenha permissão para isso. Não existe criptografia por cópia. Por isso a comunidade criou uma convenção: apps que copiam dados sensíveis os marcam com tipos especiais de pasteboard, documentados em nspasteboard.org, como org.nspasteboard.ConcealedType (senhas) e org.nspasteboard.TransientType (conteúdo de curta duração). Gerenciadores de senha costumam definir esses tipos, e gerenciadores de área de transferência bem-comportados ignoram tudo que os carrega.
O Maccy segue essa convenção. Nas configurações, em Ignorar, você pode ver e editar a lista de tipos de pasteboard ignorados e ignorar apps específicos por completo . Duas ressalvas, ditas com honestidade: as marcações são uma convenção, não um mecanismo de imposição, então um app que não as define deixa seus dados expostos, e tudo que você copia fica visível para qualquer app com permissão de leitura até ser sobrescrito.
Área de transferência nativa vs. gerenciador de área de transferência
| Área de transferência nativa (pasteboard) | Histórico do Spotlight (Tahoe) | Gerenciador dedicado (ex.: Maccy) | |
|---|---|---|---|
| Itens guardados | Um | Só itens recentes, algo em torno de horas | Histórico configurável |
| Busca | Não | Pelo Spotlight | Sim, é só digitar para filtrar |
| Ignorar apps/tipos sensíveis | Não se aplica | Sim | |
| Salvo em disco | Não | Localmente no seu Mac | |
| Custo | Incluído | Incluído | Maccy: gratuito e de código aberto |
Se você só precisa de vez em quando recuperar uma cópia recente, o histórico do Spotlight pode bastar. Se você cola todo dia do mesmo conjunto de trechos, ou quer exclusão de apps sensíveis e um histórico mais longo, um gerenciador dedicado se justifica. O Maccy App roda na barra de menus, abre com ⇧⌘C por padrão e é construído em torno de filtragem pelo teclado . Seja qual for o caminho, tudo o que foi dito acima continua valendo, porque toda ferramenta fica em cima do mesmo pasteboard.
Solução de problemas: quando a área de transferência se comporta mal
- Colar não faz nada ou cola conteúdo antigo. Copie algo trivial de um campo de texto simples para zerar o estado e tente de novo. Se persistir, reinicie o app em que você está colando.
- A formatação vem junto sem você querer. Use Colar e Corresponder ao Estilo (⌥⇧⌘V).
- Copiou um arquivo e veio o caminho (ou o contrário). O app está escolhendo uma representação diferente da que você esperava. Veja o que está na área de transferência com
osascript -e 'clipboard info'. - A Área de Transferência Universal está instável. Confirme o mesmo ID Apple, Handoff ativado e Bluetooth e Wi-Fi ligados.
- Último recurso. Encerre a sessão e entre de novo, ou reinicie o Mac. O serviço de pasteboard é gerenciado pelo sistema e reinicia junto com a sua sessão.
O modelo mental para guardar
Copiar publica um pacote de formatos e incrementa um contador. Colar é o app de destino escolhendo algo desse pacote. Todo o resto, incluindo histórico, sincronização e privacidade, é construído sobre essa base simples. Quando você consegue ver o pacote com clipboard info, a maioria dos mistérios da área de transferência deixa de ser mistério.
Qual surpresa na hora de colar mais te irrita: formatação perdida, histórico perdido ou outra coisa? Conte para nós e isso pode virar o próximo guia.