comparison src/screen.c @ 32826:7c4ad06d80ec v9.0.1726

patch 9.0.1726: incorrect heights in win_size_restore() Commit: https://github.com/vim/vim/commit/876f5fb570d8401aa4c58af4a5da91f10520aa9d Author: Sean Dewar <seandewar@users.noreply.github.com> Date: Thu Aug 17 22:40:05 2023 +0200 patch 9.0.1726: incorrect heights in win_size_restore() Problem: incorrect heights in win_size_restore() Solution: avoid restoring incorrect heights in win_size_restore() Changing 'showtabline' or 'cmdheight' in the cmdwin restores incorrect window heights after closing the cmdwin. This may produce a gap between the cmdline and the window above. Solution: restore window sizes only if the number of lines available for windows changed; subtract the rows of the tabline, cmdline and last window's statusline from 'lines' (other statuslines don't matter). closes: #12704 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
author Christian Brabandt <cb@256bit.org>
date Thu, 17 Aug 2023 22:45:06 +0200
parents 695b50472e85
children 8665cf0eab86
comparison
equal deleted inserted replaced
32825:2c85a7011b2f 32826:7c4ad06d80ec
4525 #define COL_RULER 17 // columns needed by standard ruler 4525 #define COL_RULER 17 // columns needed by standard ruler
4526 4526
4527 void 4527 void
4528 comp_col(void) 4528 comp_col(void)
4529 { 4529 {
4530 int last_has_status = (p_ls == 2 || (p_ls == 1 && !ONE_WINDOW)); 4530 int last_has_status = last_stl_height(FALSE) > 0;
4531 4531
4532 sc_col = 0; 4532 sc_col = 0;
4533 ru_col = 0; 4533 ru_col = 0;
4534 if (p_ru) 4534 if (p_ru)
4535 { 4535 {