diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/api/ui_events.in.h | 5 | ||||
-rw-r--r-- | src/nvim/message.c | 3 | ||||
-rw-r--r-- | src/nvim/screen.c | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/api/ui_events.in.h b/src/nvim/api/ui_events.in.h index 48e43061c6..90f1d1b2a9 100644 --- a/src/nvim/api/ui_events.in.h +++ b/src/nvim/api/ui_events.in.h @@ -83,11 +83,16 @@ void grid_scroll(Integer grid, Integer top, Integer bot, FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL; void grid_destroy(Integer grid) FUNC_API_SINCE(5) FUNC_API_REMOTE_ONLY; + void win_position(Integer win, Integer grid, Integer startrow, Integer startcol, Integer width, Integer height) FUNC_API_SINCE(5) FUNC_API_REMOTE_ONLY; void win_hide(Integer win, Integer grid) FUNC_API_SINCE(5) FUNC_API_REMOTE_ONLY; +void win_scroll_over_start(void) + FUNC_API_SINCE(5) FUNC_API_REMOTE_ONLY; +void win_scroll_over_reset(void) + FUNC_API_SINCE(5) FUNC_API_REMOTE_ONLY; void popupmenu_show(Array items, Integer selected, Integer row, Integer col, Integer grid) diff --git a/src/nvim/message.c b/src/nvim/message.c index 27382cb951..37e40c3cc1 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -1884,6 +1884,9 @@ int msg_scrollsize(void) */ static void msg_scroll_up(void) { + if (msg_scrolled == 0) { + ui_call_win_scroll_over_start(); + } if (dy_flags & DY_MSGSEP) { if (msg_scrolled == 0) { grid_fill(&default_grid, Rows-p_ch-1, Rows-p_ch, 0, (int)Columns, diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 953aea0094..c088367c69 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -292,6 +292,7 @@ void update_screen(int type) * if the screen was scrolled up when displaying a message, scroll it down */ if (msg_scrolled) { + ui_call_win_scroll_over_reset(); clear_cmdline = true; if (dy_flags & DY_MSGSEP) { int valid = MAX(Rows - msg_scrollsize(), 0); |