Eu me cansei de comportamentos semelhantes e, por isso, desativei os efeitos do Windows Aero e comecei a usar WindowPad em vez disso. É um script AutoHotKey altamente personalizado que você pode executar como um EXE autônomo com um arquivo INI para configurá-lo ao seu gosto.
Quando você faz o snap na Etapa 2, o WindowPad está realmente movendo e dimensionando a janela para esse local, em vez de "encaixá-lo", para que você possa fazer alguns ajustes no tamanho ou na posição e não ocorrerá " Desapertado ". Existe uma versão mais recente deste chamado WindowPadX, mas honestamente eu nunca tentei porque isso faz tudo o que eu preciso.
Abaixo está o meu arquivo INI, desde que eu ajustei um pouco a partir da instalação padrão, mas parece que é assim que você pode querer. As seções [excluir] provavelmente podem ser ignoradas. Eu acho que eles estão lá apenas para manter a WindowPad de mexer com DisplayFusion, que eu também tenho instalado.
[Options]
TitleMatchMode=2
[Hotkeys]
[Hotkeys: Active Window (Numpad)]
*Numpad1 = WPM, -1, +1, 0.5, 0.5
*Numpad2 = WPM, 0, +1, 1.0, 0.5
*Numpad3 = WPM, +1, +1, 0.5, 0.5
*Numpad4 = WPM, -1, 0, 0.5, 1.0
*Numpad5 = WPM, 0, 0, 0.5, 1.0
*Numpad6 = WPM, +1, 0, 0.5, 1.0
*Numpad7 = WPM, -1, -1, 0.5, 0.5
*Numpad8 = WPM, 0, -1, 1.0, 0.5
*Numpad9 = WPM, +1, -1, 0.5, 0.5
*NumpadAdd = MaximizeToggle
*NumpadEnter = WindowScreenMove, Next
*NumpadDiv = GatherWindows, 1
*NumpadMult = GatherWindows, 2
[Hotkeys: Previous Window (Numpad)]
*Numpad1 = WPM, -1, +1, 0.5, 0.5, P
*Numpad2 = WPM, 0, +1, 1.0, 0.5, P
*Numpad3 = WPM, +1, +1, 0.5, 0.5, P
*Numpad4 = WPM, -1, 0, 0.5, 1.0, P
*Numpad5 = WPM, 0, 0, 0.5, 1.0, P
*Numpad6 = WPM, +1, 0, 0.5, 1.0, P
*Numpad7 = WPM, -1, -1, 0.5, 0.5, P
*Numpad8 = WPM, 0, -1, 1.0, 0.5, P
*Numpad9 = WPM, +1, -1, 0.5, 0.5, P
*NumpadAdd = MaximizeToggle, P
*NumpadEnter = WindowScreenMove, Next, P
*NumpadDiv = GatherWindows, 1
*NumpadMult = GatherWindows, 2
[Exclude Windows]
Process=displayfusion.exe
[Gather: Exclude Windows]
Window=ahk_class SideBar_AppBarWindow
Window=ahk_class SideBar_HTMLHostWindow
Window=ahk_class BasicWindow
[Gather: Exclude Processes]
Process=displayfusion.exe