diff options
author | bfredl <bjorn.linse@gmail.com> | 2022-05-18 13:51:59 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2022-05-18 20:16:18 +0200 |
commit | 17758fe7ad0d5db54dc43e364d53f637a148e73f (patch) | |
tree | 2b4925268f561dd176baf17bbf9d1d810407cd95 /src | |
parent | c28192e6f9c16de3add78c5ecf8e732c241f945a (diff) | |
download | rneovim-17758fe7ad0d5db54dc43e364d53f637a148e73f.tar.gz rneovim-17758fe7ad0d5db54dc43e364d53f637a148e73f.tar.bz2 rneovim-17758fe7ad0d5db54dc43e364d53f637a148e73f.zip |
fix(ui): make winbar work with floats and multigrid
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/os/input.c | 2 | ||||
-rw-r--r-- | src/nvim/screen.c | 6 | ||||
-rw-r--r-- | src/nvim/window.c | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/src/nvim/os/input.c b/src/nvim/os/input.c index e4a91d1416..7a50725461 100644 --- a/src/nvim/os/input.c +++ b/src/nvim/os/input.c @@ -183,7 +183,7 @@ void os_breakcheck(void) // We do not want screen_resize() to redraw here. // TODO(bfredl): we are already special casing redraw events, is this // hack still needed? - updating_screen++; + updating_screen = true; loop_poll_events(&main_loop, 0); diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 8ca8c7985a..86dbf532a7 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -5324,8 +5324,10 @@ static void win_redr_custom(win_T *wp, bool draw_winbar, bool draw_ruler) use_sandbox = was_set_insecurely(wp, "tabline", 0); } else if (draw_winbar) { stl = (char_u *)((*wp->w_p_wbr != NUL) ? wp->w_p_wbr : p_wbr); - row = wp->w_winrow; - col = wp->w_wincol; + row = -1; // row zero is first row of text + col = 0; + grid = &wp->w_grid; + grid_adjust(&grid, &row, &col); fillchar = wp->w_p_fcs_chars.wbr; attr = (wp == curwin) ? HL_ATTR(HLF_WBR) : HL_ATTR(HLF_WBRNC); maxwidth = wp->w_width_inner; diff --git a/src/nvim/window.c b/src/nvim/window.c index 7e7c639a15..5cc24bbb5b 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -6296,7 +6296,7 @@ void win_set_inner_size(win_T *wp) static int win_extra_height(win_T *wp) { - return wp->w_border_adj[0] + wp->w_border_adj[2]; + return wp->w_border_adj[0] + wp->w_border_adj[2] + wp->w_winbar_height; } static int win_extra_width(win_T *wp) |