mirror of
https://github.com/wez/wezterm.git
synced 2024-12-25 14:22:37 +03:00
cc15f97a55
Previously, when resizing a tab, we'd unzoom it, recompute the resize deltas and adjust every pane's non-zoomed position and re-zoom the original pane. When the alt screen is active, wezterm doesn't reflow resized lines, and there a number of situations where the only effective change to the line was updating a seqno; the content of those panes doesn't actually update until the application(s) attached to the PTY receive SIGWINCH from the kernel. Since we were resizing the zoomed pane twice in quick succession we could double-tap SIGWINCH and the application might coalesce and process only one of the resize events. The result of that was that we might see the state from either the first or second resize event and then not get any other updates until the application repainted itself. This commit re-structures the resize behavior around zooms so that we only resize the zoomed pane. When unzooming we'll fixup the no-zoomed sizes for the whole tab. That means that we need to store the pre-zoom size in order to correctly calculate those sizes for the case where a pane was zoomed, the tab resized, and then the pane was unzoomed again. refs: https://github.com/wez/wezterm/issues/3068 |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |