commit bfc8d0a7d3ea39b19b3367444f98768995eb9e32
parent 713eed0a21b378e18e4073210b0bb0efc2c18c6c
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Fri, 12 Jul 2019 22:28:44 +0530
Termux improvement: toggle nav-as-you-type
2 changes:
- Toggle nav-as-you-type with left single/double click below last entry
- Handle mouse events when filter is on
Diffstat:
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
@@ -267,8 +267,9 @@ 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 | Select context or entry |
-| Left double | Select context or open file/directory |
+| Left double | Select context or open entry |
##### Leader key
diff --git a/src/nnn.c b/src/nnn.c
@@ -1696,6 +1696,7 @@ static int filterentries(char *path)
printprompt(ln);
continue;
+ case KEY_MOUSE: // fallthrough
case 27: /* Exit filter mode on Escape */
if (len == 1)
cur = oldcur;
@@ -3392,13 +3393,27 @@ nochange:
}
#endif
- /* Handle clicking on a file */
- if (2 <= event.y && event.y < xlines - 2) {
+ if (2 <= event.y && event.y < xlines - 2)
r = curscroll + (event.y - 2);
- if (r >= ndents)
+ /* Toggle filter mode on left click on last line */
+ if (event.y >= xlines - 2 || r >= ndents) {
+ cfg.filtermode ^= 1;
+ if (cfg.filtermode) {
+ presel = FILTER;
goto nochange;
+ }
+
+ /* Start watching the directory */
+ dir_changed = TRUE;
+
+ if (ndents)
+ copycurname();
+ goto begin;
+ }
+ /* Handle clicking on a file */
+ if (2 <= event.y && event.y < xlines - 2) {
move_cursor(r, 1);
/*Single click just selects, double click also opens */