O atalho «Próximo Monitor» do Rectangle bloqueado por um app em tela cheia? Veja por quê
Um caso extremo específico com vários monitores, documentado em um dos relatos mais antigos ainda relevantes do Rectangle app (issue #51), afeta qualquer pessoa usando três ou mais monitores com um app em tela cheia nativa em um dos monitores intermediários: Próximo Monitor pode travar, incapaz de mover uma janela para além do app em tela cheia e alcançar o monitor logo depois dele.
O cenário exato relatado
Três monitores dispostos horizontalmente — vamos chamá-los de 1, 2 e 3 — com o monitor 2 mostrando um app em tela cheia nativa do macOS. Uma janela normal, sem tela cheia, está no monitor 1, e o objetivo é movê-la para o monitor 3, pulando completamente o monitor 2.
Pressionar Próximo Monitor move a janela do monitor 1 para o monitor 2 como esperado — mas como o monitor 2 está ocupado por um app em tela cheia, a janela acaba efetivamente escondida atrás dele em vez de ficar visível ali. Pressionar Próximo Monitor de novo, esperando que continue até o monitor 3, não faz nada. O atalho fica efetivamente travado em vez de continuar seu trajeto pelos monitores restantes.
Por que isso acontece
Um app em tela cheia nativa ocupa seu próprio Espaço em vez de existir como uma janela comum naquele monitor — uma distinção tratada com mais profundidade em outro texto desta série. Do ponto de vista do Rectangle mac, «monitor 2» e «o Espaço do app em tela cheia atualmente exibido no monitor 2» não são exatamente o mesmo alvo, e segundo a própria descrição de quem relatou o problema, o Rectangle app não detecta isso automaticamente nem continua o ciclo até o próximo monitor físico, do jeito que o já descontinuado app Spectacle aparentemente fazia no mesmo cenário, segundo a comparação feita pelo relator original.
A resposta do mantenedor, e o que ela significa para as versões atuais
Segundo a discussão na própria issue, o mantenedor não rejeitou a ideia, descrevendo-a como algo a que não se opunha adicionar mas que não havia priorizado, e sugeriu que um colaborador poderia implementá-la com relativa facilidade detectando se um monitor de destino está rodando um app em tela cheia e, nesse caso, pulando para o próximo. Dado o quanto essa issue específica é antiga, e que na época era mais um pedido de melhoria em aberto do que um bug sendo ativamente trabalhado, a abordagem mais segura é conferir diretamente o status atual da issue em vez de supor que esse comportamento continua sem correção na versão que você usa hoje — uma issue antiga aberta no rastreador de um projeto não é garantia permanente de que nada mudou desde então.
Como contornar se você encontrar isso hoje
- Mova a janela manualmente primeiro para o monitor vizinho ao que está em tela cheia. Em vez de confiar que o Próximo Monitor vá pular o obstáculo automaticamente, use o Mission Control ou arraste manualmente para reposicionar o próprio app em tela cheia, ou saia temporariamente do modo tela cheia dele, liberando o monitor 2 como obstáculo.
- Reduza a dependência da tela cheia nativa em um monitor pelo qual você precisa passar janelas com frequência. Se um monitor específico costuma hospedar um app em tela cheia que bloqueia seus atalhos de Próximo Monitor, manter esse app em uma janela maximizada comum (usando o próprio Maximizar do Rectangle app em vez da tela cheia nativa) evita o problema por completo, já que a ação Próximo Monitor do Rectangle app funciona normalmente em janelas comuns, não importa o tamanho.
- Mova diretamente em vez de circular um passo de cada vez, se sua configuração permitir. Um recurso mais recente do Rectangle — mover uma janela para um monitor específico por número, em vez de apenas avançar para o próximo ou o anterior — evita completamente o problema da circulação sequencial, já que mira diretamente no monitor de destino em vez de percorrer os monitores intermediários. Confira se sua versão instalada inclui esse recurso antes de depender da solução alternativa acima.
Por que isso é um caso extremo raro, não uma reclamação comum
Essa interação específica exige três condições ao mesmo tempo: três ou mais monitores, um app em tela cheia (não apenas maximizado) em um monitor fisicamente entre sua origem e destino, e a dependência do atalho passo a passo de Próximo/Anterior Monitor em vez de um movimento direto por número. A maioria das configurações com dois monitores, ou configurações que não rodam apps em tela cheia no monitor «do meio», não vai encontrar isso de jeito nenhum. Está incluído aqui especificamente porque é um comportamento real e documentado que vale a pena conhecer se a sua própria configuração corresponder exatamente a esse cenário, não porque seja um problema generalizado.
