O deslocamento por sobreposição do Rectangle: encontrando janelas empilhadas uma sobre a outra
Circular entre posições da grade — pressionar o mesmo atalho repetidamente para mover uma janela por vários lugares — pode produzir um resultado específico e desorientador: uma segunda janela colocada em uma posição já ocupada por uma primeira cai perfeitamente por cima dela, sem nenhuma indicação visual de que há algo embaixo. A versão 0.96 trouxe uma correção pontual exatamente para isso, implementada no pull request #1762.
O que o recurso realmente faz
Segundo a própria descrição do PR: quando uma janela é colocada em uma posição da grade já ocupada por outra janela, o Rectangle app aplica um pequeno deslocamento — 11 pontos por padrão — para que a borda da janela de baixo continue visível em vez de ficar perfeitamente escondida. Em vez de duas janelas em uma pilha totalmente invisível, você tem um leve efeito de cascata que deixa evidente que há uma segunda janela naquela posição, e te dá algo em que clicar para trazê-la para frente.
Como a sobreposição é realmente detectada
O método de detecção, segundo o PR, usa correspondência do ponto de origem — verificando se o canto superior esquerdo de uma janela cai nas mesmas coordenadas do de outra janela, em vez de exigir uma correspondência exata de tamanho completo. Isso tem uma consequência específica e útil: uma janela do tamanho de um quarto e uma do tamanho de um oitavo que compartilhem a mesma posição de canto ainda assim vão disparar o deslocamento, mesmo tendo tamanhos diferentes, porque o que importa é o ponto de partida compartilhado, não dimensões idênticas.
Configurações, exatamente como documentadas no PR
Três coisas são configuráveis, duas delas expostas como uma caixa de seleção e a terceira via preferências ocultas:
- “Deslocar posição de ciclo em sobreposição” — uma caixa de seleção na seção Posições de Grade do painel de configurações extras, para ligar ou desligar todo o comportamento.
cyclingOverlapOffsetSize(padrão 11) — o tamanho do deslocamento, em pontos, ajustável pelo Terminal para quem quiser uma cascata mais ou menos pronunciada.cyclingOverlapMaxCascade(padrão 1, máximo 5) — quantas vezes o deslocamento pode se acumular se várias janelas se empilharem na mesma posição; um valor de 1 significa que só a segunda janela é deslocada, enquanto um valor mais alto deixa uma terceira e uma quarta janela sobrepostas continuarem em cascata antes que o padrão presumivelmente se repita ou pare.
defaults write com.knollsoft.Rectangle cyclingOverlapOffsetSize -float 20
defaults write com.knollsoft.Rectangle cyclingOverlapMaxCascade -int 3
Reinicie o Rectangle mac depois de mudar qualquer um dos dois valores.
Por que essa correção específica existe: a explicação do próprio mantenedor
Na própria discussão do PR, o mantenedor do Rectangle app respondeu ao recurso enviado conectando-o a uma ideia maior já em consideração: a capacidade de circular entre janelas empilhadas uma sobre a outra, descrevendo o deslocamento por sobreposição como algo que se encaixa naturalmente junto a esse conceito, e mencionando um “selo contador ao passar o mouse” como ideia relacionada que poderia vir depois como um recurso separado. Esse é um contexto útil se você está tentando entender para onde vai o comportamento de empilhamento de janelas do Rectangle app — o deslocamento por sobreposição lançado na v0.96 parece ser uma base para um recurso mais amplo de troca entre janelas empilhadas, e não uma solução completa e independente para o problema de sobreposição por si só. Confira as notas de lançamento atuais do projeto para ver se um ciclo de empilhamento ou um seletor baseado em passar o mouse já foi lançado como continuação, já que isso foi descrito como uma ideia para o futuro no momento em que o recurso de deslocamento foi integrado.
Impacto prático para fluxos de trabalho com muita circulação
Se seus hábitos de layout envolvem pressionar repetidamente o mesmo atalho de posição de grade para circular uma janela por vários lugares — o mesmo comportamento de repetir-para-circular tratado para terços e quartos em outro texto desta série — esse recurso ajuda especificamente no caso em que a circulação acidentalmente faz duas janelas diferentes caírem na mesma coordenada. Antes dessa correção, esse cenário produzia silenciosamente uma janela totalmente escondida, sem nenhuma pista visual; depois, a pequena cascata pelo menos avisa que há algo ali para procurar.
Vale saber se você depende de alinhamento de grade preciso e sem folgas
Como o deslocamento é opcional, ativado por uma caixa de seleção, ele não vai te afetar a menos que você o tenha ligado — se o seu fluxo de trabalho depende de janelas caindo em coordenadas de grade exatas e sem deslocamento, sempre, sem exceções, deixe a configuração desligada. O recurso existe especificamente para quem já foi pego pelo problema da sobreposição total invisível antes, não como uma mudança de comportamento padrão imposta a todo mundo que usa ações de grade ou de circulação.