]> Sergey Matveev's repositories - nnn.git/commitdiff
Limit nav-as-you-type toggle to click on last 2 rows
authorArun Prakash Jana <engineerarun@gmail.com>
Sun, 28 Jul 2019 07:40:56 +0000 (13:10 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sun, 28 Jul 2019 16:25:29 +0000 (21:55 +0530)
README.md
src/nnn.c

index 08793b2b270192d8eeb0c1a33d2d9b85f0c559e2..6d93cfbe205831375af8475cbbd5fd492dc8aa7d 100644 (file)
--- 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 |
 
index 50aa07b443da5c77d307832401e909403e54c96c..c5ca473d2dd1fd3a7d249f1e064d77a0641602f4 100644 (file)
--- 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 */