diff --git a/river/XdgToplevel.zig b/river/XdgToplevel.zig index 58e18c7..438794c 100644 --- a/river/XdgToplevel.zig +++ b/river/XdgToplevel.zig @@ -319,11 +319,11 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), _: *wlr.Surface) void { }; } - const old_geometry = toplevel.geometry; - toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry); - switch (toplevel.configure_state) { .idle, .committed, .timed_out => { + const old_geometry = toplevel.geometry; + toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry); + const size_changed = toplevel.geometry.width != old_geometry.width or toplevel.geometry.height != old_geometry.height; const no_layout = view.current.output != null and view.current.output.?.layout == null; @@ -360,6 +360,8 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), _: *wlr.Surface) void { // stashed buffer from when the transaction started. .inflight => view.sendFrameDone(), .acked, .timed_out_acked => { + toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry); + if (view.inflight.resizing) { view.resizeUpdatePosition(toplevel.geometry.width, toplevel.geometry.height); }