Auto Vidros 36 - Auto Vidros 36 | Araraquara SP
Auto Vidros 36 | Araraquara SP

O que você precisa saber antes de usar auto vidros 36

Auto vidros 36 é uma automação baseada em AutoHotkey v2 que organiza janelas do Windows em grades predeterminadas com atalhos de teclado. A premissa é simples: você define quantas colunas e linhas quer, pressiona uma combinação e as janelas ativas se reposicionam e redimensionam sozinhas. Nada de mágica. O script mede a resolução da tela, calcula o tamanho de cada célula da grade e aplica WinMove nas janelas.

Como instalar auto vidros 36

Comece baixando o AutoHotkey 2.0 pela página oficial, não de repositórios de terceiros. A versão 1.x funciona, mas o script foi escrito pra v2 e bugs aparecem com frequência se você tentar adaptar. Instale, crie um arquivo .ahk novo e cole o código. Clique duas vezes no arquivo para rodar. Um ícone verde aparece na bandeja do sistema. Pronto, o script está ativo. Os atalhos padrão usam Win + setas para mover janelas para os quadrantes e Ctrl + Win + setas para grades maiores. Você pode redefinir tudo no topo do script, na seção de configurações. Recomendo deixar pelo menos uma combinação livre caso tenha conflito com algum programa profissional que você use, como Premiere ou uma IDE com atalhos próprios.

Eu já vi gente salvar o script em C:\Program Files e reclamar que não abria. O Windows bloqueia execução de .ahk nessa pasta por conta das permissões. Coloque em %USERPROFILE%\Documents\AutoVidros ou algo do tipo e configure a inicialização automática nas tarefas marcadas do Agendador de Tarefas, não nas entradas de Registro. Funciona mais rápido na inicialização e não quebra quando o Windows atualiza o caminho do executável.

Configuração prática

O arquivo de configuração tem variáveis principais: colunas, linhas, margin (espaço entre janelas em pixels) e gaps (margem externa da grade em relação à borda da tela). Uma configuração que eu uso no dia a dia é 4 colunas por 2 linhas com 8 pixels de margem e 12 pixels de gap. Dessa forma, em uma tela de 2560x1440, cada janela fica com aproximadamente 620x700 pixels, o que é suficiente pra editar código ou planilhas sem perder contexto visual. O script também permite snapping manual ao arrastar uma janela até a borda da tela. Isso não é nativo do Windows 10 e precisa ser ativado separadamente com a opção edgeSnapping definida como verdadeiro. Quando ligada, metade da janela vai para o lado esquerdo ou direito automaticamente. A desvantagem é que às vezes você abre um menu dropdown e a janela menor encolhe sozinha porque o cursor passou por uma borda. Eu desliguei essa função depois de uma semana usando, porque o ganho de velocidade não compensava os cliques extras pra reposicionar.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Problema real que eu enfrentei

No segundo mês de uso, descobri um bug que o autor não documenta em lugar nenhum. Quando você tem múltiplos monitores com resoluções diferentes — digamos, um 4K deitado e um Full HD em pé ao lado — o script calcula a grade usando apenas a tela onde a janela ativa está. Até aí tudo bem. O problema é que o gap (margem externa) é somado ao tamanho da grade total, e em telas muito diferentes o cálculo de WinMove usa coordenadas absolutas do desktop estendido. Resultado: uma janela acabava sendo posicionada fora da área visível do monitor secundário, entre o monitor principal e o secundário, numa zona que você só via passando o mouse no taskbar. A solução que eu encontrei foi adicionar uma verificação antes do WinMove. Eu capturei as coordenadas da tela ativa com WinGetPos no monitor principal, calculei a posição mínima e máxima permitida e forcei um ClipCursor temporário durante o reposicionamento. O código ficou assim:

monitorInfo := MonitorsGetInfo()
activeMon := monitorInfo[WinGetMonitorId(WinGetTitle("A"))]
x := activeMon.left + gap
y := activeMon.top + gap
width := (activeMon.right - activeMon.left - gap*2) // colunas
height := (activeMon.bottom - activeMon.top - gap*2) // linhas
WinMove(x + colIndex*width, y + rowIndex*height, width, height, targetWindow)

Isso corrige o deslocamento, mas introduz outro problema menor: se você mover rapidamente entre monitores com o Win + Shift + Setas, o script demora cerca de 200ms a mais pra calcular o monitor ativo porque faz uma consulta extra de API. Ainda é aceitável, mas não ideal. De resto, o script funciona sem reclamações desde então.

O que o script não faz (e ninguém avisa)

Auto vidros 36 não gerencia janelas maximizadas. Se uma janela está maximizada, o script precisa primeiro restaurá-la, aplicar a grade e só então recalcular. Em programas como Visual Studio ou Blender, essa transição causa um flash visível na tela. Não é grave, mas é irritante se você tiver muitos projetos abertos e precisar rearranjar tudo de uma vez. Outro ponto: o script não salva layouts personalizados. Ele aplica a grade padrão toda vez. Se você quer uma configuração específica de 3 colunas para planilhas e outra de 2x2 para navegador, precisa criar um segundo script ou modificar o arquivo principal. Não existe um arquivo profiles.json ou coisa parecida. Você edita as variáveis diretamente no código e reloada com Ctrl + Alt + R.

Também não há suporte nativo para DPI scaling. Se você usa Windows com escala de 150% ou 200% em monitores Retina, as posições ficam erradas. A correção é adicionar #Requires #AutoHotkey v2 com a diretiva DPIAware e ajustar manualmente a constante de escala no script. Eu costumo colocar DPI := 96 * (GetDPIScale()) no início e dividir todas as coordenadas por esse valor. Funciona, mas quebra se o Windows mudar a escala dinamicamente durante o uso.

Alternativas que valem a pena considerar

Se o problema principal é múltiplos monitores com resoluções diferentes, o PowerToys FancyZones do Microsoft resolve isso de forma mais robusta. Ele detecta automaticamente a grade de cada monitor e não precisa de scripts. A desvantagem é que o FancyZones é pesado em recursos de CPU quando você tem 5 ou mais janelas abertas, e o overlay visual de zoneamento pode atrapalhar se você trabalha com design ou edição de vídeo onde a precisão dos pixels importa. Para quem prefere manter o auto vidros 36 por ser mais leve e personalizável, eu recomendo pelo menos copiar o script original pra uma pasta de backup e fazer alterações locais. O autor atualiza ocasionalmente, mas atualizações recentes às vezes quebram compatibilidade com versões antigas do AutoHotkey. Mantenha o auto vidros 36 funcionando na versão que deu certo pra você e só atualize quando houver uma correção de bug crítica.