diff options
author | 2019-07-12 22:28:44 +0530 | |
---|---|---|
committer | 2019-07-12 23:34:36 +0530 | |
commit | bfc8d0a7d3ea39b19b3367444f98768995eb9e32 (patch) | |
tree | 5b37bd4cdbb7b3d4ebeedda74340893dcaac0579 /src | |
parent | 713eed0a21b378e18e4073210b0bb0efc2c18c6c (diff) | |
download | nnn-bfc8d0a7d3ea39b19b3367444f98768995eb9e32.tar.gz |
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 (limited to 'src')
-rw-r--r-- | src/nnn.c | 21 |
1 files changed, 18 insertions, 3 deletions
@@ -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 */ |