fix(float): remove -1 in height clamp

Problem: Clamp for height in floating windows enforced no more than
editor height - 1, disallowing full editor height floating windows when
using cmdheight=0

Solution: Clamp to full height, removing the -1. Tested to give the
intended results with cmdheight=0, 1, or more than 1. This also
inadvertently fixes a rendering error with cmdheight >1 where the
bottom border would be overlapped by the cmdline.
This commit is contained in:
Patrick McFarland 2023-03-14 13:21:53 -04:00
parent eeac80de0c
commit 3b28fb4cd9
2 changed files with 7 additions and 7 deletions

View File

@ -834,7 +834,7 @@ void win_config_float(win_T *wp, FloatConfig fconfig)
}
if (!ui_has(kUIMultigrid)) {
wp->w_height = MIN(wp->w_height, Rows - 1 - win_border_height(wp));
wp->w_height = MIN(wp->w_height, Rows - win_border_height(wp));
wp->w_width = MIN(wp->w_width, Columns - win_border_width(wp));
}

View File

@ -2015,7 +2015,7 @@ describe('float window', function()
it('terminates border on edge of viewport when window extends past viewport', function()
local buf = meths.create_buf(false, false)
meths.open_win(buf, false, {relative='editor', width=40, height=7, row=0, col=0, border="single"})
meths.open_win(buf, false, {relative='editor', width=40, height=7, row=0, col=0, border="single", zindex=201})
if multigrid then
screen:expect{grid=[[
## grid 1
@ -2046,7 +2046,7 @@ describe('float window', function()
{5:}{2:~ }{5:}|
{5:}|
]], float_pos={
[4] = { { id = 1001 }, "NW", 1, 0, 0, true }
[4] = { { id = 1001 }, "NW", 1, 0, 0, true, 201 }
}, win_viewport={
[2] = {win = {id = 1000}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
[4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
@ -2058,8 +2058,8 @@ describe('float window', function()
{5:}{2:~ }{5:}|
{5:}{2:~ }{5:}|
{5:}{2:~ }{5:}|
{5:}{2:~ }{5:}|
{5:}|
|
]]}
end
end)
@ -3723,9 +3723,9 @@ describe('float window', function()
]], float_pos=expected_pos}
else
screen:expect([[
{1:very } |
{0:~ }{1:^float }{0: }|
|
{1:such } |
{0:~ }{1:very }{0: }|
^ |
]])
end