Parece que você ativou a animação da janela,
você pode desligá-lo com hs.window.animationDuration = 0
Estou usando o Hammerspoon para redimensionar minhas janelas no OSX. Particularmente, quero poder fazer com que as janelas ocupem metade da tela, vertical ou horizontalmente, além de ocupar toda a tela.
No entanto, há um grande atraso de redesenho quando alterno entre eixos (por exemplo, vertical para horizontal). Anteriormente, eu usei o Spectacle , que executa a mesma tarefa rapidamente.
Para demonstrar, aqui estão clipes curtos de mim redimensionando janelas em Hammerspoon vs Spectacle.
Hammerspoon - link
Espetáculo - link
Esta é uma limitação de como o Hammerspoon redimensiona janelas ou eu poderia otimizar minha configuração melhor?
Aqui está o meu init.lua
--
-- Window management
--
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Left", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.x
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Right", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.w / 2
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Up", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.x
f.y = max.y
f.w = max.w
f.h = max.h / 2
win:setFrame(f)
end)
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Down", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.x
f.y = max.h / 2
f.w = max.w
f.h = max.h / 2
win:setFrame(f)
end)
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "f", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.x
f.y = max.y
f.w = max.w
f.h = max.h
win:setFrame(f)
end)
Parece que você ativou a animação da janela,
você pode desligá-lo com hs.window.animationDuration = 0
A resposta anterior é boa (o valor padrão de animationDuration é 0.2), mas você estará alterando um valor global. Localmente, em vez de win: setFrame (f) você pode fazer
win:setFrame(f, 0)
terá o mesmo efeito.
Tags window-manager macos