From 0f1e2b6686694d878795fa090d4a08ba0f8acb4d Mon Sep 17 00:00:00 2001 From: bfredl Date: Mon, 13 Mar 2023 20:38:21 +0100 Subject: fix(screen): redraw the ruler for a current floating window Semi-regression. The "ruler" behavior for a floating window was never really specified but in practice followed the users cursor movements in normal mode in a focused float, which seems like a reasonable behavior to now specify. --- src/nvim/drawscreen.c | 2 +- src/nvim/screen.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index d8c9da870a..e1894f27a7 100644 --- a/src/nvim/drawscreen.c +++ b/src/nvim/drawscreen.c @@ -746,7 +746,7 @@ void show_cursor_info_later(bool force) || curwin->w_topfill != curwin->w_stl_topfill || empty_line != curwin->w_stl_empty || state != curwin->w_stl_state) { - if ((curwin->w_status_height || global_stl_height())) { + if (curwin->w_status_height || global_stl_height()) { curwin->w_redr_status = true; } else { redraw_cmdline = true; diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 8b0f8b58a7..718c4f3d95 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -608,7 +608,7 @@ int showmode(void) // If the last window has no status line and global statusline is disabled, // the ruler is after the mode message and must be redrawn - win_T *last = lastwin_nofloating(); + win_T *last = curwin->w_floating ? curwin : lastwin_nofloating(); if (redrawing() && last->w_status_height == 0 && global_stl_height() == 0) { win_redr_ruler(last); } -- cgit