Commit graph

1368 commits

Author SHA1 Message Date
Arun Prakash Jana 22ccf5e2e6
Support time type (access/change/mod) change 2020-03-28 09:20:14 +05:30
Arun Prakash Jana 72333dcdd6
Statics are always initalized to 0 2020-03-27 14:38:56 +05:30
Arun Prakash Jana bf057c1007
Fix #498 2020-03-27 13:06:01 +05:30
Arun Prakash Jana 68fd0d7dd2
Use meaningful vars 2020-03-25 20:52:27 +05:30
Arun Prakash Jana dc08354b0f
Update docs 2020-03-25 11:47:30 +05:30
Arun Prakash Jana 33f2a2f37b
Remove redundant assignments 2020-03-21 21:28:48 +05:30
Arun Prakash Jana 49e36a4707
Reformat bookmark handling 2020-03-21 19:10:01 +05:30
Arun Prakash Jana 41f80f1f60
Key > to export file list 2020-03-20 23:46:58 +05:30
Arun Prakash Jana 0c55977465
Fix #496: option -f to use readline history file 2020-03-20 22:24:49 +05:30
Arun Prakash Jana f4786da9bc
Option -T obsoletes option -v 2020-03-18 02:41:30 +05:30
Arun Prakash Jana 85379a703b
Option -T to change default sort order 2020-03-18 02:35:05 +05:30
Arun Prakash Jana fc8c5b46b3
Skip erasing the complete screen 2020-03-16 21:39:44 +05:30
Arun Prakash Jana 1cf50e738f
Add clang-9 to compilation matrix 2020-03-16 07:33:54 +05:30
Arun Prakash Jana ea2de804f8
batch rename: check dep, handle invalid input 2020-03-15 20:26:53 +05:30
Arun Prakash Jana 03e6d7d553 Adapt PR #495 2020-03-15 19:52:02 +05:30
Arun Prakash Jana 67994ff4b2
Check if file is accessible 2020-03-14 21:44:48 +05:30
Arun Prakash Jana 1e53cd8ea1 Highlight the last copied/moved file 2020-03-14 20:22:58 +05:30
Arun Prakash Jana 0ef2b61a17
Increase number of events handled 2020-03-14 06:51:52 +05:30
Arun Prakash Jana 2d952795a8
Start watching dir if filter mode is disabled 2020-03-14 05:14:25 +05:30
Arun Prakash Jana 02754205a2
Fix #492 2020-03-11 21:59:34 +05:30
Arun Prakash Jana f527dd1c6a
Integrate batch renamer plugin 2020-03-11 17:52:38 +05:30
Arun Prakash Jana bf89040ace
Case-insensitive Ctrl-key handling, man page update 2020-03-11 09:14:59 +05:30
lvgx c9a17d80be
Add middle click copy (#491)
* Add middle click copy

* Make middle click action configurable

This introduces the NNN_MIDDLECLICK environment variable, containing the
key that middle mouse click emulates. Only the first character is read.

* Document NNN_MIDDLECLICK in nnn.1

* Use NNN_MCLICK instead of NNN_MIDDLECLICK

* Add '^key' syntax to set middle click to Ctrl+Key
2020-03-11 09:09:57 +05:30
Arun Prakash Jana 3dbe08aad6
Fix #486 2020-03-06 18:58:08 +05:30
Arun Prakash Jana d97d152269
Fix #486 2020-03-06 04:50:04 +05:30
Arun Prakash Jana 9bfda074bd
Show statusbar in du/au mode 2020-03-05 21:08:55 +05:30
Arun Prakash Jana 0cb5ddf3f1
Fix regression in calculating apparent du for dirs 2020-03-05 21:05:37 +05:30
Arun Prakash Jana 1fbaa61052
Add option to clear sort order 2020-03-05 20:45:07 +05:30
Arun Prakash Jana 646cd10b57
Fix #484 2020-03-04 06:18:08 +05:30
Arun Prakash Jana 0941e511e4
Clear filter at start 2020-03-02 18:54:53 +05:30
Arun Prakash Jana a54a23eae5
Minor refactor 2020-03-01 22:26:52 +05:30
Arun Prakash Jana 146f24e5de
Use target vars to create dirs 2020-03-01 21:00:45 +05:30
Arun Prakash Jana 78d0ea50f4
Use the same convention for global var names 2020-03-01 19:48:40 +05:30
Arun Prakash Jana 5533e38fbb
Guard against too many key-value pairs 2020-03-01 18:59:27 +05:30
Arun Prakash Jana f3c4dae1dd
Fix build break 2020-03-01 18:34:59 +05:30
Arun Prakash Jana 1224270104
Drop path validation 2020-03-01 17:25:49 +05:30
Arun Prakash Jana ad9f834b64
Update right click sel 2020-03-01 12:44:28 +05:30
lvgx b2f2b78990
Add right click file selection (#482) 2020-03-01 12:40:35 +05:30
Arun Prakash Jana 2b11601f89
Set attrs in a go 2020-03-01 12:19:17 +05:30
Arun Prakash Jana b52d17caa2
Do not store force quit option in session 2020-02-29 20:06:39 +05:30
Arun Prakash Jana a5a3a84bd1
Shorten messages 2020-02-29 15:10:42 +05:30
Arun Prakash Jana edb9fe14e4
Reformat get archive cmd 2020-02-29 13:53:16 +05:30
Arun Prakash Jana 0d7d0ca7db
realpath allocates memory 2020-02-29 12:56:10 +05:30
Arun Prakash Jana 5198c62863
Unlimited bookmarks, several fixes 2020-02-29 09:53:49 +05:30
Arun Prakash Jana a1e2ef055e
Continue in filter mode 2020-02-29 06:32:02 +05:30
Arun Prakash Jana 37987d487e
Ignore backspace at empty filter prompt 2020-02-29 06:08:26 +05:30
Arun Prakash Jana d1fcc5351e
Fix lint 2020-02-28 19:36:00 +05:30
Arun Prakash Jana 88167511f6
Unlimited bookmarks and plugin keys 2020-02-28 19:23:57 +05:30
Arun Prakash Jana 76cf0c65d4
Hover next file on delete 2020-02-28 07:34:02 +05:30
Arun Prakash Jana fc805dac26
Do not count hard links for dirs 2020-02-28 01:57:33 +05:30
Arun Prakash Jana 9c100f987c
Single struct for patterns strings 2020-02-28 00:33:35 +05:30
Arun Prakash Jana c9f9ca32dd
Extra space for size column 2020-02-28 00:00:44 +05:30
Arun Prakash Jana 993ea99b76
Remove redundant buffers 2020-02-27 23:55:23 +05:30
Arun Prakash Jana 4eae58edd3
Fix filename truncation if O_NOLOC set 2020-02-27 21:41:06 +05:30
Arun Prakash Jana 95356681ff
Fix handling hard-links 2020-02-27 18:49:44 +05:30
Arun Prakash Jana 74e77f78fa
Support more sepecial keys at empty prompt in nav-as-you-type 2020-02-27 08:47:00 +05:30
Arun Prakash Jana c6cc8a5181
Use 32-bit unsigned params 2020-02-27 07:30:14 +05:30
Arun Prakash Jana 05f3d5fdbe
Hash inodes with lesser number of bits 2020-02-27 00:38:30 +05:30
Arun Prakash Jana f12bf0a2ee
Dim links 2020-02-26 23:49:20 +05:30
Arun Prakash Jana 987cc9b4b3
Drop / indicator for directories 2020-02-26 22:19:48 +05:30
Arun Prakash Jana dd2be32382
Get rid of printw() 2020-02-26 20:49:20 +05:30
Arun Prakash Jana f0f8008014
Restore filter on context switch in non nav-as-you-type mode 2020-02-26 19:42:37 +05:30
Arun Prakash Jana 7aa72ddd79
Optimize print entry 2020-02-26 08:54:34 +05:30
Arun Prakash Jana 07437a897c
Reformat entry printing 2020-02-26 03:31:32 +05:30
Arun Prakash Jana 71bac356d6
Optimize unescape 2020-02-26 01:53:43 +05:30
Arun Prakash Jana ae1d656a27
Update help, check for mocp before using mocplay 2020-02-25 21:37:52 +05:30
Arun Prakash Jana dd5b419742
Treat ~ as special shortcut in filterentries 2020-02-22 21:25:05 +05:30
Arun Prakash Jana 04ab3751af
Minor refactor 2020-02-22 18:42:55 +05:30
Arun Prakash Jana f2ba23bb3a
Combine file mode check 2020-02-22 17:10:29 +05:30
Arun Prakash Jana f61323cccd
Simplify detail print 2020-02-22 15:08:59 +05:30
Arun Prakash Jana d0930d0ccf
Show hard link symbol 2020-02-22 12:49:50 +05:30
Arun Prakash Jana 4a91df950b
Ignore hard links on du 2020-02-22 08:44:28 +05:30
Arun Prakash Jana 0f03b41995
Fix build break 2020-02-22 04:28:27 +05:30
Arun Prakash Jana b816a90256
Macro for confirmation 2020-02-22 04:18:15 +05:30
Arun Prakash Jana ca257e6016
Do not save trash setting in config (and session) 2020-02-21 21:54:26 +05:30
Arun Prakash Jana c5d122e299
Fix broken abort msg when starting in du mode 2020-02-19 19:04:51 +05:30
0xACE 75f6d5d735
Avoid trying to edit a non-existing file (#477)
The previous implementation was inconsistent, sometimes it would
inherit the name of the parent folder of the current directory.

Other scenarios i encountered were:
1. Yield a empty search result, and try to edit. It would seemingly
   randomly select a file or folder
2. What would happen in a root path without any files residing?
2020-02-18 03:51:46 +05:30
Arun Prakash Jana 9cf77708a1
Late get and set NNNLVL before spawning shell 2020-02-17 20:34:03 +05:30
Arun Prakash Jana 1a8f9ee459
Minor reformat 2020-02-17 19:51:24 +05:30
Arun Prakash Jana 6024c51839
Remember file name when refresh is not requested 2020-02-14 22:44:49 +05:30
Arun Prakash Jana f2c4890d6e
Polish PR #476 2020-02-14 20:55:42 +05:30
Uffe Jakobsen 1ed015e988
Add NNN_OPTS environment variable feature (#476) 2020-02-14 20:35:17 +05:30
Arun Prakash Jana 9b199b3253
Remove redundant mouse mask variable 2020-02-14 18:48:44 +05:30
Arun Prakash Jana e664b2d29f
Compile option O_NOMOUSE to disable mouse support 2020-02-14 08:21:30 +05:30
Arun Prakash Jana a0339adf84
Minor refactor 2020-02-14 07:17:09 +05:30
Arun Prakash Jana 928f325a74
Use atoi from lib, use attribute for unused 2020-02-14 06:42:30 +05:30
Arun Prakash Jana ed616cf746
Minor refactor 2020-02-13 20:28:08 +05:30
Arun Prakash Jana 4ffb42c73e
Use s in statusbar to indicate selection enabled 2020-02-13 01:56:16 +05:30
Arun Prakash Jana a8bca5f440
Enable UTF8 for PCRE 2020-02-12 23:02:02 +05:30
Arun Prakash Jana bc7a81921e
Prepare for release v3.0 2020-02-12 07:30:15 +05:30
Arun Prakash Jana fb2793354b
Do not end selection on redraw 2020-02-10 19:23:15 +05:30
Arun Prakash Jana e318672904
Fix prefix calcualtion 2020-02-09 08:21:12 +05:30
Arun Prakash Jana 43fc9890e8
When a file is edited, vim adds a \n at the end 2020-02-09 05:38:12 +05:30
Arun Prakash Jana bc5234be8d
Simplify and fix common prefix calculation 2020-02-09 00:25:58 +05:30
Arun Prakash Jana 58357912bc
Fix build break 2020-02-08 19:58:30 +05:30
Arun Prakash Jana 13e28fdecc
Use xrealpath() to show unresolved symlinks 2020-02-08 19:35:07 +05:30
Arun Prakash Jana 0a48b6b8cc
Ignore . and .. in file list 2020-02-08 19:18:49 +05:30
Arun Prakash Jana ae486e36b8
1. dirname() loses path, 2. use realpath() 2020-02-08 18:51:56 +05:30
Arun Prakash Jana 72668069ed
Show target file size in list mode 2020-02-08 17:45:49 +05:30
Arun Prakash Jana 1d60b6a475
Fix empty dir on list files 2020-02-08 00:11:10 +05:30
Arun Prakash Jana eaba594a9e
Clear filter on a manual dir relaod 2020-02-07 05:53:15 +05:30
Arun Prakash Jana 6d77b04032
Minor refactor 2020-02-04 23:21:50 +05:30
Arun Prakash Jana 1614ce172b
Late allocate memory for path pointers 2020-02-02 19:10:35 +05:30
Arun Prakash Jana 6faab79ba9
xrealloc() may move memory 2020-02-02 17:36:35 +05:30
Arun Prakash Jana 06f6435ebd
Fix build break 2020-02-02 17:25:47 +05:30
Arun Prakash Jana 47a2f93e02
Refactor file list processing 2020-02-02 17:07:53 +05:30
Arun Prakash Jana da4f585188
Fix #446 2020-02-01 22:30:32 +05:30
Arun Prakash Jana 897f01c2c3
Reduce the number of redundant checks 2020-02-01 22:00:53 +05:30
KlzXS 2390ac7b74
List of files as input (#443)
* Start implementation on show list of files as input

* Remove tmp dir on exit, set global flag

* Bug fixes and improvements

* Follow symlinks when in list paths mode

* Fix bugs

* Add flag check

* Add message for invalid paths and style fixes

* Change the message

* Addressing review comments

* Handle errno being set

* Fix CI break

* Decreased startup memory usage and removed loops

* Fix CI break
2020-02-01 20:24:56 +05:30
Maxim Baz 099a9af289
Do not swallow keypress after printwait (#461) 2020-02-01 20:07:18 +05:30
Arun Prakash Jana c0f423496e
Use _exit() to terminate children
The NNN_PIPE file gets deleted after spawning a child in NOWAIT mode. Steps:
- open `nnn` with option `-x`
- press `;o` (custom binding) to open fzopen plugin
- press `^J` to select a file; it will spawn plugin `.cbcp` in NOWAIT mode
- when the intermediate child quits, the NNN_PIPE of parent is also deleted
2020-02-01 19:28:59 +05:30
Arun Prakash Jana 4401dbe092
Ignore link assuming stdscr is NULL 2020-02-01 18:46:56 +05:30
Arun Prakash Jana 27943b9efb
Fix #459
The following changes are made:

- STDOUT and STDIN are redirected to /dev/null when spawning rclone
  rclone blocks and also shows error/warning messages. nnn needs to spawn
  rclone and return without waiting. To avoid the rclone messages from
  corrupting the screen nnn makes the child silent.
  Note: sshfs returns after mount with a proper error code
- prompt only if both sshfs and rclone are installed
2020-02-01 08:57:16 +05:30
Arun Prakash Jana 6f48a711d4
Auto-proceed on open (key + to toggle) 2020-01-31 01:45:06 +05:30
Arun Prakash Jana 6aed714347
Run GUI app as plugin 2020-01-30 23:41:19 +05:30
Sijmen J. Mulder 46fc9c983c
Fallbacks for absent NAME_MAX and PATH_MAX (#455)
* Fallbacks for absent NAME_MAX and PATH_MAX

Certainly NAME_MAX isn't guaranteed to exist and on (some versions of?)
Illumos and SmartOS it doesn't, so provide some reasonably accommodating
fallbacks.

* Smaller limits

* Remove now redundant PATH_MAX definition for Hurd
2020-01-29 19:01:07 +05:30
Arun Prakash Jana c434d8d4bc
Use enough buffer length for file names 2020-01-29 05:22:03 +05:30
Arun Prakash Jana 9cbadc12be
Fix typo 2020-01-27 23:50:29 +05:30
Arun Prakash Jana e3d80da2ad
Exit prompt on ^D at empty prompt 2020-01-27 19:46:10 +05:30
Ethan R 812368cce6 Added more readline bindings (#452) 2020-01-27 18:57:56 +05:30
Arun Prakash Jana e5ad7d81ff
PCRE 2 - fix check for filter match
Kind contribution from uno20001:

https://old.reddit.com/r/C_Programming/comments/etavho/file_manager_nnn_needs_help_with_pcre/fffk4wr/
2020-01-24 22:46:47 +05:30
Arun Prakash Jana 196c09ab9b
PCRE 2 - fix compilation error 2020-01-24 22:25:27 +05:30
Arun Prakash Jana e2d37632ea
PCRE - add error handling 2020-01-24 19:00:45 +05:30
KlzXS 27617c0446 Detach process with F_NOWAIT (#450)
* Experimental PCRE library support

To compile with PCRE install libpcre-dev(el) and run:

cc  -Wall -Wextra -O3 -DPCRE -D_GNU_SOURCE -D_DEFAULT_SOURCE -I/usr/include/ncursesw -I/usr/include -o nnn src/nnn.c -lreadline -lncursesw -ltinfo -lpcre

* Detach process with F_NOWAIT

Co-authored-by: Mischievous Meerkat <engineerarun@gmail.com>
2020-01-24 18:58:43 +05:30
Arun Prakash Jana 827875c3ef
Experimental PCRE library support
To compile with PCRE install libpcre-dev(el) and run:

cc  -Wall -Wextra -O3 -DPCRE -D_GNU_SOURCE -D_DEFAULT_SOURCE -I/usr/include/ncursesw -I/usr/include -o nnn src/nnn.c -lreadline -lncursesw -ltinfo -lpcre
2020-01-24 02:17:48 +05:30
Arun Prakash Jana 50df09b918
Do not show file name in status bar
Both in light and detail modes we show more characters than in status bar.
2020-01-23 21:21:24 +05:30
Arun Prakash Jana de4b817998
Lazy unmount, umount (macOS) support 2020-01-23 02:00:16 +05:30
Arun Prakash Jana 60dfb79b8d
Check if path exists before trying to create 2020-01-22 20:09:16 +05:30
Arun Prakash Jana a87be62204
Use indicative dir names when creating 2020-01-22 00:00:33 +05:30
Arun Prakash Jana 8d6f766e75
Remove redundant variables/assignments 2020-01-21 23:09:05 +05:30
Arun Prakash Jana 8df6602fac
Remove redundant check 2020-01-21 21:53:45 +05:30
Arun Prakash Jana abd1df8770
Initialize mask 2020-01-20 23:33:57 +05:30
Arun Prakash Jana 9b45b05746
Code refactor 2020-01-20 19:09:10 +05:30
Arun Prakash Jana 0f1e648032
Refactor 2020-01-19 21:24:33 +05:30
Arun Prakash Jana 7677cd4417
Copy current name in API 2020-01-19 10:49:40 +05:30
Arun Prakash Jana 1c6fd9c7d7
Refactor 2020-01-18 23:31:39 +05:30
Arun Prakash Jana 5e7c42c822
checkpatch.pl fixes 2020-01-18 22:49:35 +05:30
Arun Prakash Jana 4d01aa78ae
Shorten env vars 2020-01-18 21:05:44 +05:30
Arun Prakash Jana 6c2dc7fc95
Use macro 2020-01-18 20:57:51 +05:30
Arun Prakash Jana cfdd745611
Get rid of modulo operation 2020-01-18 20:43:28 +05:30
Arun Prakash Jana 9b054d51f4
Key F5 toggle hidden 2020-01-18 19:55:09 +05:30
Arun Prakash Jana afb7efc860 Merge functions 2020-01-18 14:58:48 +05:30
Arun Prakash Jana dd02fb6049
Use simpler logic to show progress on Linux 2020-01-18 14:16:18 +05:30
Arun Prakash Jana 5f18a0892c
Clear lastname is the top file is deleted 2020-01-17 20:26:14 +05:30
Arun Prakash Jana 679374680f Revert "Revert "Fixed calculation of capacity on OpenBSD (#441)""
This reverts commit 681b22d5c7.

The statvfs man page:
http://man7.org/linux/man-pages/man3/statvfs.3.html

says clearly:

fsblkcnt_t     f_blocks;   /* Size of fs in f_frsize units */

I missed this earlier.
2020-01-17 20:08:45 +05:30
Arun Prakash Jana 64667b377d
Options -e and -t
Replaces the following environment variables:
- NNN_USE_EDITOR
- NNN_IDLE_TIMEOUT
2020-01-17 19:37:57 +05:30
Arun Prakash Jana 94a233b808
Fix: crash on entering empty dir, then press down 2020-01-17 03:36:57 +05:30
Arun Prakash Jana 4f233c161a
Remove redundant check 2020-01-17 02:40:02 +05:30
Arun Prakash Jana feec63ebb3
Use do-while instead of while 2020-01-16 23:09:19 +05:30
Arun Prakash Jana 681b22d5c7 Revert "Fixed calculation of capacity on OpenBSD (#441)"
This reverts commit 527e995f1f.
2020-01-16 22:58:12 +05:30
Arun Prakash Jana f9d38d1420 A fancier prompt 2020-01-16 19:35:46 +05:30
Maxim Baz 0fd1f142c7 Quit with an error code (#442)
* Quit with an error code

* Use `Q` as "quit with err"

* Remove extra var and simplify conditions

* Revert combining conditions

* Fix formatting

* Format help with as much tabs as possible
2020-01-16 19:25:48 +05:30
Martin Ziemer 527e995f1f Fixed calculation of capacity on OpenBSD (#441) 2020-01-16 16:40:30 +05:30
Arun Prakash Jana 3a4dd4c469
Fix alignment 2020-01-15 14:10:46 +05:30
Arun Prakash Jana 0222b75c2e
Use / to toggle string and regex 2020-01-15 10:05:19 +05:30
Arun Prakash Jana 73a2919b7e
Prepare for release v2.9 2020-01-15 09:42:23 +05:30
KlzXS 4930f34c3f Catch NULL from malloc() (#438)
* Catch NULL from malloc()

* Tidy up errors

* Make indentaion look pretty in git
2020-01-15 04:05:26 +05:30
Arun Prakash Jana b1c9f4ed45
Use macro to print error 2020-01-15 01:21:13 +05:30
Arun Prakash Jana a9ebe7ed88
While drawing lines, set correct color 2020-01-15 00:57:02 +05:30
Arun Prakash Jana 1a728603bf
(B)Tab for BackTab 2020-01-14 23:37:33 +05:30
Arun Prakash Jana 364399246e
Show order info in filter info bar 2020-01-14 22:51:10 +05:30
Arun Prakash Jana 1b252b6ecb
Keybind changes 2020-01-14 21:20:57 +05:30
Arun Prakash Jana 8ebedab3f6
Fix doc 2020-01-14 04:10:11 +05:30
Arun Prakash Jana 3ccc6807ed New lowercase keys 2020-01-14 03:34:52 +05:30
Arun Prakash Jana 62ae7e0a74
Key 0 to lock 2020-01-14 03:00:01 +05:30
Arun Prakash Jana 5bc20f1460
Remove p and e 2020-01-14 02:26:32 +05:30
Arun Prakash Jana d65271860a
Fix typo 2020-01-14 01:36:57 +05:30
Arun Prakash Jana 589065f9ab
Remove redundant question 2020-01-14 01:10:53 +05:30
Arun Prakash Jana 69efec865a
List from selection file if nothing selected 2020-01-14 00:31:20 +05:30
Arun Prakash Jana 7bcf19189a
Remove list selection 2020-01-13 23:44:19 +05:30
Arun Prakash Jana 7029656c78
Revert to key m to Mark range 2020-01-13 22:24:55 +05:30
Arun Prakash Jana 8f4706498c
Key ' for range selection 2020-01-13 21:25:34 +05:30
Arun Prakash Jana 526330bb8b
Unify plugin keys 2020-01-13 21:09:40 +05:30
Arun Prakash Jana c53b9df5ea
Reorder key listing, undocument F2 and F5 2020-01-13 20:26:16 +05:30
Arun Prakash Jana 3d7cc30441
Combine list, edit selection. Key ^Y 2020-01-13 20:13:46 +05:30
Arun Prakash Jana 749f089355
Key z to archive, fix du order issue 2020-01-13 18:57:46 +05:30
Maxim Baz 101d4e8a07 order toggle: show invalid key prompt (#433)
* order toggle: show invalid key prompt

* don't call statusbar()
2020-01-13 18:39:54 +05:30
Arun Prakash Jana d2f69875be
Minor refactor 2020-01-13 07:48:25 +05:30
Maxim Baz 6ac353446f Order toggle: fix toggling reverse (#432) 2020-01-13 07:39:43 +05:30
Arun Prakash Jana 5fb4d637ee
Order toggle re-factor 2020-01-13 03:49:28 +05:30
Arun Prakash Jana 3416287553
Key f for first file 2020-01-13 02:45:47 +05:30
Arun Prakash Jana 16c88770b6
Sort order not changing in nav-as-you-type mode 2020-01-13 01:22:51 +05:30
Arun Prakash Jana ab521c02a4
Fix build break 2020-01-12 23:58:48 +05:30
Arun Prakash Jana 917123c400
Minor changes to fast redraw 2020-01-12 23:33:42 +05:30
Anna Arad 7948db6a64 Fast redraw on up/down key navigation (#431) 2020-01-12 22:45:55 +05:30
Arun Prakash Jana 1eb2ab2478
Clear info line completely 2020-01-12 19:40:33 +05:30
Arun Prakash Jana 7718f77069
Add check for max val len in key:val pair 2020-01-12 08:40:33 +05:30
Arun Prakash Jana aea48508da
^L at empty prompt shows last filter 2020-01-12 03:36:08 +05:30
Arun Prakash Jana bb3d79ce21
Go to top when last saved filter is applied 2020-01-12 02:46:19 +05:30
Arun Prakash Jana f1791af2ab
Show statusbar instead of blank 2020-01-12 00:09:09 +05:30
Arun Prakash Jana b91f7a9600
Fix not waiting for command next time if non-Enter keys are pressed 2020-01-11 23:53:32 +05:30
Arun Prakash Jana 94781f7977
Refactor status bar printing 2020-01-11 23:18:24 +05:30
Arun Prakash Jana 7f579bc808
Add more clarity on filter prompt keys 2020-01-11 22:58:22 +05:30
Arun Prakash Jana fd99ef5af2
Show filter when returning after firing plugin 2020-01-11 22:53:40 +05:30
Arun Prakash Jana 357ce4a69a
Key ^F to fire plugin 2020-01-11 22:40:26 +05:30
Arun Prakash Jana 99d15815f0
Use : for filter case 2020-01-11 21:49:35 +05:30
Arun Prakash Jana 490359f853
nuke: open manpages, reload dir after dot 2020-01-11 18:23:46 +05:30
Arun Prakash Jana 70dcbf43d7
Toggle filter case-sensitivity 2020-01-11 16:12:34 +05:30
Arun Prakash Jana 8588b3f0bd
Support regex/substring filter switch 2020-01-11 11:38:31 +05:30
Arun Prakash Jana 0e203288b4
Rememeber last filter 2020-01-11 05:15:20 +05:30
Arun Prakash Jana c22bf87f3e
Enable filter mode when there's a filter 2020-01-11 00:55:23 +05:30
Arun Prakash Jana 38414f4349
For links, set prefix instead of suffix 2020-01-11 00:31:08 +05:30
Arun Prakash Jana ca0a7b0558
Simplify showing status bar symbols 2020-01-10 20:15:50 +05:30
Arun Prakash Jana f04769f5a5
Update docs 2020-01-10 19:43:37 +05:30
Arun Prakash Jana 4c0210ce2b
Do not reload dir on sort order change when filter is on 2020-01-09 23:51:41 +05:30
Arun Prakash Jana f654e3ca2b
Implement reverse sorting 2020-01-09 19:44:36 +05:30
Arun Prakash Jana a89b5fd82c
Fix build break 2020-01-09 04:38:08 +05:30
Arun Prakash Jana 5cb39b0db3
Show mime in file details 2020-01-09 04:00:28 +05:30
Arun Prakash Jana 7bf7894022
Use option -A to disable dir auto-select 2020-01-09 03:34:10 +05:30
Arun Prakash Jana 9a757c4905
Extension order: show files without extension on top 2020-01-08 21:45:54 +05:30
Arun Prakash Jana 604a8fafcc
Fix build break 2020-01-08 19:40:56 +05:30
Arun Prakash Jana d209e8f278
Optimize file extension check 2020-01-08 19:08:01 +05:30
Arun Prakash Jana 0b1c87758c
Minor refactor 2020-01-08 18:52:18 +05:30
Arun Prakash Jana e4b762dcc1
Retain filter on single file removal 2020-01-07 18:28:30 +05:30
Arun Prakash Jana 9d9aa16185
Clear filter after removing current file 2020-01-07 01:21:36 +05:30
Arun Prakash Jana aa89522482
Re-order keybind help 2020-01-06 20:00:18 +05:30
Arun Prakash Jana 39f8b25b88
Clear filter on dir changes 2020-01-06 02:54:31 +05:30
Arun Prakash Jana c92c5c7b15
Support toggle exe 2020-01-02 23:36:08 +05:30
Arun Prakash Jana c44d5b57bd
Update docs, early check for empty files 2020-01-02 04:03:54 +05:30
Arun Prakash Jana c6a5db460f
Add useful locker peaclock for Haiku 2020-01-02 03:07:56 +05:30
Arun Prakash Jana 4a3bf6d40f Use a shorter width param 2020-01-02 03:03:21 +05:30
CodeforEvolution a36146f9c0 Add Desktop Opener for Haiku (#425)
You guys almost forgot this. Hope this helps! ;)
2020-01-02 02:40:50 +05:30
Arun Prakash Jana 027ed8d8ea
Update copyright year 2019-12-31 22:42:10 +05:30
Arun Prakash Jana f41e68742d
Fix 2 archive handling issues
- when an archive is mounted, jump into the mount point
- while archiving the hovered file, exit if the archive name is same
2019-12-31 21:09:40 +05:30
Maxim Baz 4e59ffd9d0 Make showsel print warning when nothing is selected (#423) 2019-12-30 00:34:39 +05:30
Arun Prakash Jana 8955d039c6
Drop ^T, no reload after empty cmd at prompt 2019-12-30 00:33:34 +05:30
Arun Prakash Jana c1f168c7cb
Show context numbers in help 2019-12-30 00:06:49 +05:30
Arun Prakash Jana 15a7bbe00e
Fix build break 2019-12-29 23:46:48 +05:30
Arun Prakash Jana f90c37cd5e
Automagically handle archives 2019-12-29 23:21:18 +05:30
Arun Prakash Jana 146da5911d
Code refactor 2019-12-29 17:58:48 +05:30
Arun Prakash Jana 7b7e005e52
Retire execute file
There is no way to detect and handle GUI executables. Must run manually.
2019-12-29 09:07:58 +05:30
Arun Prakash Jana 7157644250
Fix #420: simplify bookmarking, retire lead key 2019-12-29 08:20:56 +05:30
Arun Prakash Jana e3e6e1671a
Keybind v for version sort 2019-12-28 11:15:38 +05:30
Arun Prakash Jana d13fea6fa2
Refactor help 2019-12-28 10:15:11 +05:30
Arun Prakash Jana 3a554f02dc
Refactor help 2019-12-28 09:56:54 +05:30
Anna Arad fd9fcf741e Get nnn compile and run on Haiku (#403)
* Add support for Haiku OS

* Adjust DISTFILES and dist rule in haiku
2019-12-27 23:32:20 +05:30
Arun Prakash Jana d3ddff6690
Refactor help 2019-12-27 22:07:11 +05:30
Arun Prakash Jana ae65edb862
Code refactor 2019-12-27 21:22:27 +05:30
Arun Prakash Jana f5cd0e563d
Code refactor 2019-12-27 19:00:23 +05:30
Arun Prakash Jana bffadf09c5
Refactor plugin handling 2019-12-27 13:19:23 +05:30
Arun Prakash Jana 5676dfe682
Fix: save last hovered filename in cur context post arrow movement 2019-12-27 11:04:05 +05:30
Arun Prakash Jana 735b3d6cde
Code refactor 2019-12-27 10:13:48 +05:30
Arun Prakash Jana a32b3eac14
Code refactor 2019-12-27 09:26:20 +05:30
Arun Prakash Jana b455abf944
Refactor cur or sel confirmation 2019-12-26 20:33:01 +05:30
Arun Prakash Jana c43dce6926
Refactor context selection 2019-12-26 19:37:48 +05:30
Arun Prakash Jana 0d07e45efb
Use test and set in frequent keys 2019-12-26 18:24:32 +05:30
Arun Prakash Jana 765c494eb7
Experimental: clear filter on dir reload and retain name 2019-12-26 14:07:23 +05:30
Arun Prakash Jana 450df4c476
Retain filter on keys up and down 2019-12-26 10:24:57 +05:30
Arun Prakash Jana 7e958d3cd3 Revert "Retain filters when context keys are used from filter prompt"
This reverts commit d9da85a365.
2019-12-25 22:56:59 +05:30
Arun Prakash Jana 1003c0f8fc
Option n - nav as you type, V - version sort 2019-12-25 22:33:38 +05:30
Arun Prakash Jana 06920d7d9d Revert "Fix #420: reduce Lead key to bookmark key"
This reverts commit 1ed5febe0c.
2019-12-25 22:18:36 +05:30
Arun Prakash Jana d65ccfab1e Revert "Update help"
This reverts commit 89a158b9f4.
2019-12-25 22:18:24 +05:30
Arun Prakash Jana ffb0b0e3c2 Revert "Use b and ^B as bookmark key"
This reverts commit 278fcfdfc9.
2019-12-25 22:18:09 +05:30
Arun Prakash Jana 541bc3f653 Revert "Use a fixed key , for pinning dir"
This reverts commit 4d17b82950.
2019-12-25 22:17:50 +05:30
Arun Prakash Jana 4d17b82950
Use a fixed key , for pinning dir 2019-12-25 15:56:50 +05:30
Arun Prakash Jana 278fcfdfc9
Use b and ^B as bookmark key 2019-12-25 14:37:51 +05:30
Arun Prakash Jana 89a158b9f4
Update help 2019-12-25 12:34:45 +05:30
Arun Prakash Jana 1ed5febe0c
Fix #420: reduce Lead key to bookmark key 2019-12-25 12:15:03 +05:30
Arun Prakash Jana d9da85a365
Retain filters when context keys are used from filter prompt 2019-12-25 08:52:37 +05:30
Arun Prakash Jana b1207d54ea
Set flags for OS-es without dp-type. 2019-12-23 20:14:03 +05:30
Arun Prakash Jana 2276e3ddfd
Use CLI flags spawning CLI opener as default FM 2019-12-21 22:38:35 +05:30
Arun Prakash Jana 9dee99b456
Show message on invalid key 2019-12-21 10:03:05 +05:30
Arun Prakash Jana 88b8d2641d
Replace bools for binary states with an uchar 2019-12-20 16:01:35 +05:30
Arun Prakash Jana 37988cf854
Program option to load session is now -s
- remove auto-stored session "@" on restore
- minor help update
2019-12-20 15:49:13 +05:30
Arun Prakash Jana 9725c17d20 Revert "Internal states, sessions changes"
This reverts commit cf388649b9.
2019-12-20 15:30:53 +05:30
Arun Prakash Jana f25f062537
Mechanism to skip dir refresh after running plugin 2019-12-20 12:05:25 +05:30
Arun Prakash Jana 7d171368ad Revert "Prefer NNN_USE_EDITOR over opener (option )"
This reverts commit 7f3d2c10aa.
2019-12-20 02:51:25 +05:30
Arun Prakash Jana 7f3d2c10aa
Prefer NNN_USE_EDITOR over opener (option ) 2019-12-20 00:01:50 +05:30
Maxim Baz c5cd668a52 Show 'invalid key' prompt in more places (#415) 2019-12-19 18:41:30 +05:30
Arun Prakash Jana cf388649b9
Internal states, sessions changes
- replace bools for internal non-persistent binary states with an uchar
- do not store path to session, derive from config path in tmp buffer
- program option to load session is not `-s`
- remove auto-stored session "@" on restore
- minor help update
2019-12-19 08:45:26 +05:30
Arun Prakash Jana 92ac068815
Use single API for nftw 2019-12-19 01:53:11 +05:30
Arun Prakash Jana fce848de3c
Fix typos in help 2019-12-18 23:48:19 +05:30
Arun Prakash Jana ac281cb63b
Fix cmd as plugin showing prompt on playing twice 2019-12-18 22:27:23 +05:30
Arun Prakash Jana 6b5bb16b46
Minor improvements
- reduce 4 spaces between help columns as it's too wide for handhelds
- support `]` as prompt in nav-as-you-type-mode when filter is empty
- update plugin docs
2019-12-18 21:53:18 +05:30
Arun Prakash Jana fb2c548e86
User control to disable prompt after run cmd as plugin 2019-12-17 20:57:29 +05:30
Maxim Baz 7b06480147 Fix fprint format args (#410)
Since 75061367be we only need to fill one %c
2019-12-17 16:12:16 +05:30
Arun Prakash Jana 0feb690d7d
Reduce one space 2019-12-17 08:35:42 +05:30
Arun Prakash Jana 8d3c24d19f
Notify invalid keypress at bookmark and plugin key input 2019-12-17 07:13:50 +05:30
Maxim Baz 99128ab5c9 Show prompt for bookmark selection (#409)
* Cleanup unused MSG_

* Print only plugin keys

* Speed up preparing keys prompt

* Show prompt for bookmarks

* Don't error when user interactively pressed non-existent bookmark key
2019-12-17 07:06:40 +05:30
Arun Prakash Jana 75061367be
Use a combo to parse help string 2019-12-17 06:36:10 +05:30
Maxim Baz f10481e93e Make help page more readable (#408)
* Make help page more readable

* Always use 2 columns only
2019-12-17 05:05:58 +05:30
Maxim Baz d6a4e449d3 Indicate when range selection and plugin picker are waiting for input (#406)
* Use [1:*] as indicator that range selection is in progress

* Fix review comments

* Add prompt for plugin selection
2019-12-17 04:37:48 +05:30
Arun Prakash Jana 208a6605f5
Fix #402 2019-12-14 23:28:13 +05:30
Arun Prakash Jana 95f530854d
remove program option -f 2019-12-14 20:25:23 +05:30
Arun Prakash Jana 5b0b63e7d6
remove / as additional lead key when filter is on 2019-12-14 19:54:13 +05:30
Arun Prakash Jana 04d10fc94b
Use string filters by default 2019-12-14 14:15:07 +05:30
Arun Prakash Jana 1f0f3fdf01
Update man 2019-12-14 00:17:16 +05:30
Arun Prakash Jana 2f6a4dd8ee
Minor edits 2019-12-13 02:14:37 +05:30
Arun Prakash Jana f73f79d5de
Simplify selection
Update the selection buffer and file in-place:
- Append file path when one is added.
- Remember the last position in selection buffer at which the next filename
  is to be appended when a directory/context change happens (lastappendpos).
  So in case of a de-selection we can go back to that position and scan all
  the entries to add only the ones which are selected.
2019-12-13 01:57:58 +05:30
Arun Prakash Jana 5a46b8fb25
Sync file paths correctly for clipboard copy 2019-12-13 00:36:30 +05:30
Arun Prakash Jana e723666256
End selmode and update selection on dir changes 2019-12-12 21:37:39 +05:30
Arun Prakash Jana fcba62d296
Update selection when context changed on mouse click 2019-12-12 21:29:48 +05:30
Arun Prakash Jana 73593450ac
Fix build break 2019-12-12 20:11:31 +05:30
Arun Prakash Jana fd8a8387b8
Add option to show noti and copy selection to system clipboard 2019-12-12 19:51:08 +05:30
Arun Prakash Jana f95ee54870
Add plugin to show notification 2019-12-12 07:24:22 +05:30
Arun Prakash Jana b64df85d23
Operation completion notification 2019-12-11 22:53:03 +05:30
Arun Prakash Jana 7eec6cedab
Reformat help 2019-12-11 20:30:23 +05:30
Arun Prakash Jana dfd1422997
Remove redundant key for first file 2019-12-11 20:30:20 +05:30
Arun Prakash Jana a86150f71a
Reformat help, remove redundant plugin key 2019-12-11 19:26:13 +05:30
KlzXS 8b7a74a451 Fix not properly checking if file is selected (#401) 2019-12-11 01:34:16 +05:30
Arun Prakash Jana 92bba0cbf8
Fix #400: several selection issues in v2.8.1 2019-12-10 20:59:10 +05:30
Arun Prakash Jana 8d143bb87f
Disable partial regex errors 2019-12-10 18:37:10 +05:30
Arun Prakash Jana e8183058fd
Minor code refactor 2019-12-10 08:52:00 +05:30
Arun Prakash Jana 847bda4380
Combine archive operations 2019-12-10 03:56:38 +05:30
Arun Prakash Jana 8dd1946d1d
Revert to ] key 2019-12-10 01:27:51 +05:30
Arun Prakash Jana 6582855412
Key \ only works in empty prompt 2019-12-10 01:18:51 +05:30
Arun Prakash Jana a3d6b81d9f
Key 's' to manage session 2019-12-10 01:09:15 +05:30
Arun Prakash Jana 741f82b091
Use \ as alternative prompt/run command keybind 2019-12-10 00:56:29 +05:30
Arun Prakash Jana 1991bb516f
Update light/detail print mode when loading session 2019-12-09 23:52:05 +05:30
Arun Prakash Jana b14e1a4856
Print line number in debug logs 2019-12-09 23:17:40 +05:30
Arun Prakash Jana 6fcc6834ff
Show symlink even if target cannot be stat-ed 2019-12-09 22:20:46 +05:30
Arun Prakash Jana 21f9a713dc
Fix auto-select for symlink to dir 2019-12-09 19:12:59 +05:30
Arun Prakash Jana d5512462af
Move nlaunch to plugins as launch 2019-12-09 00:34:53 +05:30
Arun Prakash Jana 3b2b6f2b46
Fix only the last file path is copied to selection buffer 2019-12-06 22:24:35 +05:30
Arun Prakash Jana 9b384799b7
Cancel option for open with 2019-12-06 20:21:31 +05:30
Arun Prakash Jana 7f2bf343f8
Use ISO 8601 in status bar 2019-12-05 21:03:05 +05:30
Arun Prakash Jana 90108ba763
Prepare for release v2.8.1 2019-12-05 04:47:32 +05:30
KlzXS 809b1885fb Fix always archiving current file (#396) 2019-12-04 18:25:41 +05:30
Arun Prakash Jana cc36aa8d49
Prepare for release v2.8 2019-12-04 02:58:27 +05:30
Arun Prakash Jana add789c002
Use common construct for utility names 2019-12-03 21:11:06 +05:30
Arun Prakash Jana 5cd9794102
Remove redundant assignment 2019-12-02 22:24:06 +05:30
Arun Prakash Jana 6001eeb9a4
Disable rollover at edges on scroll 2019-12-02 18:24:59 +05:30
Arun Prakash Jana 3f0c604111
Option -R to disable rollover at edges 2019-12-01 23:00:06 +05:30
Arun Prakash Jana feb1d2fc27
Handle some keys as special only if filter is empty 2019-12-01 19:58:08 +05:30
Arun Prakash Jana 130cea3598
Adapt picker mode to new selection changes 2019-11-30 20:36:04 +05:30
Arun Prakash Jana e28197f066
Remove a startup loop and use self-fixing 2019-11-30 19:51:57 +05:30
Arun Prakash Jana 178705a951
End selection before archive, new, rename 2019-11-30 16:15:12 +05:30
Arun Prakash Jana 0a5dc2e336
Selection should work across contexts 2019-11-30 04:28:09 +05:30
Arun Prakash Jana ef88a31a7c
Do not access invalid lastdir 2019-11-30 03:51:29 +05:30
Arun Prakash Jana f9058e1aaa
Support link creation for hovered file 2019-11-29 20:58:12 +05:30
Arun Prakash Jana 965499c671
Show all selected files on M 2019-11-29 08:38:11 +05:30
Arun Prakash Jana 35b3cf3b1f
Update program help 2019-11-29 02:11:27 +05:30
Arun Prakash Jana 20ac9da988 Support deselection 2019-11-28 23:13:10 +05:30
Arun Prakash Jana 249836923e
Reduce delay, use a more meaningful msg 2019-11-25 08:21:14 +05:30
Arun Prakash Jana e4ffe35892
Update comment to reflect millisecond 2019-11-25 07:50:22 +05:30
Arun Prakash Jana e6f9d6d2d0
Add rclone support for remote access 2019-11-24 21:24:32 +05:30
Arun Prakash Jana 5d0af863b5
Set hovered and file as 2019-11-24 02:13:27 +05:30
Arun Prakash Jana ca7405311f
Force undetachable edits in EDITOR 2019-11-24 01:54:06 +05:30
Arun Prakash Jana c2998a819b Revert "Indicative inode hash bitmap implementation. Read details."
This reverts commit 547d87bfc2.
2019-11-23 10:07:05 +05:30
Arun Prakash Jana 547d87bfc2
Indicative inode hash bitmap implementation. Read details.
Known issues:
- To optimize dentfill() on most architectures we don't fstatat() with
  AT_SYMLINK_NOFOLLOW to get the inode number of the symlink itself.
- The current hash size serves the purpose of one filesystem. To serve
  more and have unique bits, we have to add more bits to prefix dev ID
  to the inode.  Memory consumption will be significant.

This will be reverted in next commit.
2019-11-23 10:05:06 +05:30
Arun Prakash Jana b63c00c9af
Quote so files with newline in name work 2019-11-22 23:43:43 +05:30
Arun Prakash Jana 2c35beb0a2
Rename utility macros 2019-11-22 20:46:05 +05:30
Arun Prakash Jana ababa87434
Organize strings together 2019-11-22 20:30:13 +05:30
Arun Prakash Jana d4b7897b41
All binary confirmation is now y or Y 2019-11-21 19:11:56 +05:30
KlzXS 4db8a61dea Don't use xargs options -I -o and -a (#388)
Also removed another stray cat
2019-11-21 18:19:55 +05:30
Arun Prakash Jana 7d70a655e6
Fix picker mode 2019-11-21 00:56:55 +05:30
Arun Prakash Jana 2d91768d88
Fix some cat abuses in code, plugins 2019-11-21 00:31:39 +05:30
Arun Prakash Jana 0c0f12b528
Use single API to create dir tree 2019-11-20 23:23:44 +05:30
Arun Prakash Jana f0ca47afae
dirs and files can be created with parent dirs 2019-11-20 21:11:13 +05:30
Arun Prakash Jana cc3702b2e1
Fix lint error 2019-11-20 01:34:07 +05:30