From 2b3854787581412e33bafdddbbc3d0a41d79767f Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Wed, 3 May 2017 17:10:46 -0500
Subject: [PATCH] display: ensure smooth scrolling when the edit window is
 resized

When the editing space gets narrower, either by toggling line numbers on
or making nano's window smaller, and when the cursor is near the bottom,
it can be pushed offscreen.  In that case, don't get it back onscreen by
centering the current line but by putting it on the bottom row.  This
makes for a smoother experience.

This fixes http://savannah.gnu.org/bugs/?50933.
---
 src/winio.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/winio.c b/src/winio.c
index 45113220..868686bd 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2959,6 +2959,9 @@ void ensure_firstcolumn_is_aligned(void)
 #ifndef NANO_TINY
     if (openfile->firstcolumn % editwincols != 0)
 	openfile->firstcolumn -= (openfile->firstcolumn % editwincols);
+
+    /* If smooth scrolling is on, make sure the viewport doesn't center. */
+    focusing = FALSE;
 #endif
 }
 
-- 
GitLab