nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 4d996e4c394c4d80aa6cab51cb62a880382ac293
parent de2aa4f24a05802913e9ec82bcf910ae3abb42d4
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Thu, 20 Oct 2016 16:37:56 +0200

screen: suppress line numbers when the terminal is very narrow

To prevent the display from getting messed up, making nano unusable.

Diffstat:
Msrc/winio.c | 8+++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/winio.c b/src/winio.c @@ -2269,10 +2269,12 @@ void edit_draw(filestruct *fileptr, const char *converted, int assert(strlenpt(converted) <= editwincols); #ifdef ENABLE_LINENUMBERS - if (ISSET(LINE_NUMBERS)) { + int needed_margin = digits(openfile->filebot->lineno) + 1; + + if (ISSET(LINE_NUMBERS) && needed_margin < COLS - 3) { /* If the line numbers now require more room, schedule a refresh. */ - if (digits(openfile->filebot->lineno) + 1 != margin) { - margin = digits(openfile->filebot->lineno) + 1; + if (needed_margin != margin) { + margin = needed_margin; editwincols = COLS - margin; refresh_needed = TRUE; }