aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/api/ui_events.in.h5
-rw-r--r--src/nvim/message.c3
-rw-r--r--src/nvim/screen.c1
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);