From 46aa0adafaf6629cb2dd8225f6ec56cd042522ec Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sun, 28 Jul 2019 13:10:56 +0530 Subject: [PATCH] Limit nav-as-you-type toggle to click on last 2 rows --- README.md | 2 +- src/nnn.c | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 08793b2b..6d93cfbe 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,7 @@ Note: Help & settings, file details, media info and archive listing are shown in |---| --- | | Left single on context number | Visit context | | Left single on top row after context numbers | Visit parent | -| Left single/double after last entry | Toggle nav-as-you-type | +| Left single/double on last 2 rows | Toggle nav-as-you-type | | Left single | Select context or entry | | Left double | Select context or open entry | diff --git a/src/nnn.c b/src/nnn.c index 50aa07b4..c5ca473d 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -3468,11 +3468,8 @@ nochange: } #endif - if (2 <= event.y && event.y < xlines - 2) - r = curscroll + (event.y - 2); - - /* Toggle filter mode on left click on last line */ - if (event.y >= xlines - 2 || r >= ndents) { + /* Toggle filter mode on left click on last 2 lines */ + if (event.y >= xlines - 2) { cfg.filtermode ^= 1; if (cfg.filtermode) { presel = FILTER; @@ -3488,14 +3485,18 @@ nochange: } /* Handle clicking on a file */ - if (2 <= event.y && event.y < xlines - 2) { + r = curscroll + (event.y - 2); + if (2 <= event.y && event.y < xlines - 2 && r < ndents) { move_cursor(r, 1); /*Single click just selects, double click also opens */ if (event.bstate != BUTTON1_DOUBLE_CLICKED) break; - } else + } else { + if (cfg.filtermode) + presel = FILTER; goto nochange; // fallthrough + } case SEL_NAV_IN: // fallthrough case SEL_GOIN: /* Cannot descend in empty directories */