Capítulo 6 de 13
Memória de janelas
O Lattika se lembra da zona em que cada janela estava e a devolve ao lugar quando a janela volta. Você não precisa ativar nada; é assim que o app funciona.
O que é lembrado
Sempre que uma janela é encaixada, seja por um arrasto, um atalho, uma regra, um espaço de trabalho ou o app Atalhos, o Lattika registra em qual tela, em qual layout e em qual zona ou zonas ela ficou. O registro é identificado pelo app e pelo título da janela. Um segundo registro por app guarda a última zona para a qual foi qualquer janela desse app.
Janelas sem título recebem apenas o registro do app. São guardadas até 400 janelas com título, e os registros mais antigos dão lugar aos novos.
A memória fica armazenada neste Mac, em memory.json (capítulo 12). Ela não é sincronizada pelo iCloud.
Os números das zonas são aplicados ao layout que a tela usa agora. Se você encaixou uma janela na zona 2 de um layout de três colunas e depois trocou essa tela para uma grade 2 × 2, a janela é restaurada na zona 2 da grade.
Quando as janelas voltam ao lugar
Quando uma janela aparece. Cerca de meio segundo depois que um app abre uma janela, o Lattika procura na memória uma correspondência exata de app e título: um documento que você encaixou na semana passada e abre de novo, ou uma janela de navegador que você posicionou e depois fechou ao encerrar o app. Se houver uma e a tela dela estiver conectada, a janela é movida para lá e a zona se acende por um instante. Uma janela que o Lattika nunca viu fica onde o app a abre, a menos que Mover novas janelas para a última zona delas (abaixo) esteja ativada ou uma regra se aplique. As regras (capítulo 7) são verificadas antes e têm prioridade sobre a memória.
Quando as telas mudam. Quando você conecta ou desconecta uma tela ou muda uma resolução, o Lattika espera um segundo e meio até tudo se estabilizar e então devolve à sua zona cada janela aberta que tenha uma correspondência exata de app e título, desde que a tela em que ela estava esteja conectada de novo com o mesmo tamanho. Em seguida, um espaço de trabalho correspondente também pode ser restaurado (capítulo 8).
Quando você pede. Restaurar Janelas nas Zonas no menu, ⌃⌥R ou a ação do Atalhos devolve ao lugar toda janela aberta que foi encaixada nesta sessão ou que tem uma correspondência exata de app e título na memória.
A restauração nunca mexe em janelas de apps excluídos, janelas minimizadas ou janelas que não são janelas padrão.
As duas preferências
As duas ficam em Ajustes › Geral › Memória de janelas. A primeira vem ativada por padrão; a segunda, desativada.
- Restaurar as janelas nas zonas delas quando as telas mudarem controla a restauração após mudanças de tela. Desative se preferir que as janelas fiquem onde o macOS as deixa depois que você conecta as telas externas.
- Mover novas janelas para a última zona delas manda também uma janela que o Lattika
nunca viu, como uma nova janela do Finder ou um documento sem título, para a última zona usada pelo app dela. Vem desativada por padrão: janelas novas que se empilham em uma zona são fáceis de confundir com janelas que nunca abriram. Janelas com correspondência exata de app e título voltam para a zona delas de qualquer forma, e as regras continuam valendo.


Se não funcionar
- Uma janela nova abre no lugar errado. Alguns apps definem o tamanho e a posição da própria janela um instante depois de abri-la, desfazendo o que o Lattika fez. Encaixe a janela mais uma vez ou adicione uma regra para o app. O capítulo 12 traz observações sobre apps Electron e Java.
- Uma janela nova não é posicionada. O Lattika só posiciona janelas que já viu,
reconhecidas por app e título, a menos que Mover novas janelas para a última zona delas esteja ativada. Fora isso, o app está excluído, a janela abriu minimizada ou a tela em que ela estava por último não está conectada com o mesmo tamanho.
- Restaurar Janelas nas Zonas pula uma janela. Só são restauradas as janelas encaixadas nesta sessão ou com correspondência exata de título. Uma janela cujo título mudou desde que foi encaixada, por exemplo um documento que foi renomeado, não é reconhecida. Encaixe-a de novo.
- As janelas se movem após uma mudança de tela, embora eu não as tenha encaixado. Elas foram encaixadas em algum momento e ficaram lembradas. Desative a preferência de mudança de tela ou apague
memory.jsonpara começar do zero (capítulo 12). - Nada é restaurado depois que o período de teste terminou. A memória de janelas precisa de uma licença, como qualquer outro recurso que move janelas.