nnn

mirror of https://github.com/jarun/nnn
Log | Files | Refs | README | LICENSE

commit 99a6a2e23093e29c256957ebb1ac3ed20582241c
parent 5b0919af16d2abe00c15cbf20a8f2057eb9c485f
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Sun,  7 Jun 2026 22:26:01 +0530

Use leaveok() to improve ncurses performance

Diffstat:
Msrc/nnn.c | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -2436,6 +2436,7 @@ static bool initcurses(void *oldmask) mouseinterval(0); #endif curs_set(FALSE); /* Hide cursor */ + leaveok(stdscr, TRUE); /* Skip precise cursor placement during normal redraws */ char *colors = getenv(env_cfg[NNN_COLORS]); @@ -3828,6 +3829,7 @@ static int filterentries(char *path, char *lastname) cleartimeout(); curs_set(TRUE); + leaveok(stdscr, FALSE); showfilter(ln); while ((r = get_wch(ch)) != ERR) { @@ -4034,6 +4036,7 @@ end: copycurname(); curs_set(FALSE); + leaveok(stdscr, TRUE); settimeout(); /* Return keys for navigation etc. */ @@ -4152,6 +4155,7 @@ static char *xreadline(const char *prefill, const char *prompt) x = getcurx(stdscr); curs_set(TRUE); + leaveok(stdscr, FALSE); while (1) { buf[len] = ' '; @@ -4375,6 +4379,7 @@ static char *xreadline(const char *prefill, const char *prompt) END: curs_set(FALSE); + leaveok(stdscr, TRUE); settimeout(); printmsg("");