You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix resizing issues with the flicker fix and hide the tabline
Fix the misc resizing issues with the previous CoreText renderer commit,
in particular cases where zoom button was clicked, Vim initiated
resizing (e.g. ":set lines+=10"), font size changes (Cmd-+/-),
fullscreen toggles, etc.
- The core issue is that the order of operation for those are not
consistent. Sometimes, MacVim changes window size first before letting
Vim knows, but other times it lets Vim handle it before resizing (e.g.
zoom).
- The new CoreText renderer's buffer needs to know when the size
change in order to resize the buffer, and it wasn't doing it in the
right spot. Fix it so that it's delayed until updateLayer: is called.
By that time both MacVim and Vim should have already come to an
agreement on the new size.
- Also, when using the new 10.14 buffer renderer, don't use
[NSAnimationContext beginGrouping] to block the system from resizing
the window, because it also suffers from the order of operation issue
and sometimes endGrouping could get called before beginGrouping,
causing the UI to appear frozen. Instead, just have updateLayer make a
new image and copy over the old one to avoid the black flickering when
resizing (which was what the begin/endGrouping was trying to solve to
begin with), and the UI now works smoother as well (e.g. double
clicking the border now works smoothly).
The previous change also set the window background color to whatever
default background color is which is fine but it affects the tabline
separator as well and makes it look jarring. The tabline separator is
mostly a relic of the older macOS versions, so disable it on new-ish
macOS verisons.
Also, update docs in the known issues section to make it clear there's
currently an issue in performance under Mojave. That will be removed
when the performance is fixed in the future.
0 commit comments