aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/window.c14
-rw-r--r--test/functional/ui/float_spec.lua7
2 files changed, 11 insertions, 10 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c
index 771a85479d..6a80142c57 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -783,8 +783,8 @@ void win_config_float(win_T *wp, FloatConfig fconfig)
}
if (!ui_has(kUIMultigrid)) {
- wp->w_height = MIN(wp->w_height, Rows - 1 - win_extra_height(wp));
- wp->w_width = MIN(wp->w_width, Columns - win_extra_width(wp));
+ wp->w_height = MIN(wp->w_height, Rows - 1 - win_border_height(wp));
+ wp->w_width = MIN(wp->w_width, Columns - win_border_width(wp));
}
win_set_inner_size(wp);
@@ -6330,18 +6330,18 @@ void win_set_inner_size(win_T *wp)
terminal_check_size(wp->w_buffer->terminal);
}
- wp->w_height_outer = (wp->w_height_inner + win_extra_height(wp));
- wp->w_width_outer = (wp->w_width_inner + win_extra_width(wp));
+ wp->w_height_outer = (wp->w_height_inner + win_border_height(wp) + wp->w_winbar_height);
+ wp->w_width_outer = (wp->w_width_inner + win_border_width(wp));
wp->w_winrow_off = wp->w_border_adj[0] + wp->w_winbar_height;
wp->w_wincol_off = wp->w_border_adj[3];
}
-static int win_extra_height(win_T *wp)
+static int win_border_height(win_T *wp)
{
- return wp->w_border_adj[0] + wp->w_border_adj[2] + wp->w_winbar_height;
+ return wp->w_border_adj[0] + wp->w_border_adj[2];
}
-static int win_extra_width(win_T *wp)
+static int win_border_width(win_T *wp)
{
return wp->w_border_adj[1] + wp->w_border_adj[3];
}
diff --git a/test/functional/ui/float_spec.lua b/test/functional/ui/float_spec.lua
index c5e5a3fd8f..71bdd2d830 100644
--- a/test/functional/ui/float_spec.lua
+++ b/test/functional/ui/float_spec.lua
@@ -7896,8 +7896,8 @@ describe('float window', function()
]]}
end
- -- add a border
- meths.win_set_config(win1, {relative='editor', width=15, height=3, row=0, col=4, border = 'single'})
+ -- resize and add a border
+ meths.win_set_config(win1, {relative='editor', width=15, height=4, row=0, col=4, border = 'single'})
if multigrid then
screen:expect{grid=[[
@@ -7923,6 +7923,7 @@ describe('float window', function()
{5:│}{3:floaty bar }{5:│}|
{5:│}{1: }{5:│}|
{5:│}{2:~ }{5:│}|
+ {5:│}{2:~ }{5:│}|
{5:└───────────────┘}|
]], float_pos={
[4] = {{id = 1001}, "NW", 1, 0, 4, true, 50};
@@ -7936,8 +7937,8 @@ describe('float window', function()
{0:~ }{5:│}{3:floaty bar }{5:│}{0: }|
{0:~ }{5:│}{1: }{5:│}{0: }|
{0:~ }{5:│}{2:~ }{5:│}{0: }|
+ {0:~ }{5:│}{2:~ }{5:│}{0: }|
{0:~ }{5:└───────────────┘}{0: }|
- {0:~ }|
|
]]}
end