Commit graph

1889 commits

Author SHA1 Message Date
Arun Prakash Jana b3e2ffc2e6
Selection mode don't need to be persistent 2020-06-09 23:43:49 +05:30
Arun Prakash Jana 05b1db059e
Plugin run flags don't need to be persistent 2020-06-09 23:33:32 +05:30
Arun Prakash Jana 796334354e
Picker mode doesn't need to be persistent 2020-06-09 23:03:36 +05:30
Arun Prakash Jana b481b23280
Retain order on session load 2020-06-09 22:26:35 +05:30
Arun Prakash Jana c5f0a25e7e
Simplify subdir creation 2020-06-08 21:56:33 +05:30
Arun Prakash Jana d19d8d5f02
Derive session and mount paths, shorten paths 2020-06-08 09:44:53 +05:30
Arun Prakash Jana b62adec72c
Subdir 'mounts' for remote/archive mounts 2020-06-08 08:48:20 +05:30
Arun Prakash Jana fdfbac0386 Fix #639: store NNNLVL in tmp var 2020-06-07 00:35:05 +05:30
Arun Prakash Jana 65cf067dc4 Fix #637: remove mount dir after unmount 2020-06-06 16:22:32 +05:30
Arun Prakash Jana 58fd92c7ae
Add new ToDo list 2020-06-03 16:12:27 +05:30
Arun Prakash Jana 2fc115bddc
Esc to send hovered path to FIFO 2020-06-03 15:56:10 +05:30
Arun Prakash Jana 709c0d209e
Force notify on left click (right selects & updates) 2020-06-03 14:51:52 +05:30
Arun Prakash Jana 1dbbc45c78
Key | to send file path to FIFO 2020-06-02 16:50:06 +05:30
Arun Prakash Jana 61b4416e08
Refresh hovered for preview on mouse click 2020-06-02 16:29:26 +05:30
Arun Prakash Jana 0ebc6db163
Fix #624: wait for user input if cmd fails 2020-06-01 21:21:01 +05:30
Sijmen J. Mulder 68b9185071
Wrap FILE_MIME_OPTS use in check (#622)
We leave it undefined on Solaris/Illumos because no such options exist,
so only use it if we have it.
2020-06-01 06:47:03 +05:30
Arun Prakash Jana 8549121d86
Remove redundant key F5 2020-05-31 23:20:08 +05:30
Arun Prakash Jana 7263a5f89b
Do not auto-revive filter in nav-to-type mode 2020-05-31 23:05:59 +05:30
Arun Prakash Jana 4a2d978630
Simplify get_input() 2020-05-31 20:10:11 +05:30
Arun Prakash Jana 984cffecc4
Set the corrent keybind for plugin 2020-05-31 13:27:05 +05:30
Arun Prakash Jana 8e9c4ec88b
F5 to redraw (even with filter) 2020-05-30 23:25:01 +05:30
Arun Prakash Jana 04f9698d86 Retire ^S as select plugin 2020-05-30 22:02:55 +05:30
Arun Prakash Jana 309ed0ed67
Remove NNN_PIPE on exit 2020-05-30 15:31:37 +05:30
Arun Prakash Jana e3d90a98ce
Support make option O_CTX8 for 8 contexts
Note that this is not compatible with 4 contexts.
2020-05-30 07:01:34 +05:30
Arun Prakash Jana 4d291d0ac2
Use bitfields for runtime transient states 2020-05-30 06:45:45 +05:30
Arun Prakash Jana 32ab43a9ff
Handle number of contexts in a generic fashion
This supports using a power of 2 number of contexts like 2, 4 or 8.
Note that the number of contexts are not backward compatible. So if
user is having 8 contexts and plans to use 4, his sessions with > 1
contexts open may break.

We can have a make option to enable 8 contexts. 4 remains default.
2020-05-30 06:07:53 +05:30
Arun Prakash Jana c48b8d02a1 Revert "Alt+Enter: clear filter and exit filter prompt"
This reverts commit 2232772db4.
2020-05-30 05:24:41 +05:30
Mischievous Meerkat e47a04865e
Merge pull request #607 from leovilok/signals
Cleanly handle SIGTERM and SIGHUP
2020-05-30 05:08:45 +05:30
lvgx 41dc17883a
Fix detecting end of evironment options (#610)
This allow using both NNN_OPTS and options with arguments from argv.
2020-05-30 04:51:16 +05:30
Léo Villeveygoux 75e8bf44be Use sigaction() instead of signal() 2020-05-29 22:48:36 +02:00
Léo Villeveygoux 3426d0d0a3 Cleanly handle SIGTERM and SIGHUP 2020-05-29 22:48:36 +02:00
Arun Prakash Jana 2232772db4
Alt+Enter: clear filter and exit filter prompt 2020-05-29 22:16:36 +05:30
Arun Prakash Jana 87bb2d7742
Remove F5 for toggle hidden (misfit) 2020-05-29 09:25:33 +05:30
Arun Prakash Jana 2599564e64
Set Escape delay to 0 2020-05-29 08:51:22 +05:30
Arun Prakash Jana dd5a936bf4
Alt+Esc to clear filter and exit filter prompt
It's a little annoying that one has to press ^L followed by Esc to go back
to the normal view. We cannot reload the directory on Esc because that will
break the filter filtered view feature. So we take this route.
2020-05-29 08:50:33 +05:30
Arun Prakash Jana 713bab21ea
Prepare for release v3.2 2020-05-26 05:38:38 +05:30
Arun Prakash Jana 38829e5610
Fix build break 2020-05-24 09:28:29 +05:30
Arun Prakash Jana 56886922a6
Select file if file path is passed 2020-05-24 03:33:39 +05:30
Arun Prakash Jana c1f88d00ff
Fix filterfn not in sync with cfg.regex 2020-05-24 01:51:59 +05:30
lvgx b1027150ed
Add -a option to generate a temporary NNN_FIFO (#588)
* Add -a option to generate a temporary NNN_FIFO

* Add documentation for -a option

* plugins/README.md: promote the use of -a

This obsoletes the global FIFO unlink trick, so I remove mentions of it.
@jarun update:

Polish -a
2020-05-23 17:40:51 +05:30
Arun Prakash Jana a4909beb44
Fix build break 2020-05-20 19:07:00 +05:30
Arun Prakash Jana 9e41c39138
Fix #582 2020-05-20 18:46:12 +05:30
lvgx 0c916ae7b0
Notify FIFO readers on exit (if any) (#581)
This allows to close preview windows opened just before exiting nnn.
2020-05-19 22:29:13 +05:30
Arun Prakash Jana b465bf9427
Fix regression from commit 2200a1c 2020-05-19 17:54:36 +05:30
Arun Prakash Jana 709b2f229e
Fix build break 2020-05-19 08:50:04 +05:30
Arun Prakash Jana 1b5c3096ca
Option -P: specify plugin key to run on start 2020-05-18 09:05:19 +05:30
Arun Prakash Jana cafcf1c485
Take to target on Right/l on symlink in list dir 2020-05-17 22:54:39 +05:30
Arun Prakash Jana 74b95eb9bd
Fix #575 2020-05-16 15:31:34 +05:30
Arun Prakash Jana 124666cb38
Fix #571 2020-05-14 12:46:37 +05:30
lvgx 2200a1c9be
Allow launching plugins with Alt + plugin's key (#569)
* Allow launching plugins with Alt + plugin's key

* Fix Alt key in filter/prompts modes

* Fix handling Alt key in nextsel()

In filter mode: run the associated plugin.
In prompt mode: just throw out the Alt+key input.
In nextsel(): differentiate Alt+key and Esc
2020-05-13 12:29:47 +05:30
Arun Prakash Jana 38e61fb864
Skip printing and erasing 2020-05-12 15:15:47 +05:30
Arun Prakash Jana 5f3faf613a
Do not leak wfd 2020-05-10 22:50:29 +05:30
Arun Prakash Jana 861d44f934
Simplify cd 2020-05-10 19:15:40 +05:30
Arun Prakash Jana cfd4a66596
Fix #565: chdir when dir is changed 2020-05-10 16:23:45 +05:30
Arun Prakash Jana 14beb0746f
Fix #564: Option -l: number of lines to move on mouse scroll 2020-05-10 11:22:02 +05:30
Arun Prakash Jana 609561494f
Remove blocking pipe open in child 2020-05-10 11:19:13 +05:30
Arun Prakash Jana f0535dbd76
Use standard exit status everywhere 2020-05-10 10:04:03 +05:30
Arun Prakash Jana 0b0166816a
Use exit status 2020-05-10 09:57:20 +05:30
Arun Prakash Jana 1f51417c63
Fix reading from pipe when running plugin 2020-05-10 00:47:02 +05:30
Arun Prakash Jana 151bbf000d
Increase pipe capacity 2020-05-09 14:55:21 +05:30
Arun Prakash Jana db3a46a197
Ignore -S when start dir is specified 2020-05-06 23:26:40 +05:30
Arun Prakash Jana 2a5f8433b8
Ignore false lint issue 2020-05-06 21:28:59 +05:30
Arun Prakash Jana ab9f560fa8
Fix no preview update when dir changed with same entry number hovered 2020-05-06 19:29:46 +05:30
Arun Prakash Jana ce06bf15d6
Fix broken dir read from pipe 2020-05-06 19:03:29 +05:30
Arun Prakash Jana 4832fc5fe1
Drop fzy support 2020-05-06 18:41:01 +05:30
Léo Villeveygoux 5b34d0dbe7 Prevent open FIFO prom leaking to subprocess
This fix previews window staying open after nnn exits, because they
inherited open FIFO (in write mode) from parent nnn process, and never
close it.
2020-05-06 01:45:21 +02:00
Arun Prakash Jana 4c18f22587
Fix double free when starting in list mode 2020-05-05 23:35:14 +05:30
0xACE 65da1c1941
Double click only works on same item (#555)
This patch disables accidental triggering of double clicking when you
are just single clicking on multiple objects fast.
2020-05-05 18:02:42 +05:30
0xACE c9f0e279af
SEL_FIRST now displays the correct message (#556)
A bit scary when you get prompted to remove a file but you wanted to
select a file.

I also made sure all strings are correctly ordered.
2020-05-05 17:49:26 +05:30
Arun Prakash Jana 6ee257920d
Fix context range check 2020-05-05 17:14:42 +05:30
lvgx 86e579799b
Add an option to print hovered files to a FIFO (#548)
* Add an option to print hovered files to a FIFO

This adds an env variable, `NNN_FIFO`, that can be set to a path that
`nnn` will open/create as a FIFO, and where every hovered file's path is
printed. This allows creating external perview/quick open plugins, ...

It can be compiled out with the make variable `O_NOFIFO`.

* Check filename ptr instead of full path (for FIFO)

* Add documentation to use NNN_FIFO in plugins

* Fix path sent to FIFO in empty dirs
2020-05-04 09:35:13 +05:30
Arun Prakash Jana b5de18c28f
Use const type 2020-05-04 07:48:51 +05:30
Arun Prakash Jana 625c8d11f4
Refactor move_cursor() 2020-05-04 06:17:38 +05:30
Arun Prakash Jana f2fd923573
Fix #550 2020-05-04 04:25:26 +05:30
Arun Prakash Jana ffc0790fba
Add is_prefix(), block empty files completely 2020-05-04 04:08:12 +05:30
Arun Prakash Jana ebb6f153b5
Context code '+' to create context smartly 2020-05-03 16:25:59 +05:30
Arun Prakash Jana 3f60a1931f
Decouple listpath and initpath 2020-05-03 15:25:19 +05:30
Arun Prakash Jana 8b764a5f7c
Show messages appropriately 2020-05-03 15:14:26 +05:30
Arun Prakash Jana eee5057da5
Plugin mimelist: support reading file list from (cmd as) plugin 2020-05-03 14:55:33 +05:30
Danh Doan e8e87f6ba2
browse: fix nnn -e (#549)
The current code will start editor if the mime doesn't start with
"text/". But, we want the opposite.

Simplify the check by using `strncmp` instead.

We may improve by writing a helper: `start_withs` in the future.

This change also cleans -Wstrict-aliasing on Ubuntu 16.04 LTS
2020-05-03 09:56:16 +05:30
Arun Prakash Jana ff568ea748
Simplify unescape() in no locale mode 2020-05-03 02:52:48 +05:30
Arun Prakash Jana f5c6f4f90b
Dim file details in detail mode 2020-05-02 19:58:10 +05:30
Arun Prakash Jana f1a9446b99
Use mem* function 2020-04-27 08:25:13 +05:30
Arun Prakash Jana e7147c1f39
Show error at source 2020-04-26 14:05:56 +05:30
Arun Prakash Jana 33fdbc2216
Fix #537 2020-04-26 13:54:12 +05:30
Arun Prakash Jana 6689870460
Fix buffer cleanup 2020-04-26 10:59:01 +05:30
Arun Prakash Jana 01392d48ad
Fix buffer cleanup 2020-04-26 02:37:16 +05:30
Arun Prakash Jana 99d21531b4
Use memrchr if available 2020-04-26 02:06:17 +05:30
Arun Prakash Jana c732de32e4
Resolve path in list mode 2020-04-25 20:52:23 +05:30
Arun Prakash Jana 06fe7d52dd
Minor refactor 2020-04-25 03:42:34 +05:30
Arun Prakash Jana f8a243ea91
Silently ignore invalid paths (documented) 2020-04-25 00:46:29 +05:30
Arun Prakash Jana d118c4cc24
Fix #532: support picker and list modes together 2020-04-25 00:46:25 +05:30
Arun Prakash Jana fffaa74a09
Fix return and show error 2020-04-24 20:30:16 +05:30
KlzXS 7b7252dd32
Fix picker and list mode conflict (#533)
* Fix picker and list mode conflict

* Comment the change
2020-04-24 20:26:09 +05:30
Arun Prakash Jana bc572df55a
NNN_SEL: custom selection file 2020-04-24 18:12:18 +05:30
Arun Prakash Jana 752bc67de0
Bookmark key get priority over session 2020-04-24 09:54:43 +05:30
Arun Prakash Jana 4b5ecbe8fc
Do a complete erase 2020-04-19 03:11:12 +05:30
Arun Prakash Jana 12df1ab083
Fix listing files directly under / 2020-04-18 15:08:23 +05:30
Arun Prakash Jana b40e12ee9f
Remove hacky single path handling 2020-04-18 13:35:57 +05:30
Arun Prakash Jana 75724f9e3b
Fix #520: minimal erasure 2020-04-18 07:18:35 +05:30
Arun Prakash Jana 645f43355e
Fix #526: persistent session 2020-04-18 04:54:07 +05:30
Todd Yamakawa c63fb28eff
Fix #523: handle NNN_PIPE (#525)
Co-authored-by: Todd Yamakawa <todd.yamakawa@arm.com>
2020-04-17 17:51:57 +05:30
Arun Prakash Jana 58ecc240ed
Save offset in key-val pairs 2020-04-17 16:53:19 +05:30
Arun Prakash Jana e92b523976 Fix #523: create NNN_PIPE early 2020-04-17 08:54:50 +05:30
Arun Prakash Jana ddaddcaf21
Experimental: guards to reduce repeat screen redraws 2020-04-16 17:45:58 +05:30
Arun Prakash Jana 37ebf8054f
Go to first file or next match 2020-04-16 03:44:07 +05:30
Arun Prakash Jana 63c177bb15
Env var NNN_LOCKER 2020-04-16 00:29:45 +05:30
Arun Prakash Jana 135172a1c6
Fix #520 2020-04-15 22:36:33 +05:30
Arun Prakash Jana 124d66dcbd
Fix build break 2020-04-15 21:05:10 +05:30
Arun Prakash Jana 425c0559a5
One-pass key-val pair parsing for bms and plugs 2020-04-15 20:43:26 +05:30
Arun Prakash Jana ac8b56ecc2
Show entry even if no permission 2020-04-15 17:52:21 +05:30
Arun Prakash Jana 588b413832
Optimized xstrlen(), xstrdup() 2020-04-15 16:18:41 +05:30
Arun Prakash Jana 30a6caf8bc
Refactor set_time_type() 2020-04-14 22:38:33 +05:30
Arun Prakash Jana e0cdbcb521
Check for file first (more in number) 2020-04-14 20:59:37 +05:30
Arun Prakash Jana 1029ff0d5b
MInor refactor 2020-04-14 09:54:42 +05:30
Arun Prakash Jana e72fa538d7 Reduce the scope of loop variables 2020-04-13 23:21:43 +05:30
lvgx a6cef2504c
Make NNN_COLORS override NO_COLORS (#515) 2020-04-13 22:21:56 +05:30
Arun Prakash Jana cd1c458c96
Fix build break 2020-04-13 21:55:11 +05:30
Arun Prakash Jana a9436cfe7b
Fix build break 2020-04-13 21:42:23 +05:30
Arun Prakash Jana c58434d078
Fix symlink to dir indicator in detail mode 2020-04-13 20:42:19 +05:30
Arun Prakash Jana 35c3497364
Use memccpy 2020-04-13 20:35:14 +05:30
Arun Prakash Jana 315132b363
Happy Birthday nnn! 🍰 2020-04-13 09:01:09 +05:30
Arun Prakash Jana f54d51c863
Change nav-as-you-type to type-to-nav 2020-04-12 22:39:14 +05:30
Arun Prakash Jana 806b91b60d
Simplified dirname() 2020-04-12 17:44:29 +05:30
Arun Prakash Jana 2b3214bd58
Simplify finding valid parent 2020-04-12 17:12:14 +05:30
Arun Prakash Jana 5e0049b6fa
Fix indent 2020-04-12 09:50:03 +05:30
Saagar Jha 3bab34e962
Opinionated xstrlcpy changes (#513)
* Unvectorize xstrlcpy

On all libcs I could find, memcpy does a better job than we can.

* Rename xstrlcpy to xstrsncpy to avoid confusion

The semantics of our xstrlcpy differed slightly from strlcpy; we return
the number of copied characters; strlcpy returns the strlen(src).
strscpy from Linux is similar except it returns the number of copied
characters sans the NUL byte, so this is named strsncpy to be different.
2020-04-12 06:05:14 +05:30
Arun Prakash Jana 2115d75ac6
Minor refactor 2020-04-11 23:48:05 +05:30
Arun Prakash Jana 0b66191dd5
Minor refactor 2020-04-11 20:23:24 +05:30
Arun Prakash Jana 36ae4b8250
Hover on dir and connect remote 2020-04-10 19:53:16 +05:30
Arun Prakash Jana b3f8e4e511
Minor reformat 2020-04-09 19:13:42 +05:30
Arun Prakash Jana 707e30a590
Show status bar info in context color 2020-04-09 16:52:36 +05:30
Arun Prakash Jana 341b1ccb00
x to extract archive 2020-04-07 21:18:24 +05:30
Arun Prakash Jana 46f17885ce
Fix #511: chew ling strings at filter prompt 2020-04-06 21:39:37 +05:30
Arun Prakash Jana cee24984bc
Fix #511 2020-04-06 21:06:39 +05:30
Arun Prakash Jana e1ed4c62c5
Fix #510 2020-04-06 19:30:16 +05:30
Arun Prakash Jana b060115a19
A nocolor msg print 2020-04-05 22:46:16 +05:30
Arun Prakash Jana 1195dc86e0
Remove redundant calls 2020-04-05 21:45:30 +05:30
Arun Prakash Jana 078d05dc7a
Fix jump on canceled duplicate 2020-04-05 14:42:32 +05:30
Arun Prakash Jana 1014d941b1
Support only NO_COLOR, revert -C to disable color 2020-04-05 13:07:18 +05:30
lvgx f14fb9c0f9
Add suport for "standard" NO_COLOR env variable (#508)
See https://no-color.org
2020-04-05 03:56:18 +02:00
Arun Prakash Jana 6d13fce698
Fix screen not cleared with drag down on narrow terms 2020-04-05 06:37:26 +05:30
Arun Prakash Jana 0c966b2178
With dimming, @ is not required for symlink to dir 2020-04-05 06:30:28 +05:30
Arun Prakash Jana 02c02c520d
Option -C to disable color 2020-04-05 05:53:46 +05:30
Arun Prakash Jana 0e3146ebd2
Status bar in context color 2020-04-04 23:39:21 +05:30
Arun Prakash Jana 38bd3c4900
(Sh)TAB should get a new context if required 2020-04-02 20:47:15 +05:30
Arun Prakash Jana a3f509ffc6
Fix #499: add fflush() as well 2020-04-01 15:16:21 +05:30
Arun Prakash Jana ef159b9985
Fix clang-tidy warnings 2020-04-01 04:21:39 +05:30
Arun Prakash Jana f8d2be504a
Remove redundant param 2020-04-01 04:21:39 +05:30
Arun Prakash Jana 91bd84cd5d
Fix #499 2020-04-01 04:21:40 +05:30
Arun Prakash Jana 47ec055651
Fix #499: broken readline prompt 2020-04-01 02:26:32 +05:30
Arun Prakash Jana c01857cddb
Fix fzcd at /, minot refactor 2020-03-31 22:26:20 +05:30
Arun Prakash Jana 2d27902ac0
Quicker re-sort 2020-03-31 03:44:52 +05:30
Arun Prakash Jana eea1b5da7d
Update docs 2020-03-31 01:59:30 +05:30
Arun Prakash Jana a4243edacc
make var O_NOBATCH to compile out native batch renamer 2020-03-30 22:09:39 +05:30
Arun Prakash Jana 54d2580799
Add fortune to help 2020-03-30 09:09:11 +05:30
Arun Prakash Jana 9fea0220c4
List mode: limit exceeded error 2020-03-29 22:35:41 +05:30
Arun Prakash Jana b8ede9895f
Use more sensible msg 2020-03-29 21:27:52 +05:30
Arun Prakash Jana 8f910fe85a
Fix build break 2020-03-29 20:32:11 +05:30
Arun Prakash Jana 3d9905615d
Fix crash 2020-03-29 20:26:31 +05:30
Arun Prakash Jana 267dc04f6c
Reduce presel usage 2020-03-29 20:22:43 +05:30
Arun Prakash Jana d2e83b2cfe
Refactor change directory 2020-03-29 17:25:11 +05:30
Arun Prakash Jana 6ea33f1db3
Remove redundant name copy 2020-03-29 15:48:10 +05:30
Arun Prakash Jana e9ff65a7b5
No re-filter on MSGWAIT 2020-03-29 14:03:11 +05:30
Arun Prakash Jana 0bfc032e5d
Do not reload 2020-03-29 10:02:21 +05:30
Arun Prakash Jana 446266d4c7
Fix build error 2020-03-29 04:24:31 +05:30
Arun Prakash Jana df1e17a4c2
Reload dir when entering filter mode 2020-03-29 04:04:57 +05:30
Arun Prakash Jana dc7711271c
Fix sorting 2020-03-29 03:19:15 +05:30
Arun Prakash Jana 8f3f64b5a6
Experimental: retain filter in normal mode 2020-03-29 01:58:07 +05:30
Arun Prakash Jana c3ff380354
Retain hovered file name in filtered view with delayed msg 2020-03-28 12:28:00 +05:30
Arun Prakash Jana b87cdcde60
Fix wrong lint report 2020-03-28 09:45:22 +05:30
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
Arun Prakash Jana 3a9def25d8
Create new files and dirs with parent (like mkdir -p) 2019-11-20 01:28:11 +05:30
Arun Prakash Jana 9729b1f5a6
Refresh dirs on disruptive chnages, update sxiv plugin to browse and rename 2019-11-19 21:01:59 +05:30
Arun Prakash Jana 97e16364bb
Readahead is not available on all platforms 2019-11-18 22:04:09 +05:30
Arun Prakash Jana 6d3f3ba6a2
Show [selmode:num_selected] in status bar 2019-11-18 21:46:38 +05:30
Arun Prakash Jana 084a4c77c5
Add key ] to show prompt 2019-11-18 20:21:00 +05:30
Arun Prakash Jana 8705cb99a3
Seek advantage of kernel readahead()
References:
1. http://man7.org/linux/man-pages/man2/posix_fadvise.2.html
2. https://www.oreilly.com/library/view/linux-system-programming/9781449341527/ch04.html
2019-11-18 19:54:14 +05:30
Arun Prakash Jana 0ef9ec196e
Use boxes to show number of selected files. 2019-11-18 19:34:03 +05:30
Arun Prakash Jana 3004694cd4 Update man page on executing commands directly.
Remove extra static string.
2019-11-18 18:57:04 +05:30
Arun Prakash Jana 4ee9e2d129
Add key ; to execute plugin 2019-11-18 00:30:00 +05:30
Arun Prakash Jana 4f787fd59e
Fix line count when editing selection 2019-11-17 20:26:01 +05:30
Arun Prakash Jana 0f5f04d087 Revert "Fix #384: support busybox xargs"
This reverts commit 407b690404.
2019-11-17 19:17:39 +05:30
Arun Prakash Jana 407b690404
Fix #384: support busybox xargs 2019-11-17 17:45:22 +05:30
Arun Prakash Jana 6693bf8f13
Fixes the following workflow:
- press pick plugin key
- navigate away from the plugin directory (to ~, say)
- try to open any file, fails

When we are in run plugin mode, but detect we are in a different
context or a non-plugin directory, just cancel the runplgin mode
and continue as usual.

It also cleans up the plugin run function.
2019-11-17 10:05:23 +05:30
Arun Prakash Jana 05c84f7b80
Clear prompt after running a command. 2019-11-17 05:36:39 +05:30
Arun Prakash Jana e3aed0f658
Update help 2019-11-17 05:30:14 +05:30
Arun Prakash Jana 61048258a7
Do not reload for help, edit and page if in selection mode 2019-11-17 04:49:50 +05:30
Arun Prakash Jana efa9a6727d
Change the key to size sort to z 2019-11-17 04:11:27 +05:30
Arun Prakash Jana 37bf6b1010
Redraw in non-filter mode after hovered file deletion 2019-11-16 21:46:15 +05:30
Arun Prakash Jana 88698b372b
Edit also flushes selection 2019-11-16 20:39:05 +05:30
Arun Prakash Jana 4c863d9b7b
Do not check for events when selecting files 2019-11-16 20:10:03 +05:30
Arun Prakash Jana c7b037d6a1
Use small letters 2019-11-16 14:06:38 +05:30
Arun Prakash Jana 2b4bd35ba6
Simplify running commands 2019-11-16 07:20:18 +05:30
Arun Prakash Jana f31fa09f56 Fix issue with running plugin when help screen is shown 2019-11-15 22:36:57 +05:30
Arun Prakash Jana 950a8f6a65
Fix #381 2019-11-15 21:55:18 +05:30
Arun Prakash Jana 3c28d1f1d7
Refactor plugin handling 2019-11-14 02:55:05 +05:30
Arun Prakash Jana fa4c37f230
Fix segfault 2019-11-11 21:43:56 +05:30
Arun Prakash Jana 12f108cac9
Fix fzcd not working from other contexts 2019-11-09 02:52:44 +05:30
Arun Prakash Jana 53a2e4c560
Incorporate PR #368 2019-11-08 19:15:53 +05:30
Arun Prakash Jana 9272c90f93
Removal of current dir can be a pain without force 2019-11-05 22:05:49 +05:30
Arun Prakash Jana 8a7d2bd1ed
Clear buffer for no locale compilation 2019-11-05 20:03:12 +05:30
Arun Prakash Jana 94e4dc51ba
Make bulk delete more verbose 2019-11-05 19:52:07 +05:30
Arun Prakash Jana 6713bfba13
Fix #373 2019-11-02 21:50:26 +05:30
Arun Prakash Jana 169c2141f6
Print improvements 2019-11-02 07:51:45 +05:30
Arun Prakash Jana 5c336fb7da
Fix build break 2019-11-01 16:19:34 +05:30
Arun Prakash Jana ef8db1fd45
Show size of file in bytes in status bar in du mode 2019-11-01 15:28:13 +05:30
Arun Prakash Jana 7416bb8503
Print version in debug output 2019-11-01 02:34:06 +05:30
Arun Prakash Jana 6eeab1af9f
Use macro for 512B sector size 2019-10-30 22:43:22 +05:30
Arun Prakash Jana a97e3ed5c4
Fix opening files from browser 2019-10-30 20:17:31 +05:30
Arun Prakash Jana b987931f47
Do not pass path to commands 2019-10-24 20:25:07 +05:30
Arun Prakash Jana 5bebd4ac67
Extend plugin mechanism to arbitrary commands 2019-10-24 12:44:01 +05:30
Arun Prakash Jana cb916661c8
Minor reformat 2019-10-24 11:53:34 +05:30
Arun Prakash Jana 5734f49126
Fix KEY_RESIZE loop 2019-10-24 08:47:45 +05:30
Arun Prakash Jana 3dd95fd9a8
Fix checkpatch warnings 2019-10-24 08:44:36 +05:30
Anna Arad 9afd7cf3bf Implement plugins control of nnn + plugins (#364)
* Implement plugins control of nnn + plugins

* Refactor plugins control code and fix getplugs to recognize hidden files

* Fix bug when going to dir on non-current context from plugin

* Fix some plugins to work on openbsd and freebsd

* Renamings

* Switch to -R flag in cp instead of -r; BSDs complain

* Change braces of function location

* Rewrite plugin creation in README and add new plugins to the table

* Update the fzcd script to include fzy or fzf

* Change plugin name resolve-link-dir -> lncd

* Fixing plugins README table

* Remove some cd plugins but add them as examples to plugins README
2019-10-23 15:34:12 +05:30
Arun Prakash Jana 0144f44060
Remove special characters from help 2019-10-21 20:13:52 +05:30
Arun Prakash Jana 3966465171
Change spaces to tab 2019-10-21 06:55:19 +05:30
Arun Prakash Jana 651b27032d
Fix #366 2019-10-20 19:37:35 +05:30
Arun Prakash Jana f601d825bc
Refactor fixes 2019-10-20 19:19:25 +05:30
Arun Prakash Jana 71bf18cee3
Refactor 2019-10-20 05:35:41 +05:30
Arun Prakash Jana 1b3b9f503d
Refactor cp, mv, cp-mv as, rm 2019-10-19 13:25:50 +05:30
Arun Prakash Jana 95e9151c90
Refactor screen move 2019-10-19 09:10:52 +05:30
Arun Prakash Jana 864273dd9b
Refactor current directory removal 2019-10-19 08:43:32 +05:30
Arun Prakash Jana ae7a3fbdc1
Clean up plugin handling code 2019-10-19 07:00:04 +05:30
Arun Prakash Jana 3aebeaec58
Update docs on session 2019-10-19 04:03:46 +05:30
Anna Arad 60dac94a5e Implementing sessions support (#360)
* Initial commit of sessions implementation

* Reduce code duplication

* Move load session to program flag -e

* Fix context initialization problem when loading session

* Add pinned directory to session and reduce session file size

* Make load_session print an error if exists and few minor adjustments

* Refactor session's file structure

* Initialize required structures in load_session before loading

* Add load session dynamically, restore last session, and extra fixes

* Fix indentation

* Add sessions documentation to man page

* Update fish completions with sessions and make some improvements

* Move to single keybinding session management and add help info

* ESC when asked to insert session name behaves better

* Add sessions completion for bash

* Remove pinned dir from session and minor code refactors
2019-10-19 03:41:39 +05:30
Arun Prakash Jana 2da5602a4f
Use a single keybind for cp/mv as 2019-10-17 23:35:49 +05:30
Arun Prakash Jana 522626a88d
Combine related cases together 2019-10-16 08:29:49 +05:30
Sijmen J. Mulder 3953639c5d Fix build (and more) on SmartOS (#363)
* Define _XOPEN_SOURCE_EXTENDED on SmartOS

Enables wide ncurses.

* SmartOS has alloca() in alloca.h

* SmartOS does not have sig_t

* dprintf() is not available on SmartOS

So replace its usage with fprintf.

* SmartOS has no d_type

* SmartOS has no CLOCK_MONOTONIC_RAW

* SmartOS has no O_DIRECTORY

* Work around SmartOS not having mime detection

* Missing comma
2019-10-16 07:07:45 +05:30
Sijmen J. Mulder 98042ad7d0 Fix strftime() buffer overflow (#362)
If the formatted string is longer than 17 characters the string won't
be null terminated, causing gibberish to be printed on the status line
and possibly worse.

This occurs with my current locale in which a date is printed as such:

  2019-okt.-15 19:26

Which is 18 characters.
2019-10-16 07:01:19 +05:30
Arun Prakash Jana 43c636d95c
Simplify functions 2019-10-15 06:15:32 +05:30
Arun Prakash Jana 269b80dbb2
Minor reformat 2019-10-15 05:56:34 +05:30
Arun Prakash Jana 29a934a1d2
Improve readibility 2019-10-15 04:17:12 +05:30
Arun Prakash Jana 8ac4a834ad
Minor refactor 2019-10-15 03:47:57 +05:30
Arun Prakash Jana 9469479c0a
Add function to count newlines in file 2019-10-14 22:49:24 +05:30
Arun Prakash Jana ff562983e1
Fix build break on macOS 2019-10-14 22:08:07 +05:30
KlzXS b9d183db26 Added copy/move-as (copy/move and rename) (#356)
* Added copy/move-as (copy/move and rename)

* Little refactorings

* Also handle selection file for cpmv_rename()
2019-10-14 22:06:45 +05:30
Arun Prakash Jana 04cba31128
Use a macro for readability 2019-10-14 17:58:16 +05:30
0xACE 2ac22cfc9f Mouseclicks are no longer delayed (#353)
This patch changes the mouseinterval to 0. And handles detection of
doubleclicking events internally.

This allows much faster response times for mouse clicks as nnn no longer
has to wait for ncurses to confirm what type of click it was.

It introduces a new config setting for changing how many milliseconds it
may take for a double click to be registered.
2019-10-14 17:55:04 +05:30
0xACE ab0fe6c408 unmount() ask for target if not found (#358)
* unmount() ask for target if not found

unmount() now properly asks for which target to unmount if it cannot
automatically deduce which folder to unmount.

* no more automatic unmounts outside of cfgdir
2019-10-13 20:53:32 +05:30
Anna Arad 06ff2c55da Remove -Wno-unused-parameter and do cleanup (#357) 2019-10-13 19:10:06 +05:30
Arun Prakash Jana 087380968d
Pass path as second argument 2019-10-13 17:28:02 +05:30
Arun Prakash Jana e371182a5b
Optional fortune quotes in help/config page 2019-10-12 23:04:34 +05:30
Arun Prakash Jana fef8f041d2
Fix build break 2019-10-12 08:44:58 +05:30
Arun Prakash Jana 19df7777db
Mount archives using archivemount 2019-10-12 02:13:08 +05:30
Arun Prakash Jana c54f50cf4f
Remove unused param 2019-10-12 00:26:34 +05:30
Arun Prakash Jana d1d491c102
Fix #350: cd on quit if NNN_TMPFILE is set 2019-10-11 23:19:25 +05:30
Arun Prakash Jana 45c8730d2c
Fix build break 2019-10-11 21:19:51 +05:30
Arun Prakash Jana fe80d5aa9d
Update key collision detection 2019-10-11 20:59:22 +05:30
Anna Arad ab8e3e445e Implement a basic keybinding collision checker. (ToDo list #337) (#348) 2019-10-11 19:41:56 +05:30
Arun Prakash Jana a7d224f1e5
Fix #351: reduce prompt length for new file/dir 2019-10-11 18:38:06 +05:30
Arun Prakash Jana b42efcbb1f
Document edit selection 2019-10-10 19:26:08 +05:30
KlzXS b7c2ce741a Implemented edit selection buffer (#345)
* Implemented edit selection buffer

* Added checks and changed keybind

* Forgot check and style fixes

* Don't work late at night again

You forget things when you're tired
2019-10-10 18:37:16 +05:30
Arun Prakash Jana 4f6f1a59d3
Fix #338: export current file as $NNN 2019-10-07 16:32:00 +05:30
Arun Prakash Jana 048c5195c3
Prepare for release v2.7 2019-10-06 20:19:22 +05:30
Arun Prakash Jana 914e180287
Update help 2019-10-05 07:23:25 +05:30
Arun Prakash Jana baac461b33
Limit imput length at readline prompt 2019-10-05 07:17:01 +05:30
Arun Prakash Jana 2f4144b0bd
Key ^N replaces ^T to toggle nav mode 2019-10-05 07:06:32 +05:30
Arun Prakash Jana 14c355bacf
Add keys: Shift+TAB, ' 2019-10-05 06:59:43 +05:30
Arun Prakash Jana 402f5651a1
Use type that fits length 2019-10-04 20:34:37 +05:30
Arun Prakash Jana 8b9f96e645
Remove redundant alignment requirement 2019-10-04 08:10:35 +05:30
Arun Prakash Jana 133f55170b
Target nolocale: saves more on memory 2019-10-04 08:10:31 +05:30
Arun Prakash Jana d493f78dea
Track up to 8 events 2019-10-03 21:15:11 +05:30
Arun Prakash Jana 3489c87b98
Remove weak check for CLI detection 2019-10-03 18:14:51 +05:30
Arun Prakash Jana f4ec874b79
Fix 2019-10-03 03:44:54 +05:30
Arun Prakash Jana 9f68e74289 Revert "Fix #334: Detect session type"
This reverts commit e226e8c889.
2019-10-03 03:33:15 +05:30
Arun Prakash Jana e226e8c889
Fix #334: Detect session type 2019-10-03 02:38:26 +05:30
Arun Prakash Jana a9f60d0353
Block range selection only when dir chanegs 2019-10-02 23:57:26 +05:30
Arun Prakash Jana 5f4046b63d
Fix #334 2019-10-02 23:04:56 +05:30
Arun Prakash Jana 67c33a5e80
Code refactor 2019-10-02 22:34:11 +05:30
Arun Prakash Jana 757a783d49
^S is used by stty, use ^K 2019-10-02 12:14:38 +05:30
Arun Prakash Jana afdec4a573
Fix crc8 match on range selection 2019-10-01 02:55:40 +05:30
Arun Prakash Jana 951d43eb77
Clear selection file on clear selection 2019-09-30 23:02:44 +05:30
Arun Prakash Jana 025c7f0a48
Remove selmode indicator 2019-09-30 22:23:54 +05:30
Arun Prakash Jana 57d9edfed3
Get rid of selection mode. Plus associated changes.
- distinct keybinds for single entry, range or all selection
- selecting a file/range/all files would turn selection mode on
- single file/range or all selection appends to selection
- any operation (cp, mv, rm, plugin/file execution, cmd prompt, launch app, spawn
  shell) on selection ends the selection mode
- selection buffer is cleared after mv, rm on selection
- repeat range selection on same file clears selection and exits seleciton mode
- basic check (won't work on dir reload) added to avoid duplicates in selection
2019-09-30 21:35:52 +05:30
Arun Prakash Jana 7cae5dfe44
Shortcut to list selection y is now M 2019-09-30 18:54:27 +05:30
Arun Prakash Jana 62a0932976
Update docs on new selection shortcuts 2019-09-30 08:53:34 +05:30
Arun Prakash Jana 6ba1e48e62
End multi selection mode before link 2019-09-30 07:41:34 +05:30
Arun Prakash Jana 9d23517d10
key ^Y is now ^S, key ^K is now ^J, kwy ' is now m 2019-09-30 06:54:06 +05:30
Arun Prakash Jana 318ddd2ca6
Remove shortcut Leadq to quit context 2019-09-30 06:35:16 +05:30
Arun Prakash Jana b340ecc257
Do not clear buffer on selection end 2019-09-29 23:06:27 +05:30
Arun Prakash Jana 17de5bfc27
Use better keys for selection mode 2019-09-29 22:59:27 +05:30
Arun Prakash Jana b046157b61
End selection mode when an operation is run 2019-09-29 21:44:47 +05:30
Arun Prakash Jana 1d5f1bf653
Rename selection related tokens 2019-09-29 11:27:42 +05:30
Arun Prakash Jana 3309736060
Show Z for size sort 2019-09-29 10:44:53 +05:30
Arun Prakash Jana 2446d7c68c
Update help screen 2019-09-28 22:15:49 +05:30
Arun Prakash Jana a7b61f79c4
Shorten option list 2019-09-28 20:04:24 +05:30
Arun Prakash Jana e80b9b3c6a
Export current entry name as NN
The current file or dir name is exported in env var NN before running a cmd at
the command prompt or spawning a shell.

Export current file name as NCUR
2019-09-28 16:33:22 +05:30
Arun Prakash Jana 85b5d33fa4
Do not reload dir after running plugin 2019-09-26 21:45:08 +05:30
Arun Prakash Jana d7ce06b10b
Add plugin to take quick notes 2019-09-26 19:56:43 +05:30
Arun Prakash Jana b0c0cc72c4
Use uniform separator 2019-09-26 08:22:53 +05:30
Arun Prakash Jana 52b413adae
Fix lint error 2019-09-26 06:24:11 +05:30
Arun Prakash Jana 1ca1705219
Set num files selected in single select mode 2019-09-21 12:03:19 +05:30
Arun Prakash Jana 7335deb022
du status line change 2019-09-20 08:35:37 +05:30
Arun Prakash Jana 7ec54342ae
Remove redundant newline 2019-09-19 21:58:34 +05:30
Arun Prakash Jana 99840a6fa3
Show file size in status bar 2019-09-16 02:03:16 +05:30
Arun Prakash Jana 6bb6671118
Update help 2019-09-16 01:33:41 +05:30
Arun Prakash Jana 4a0e3570fe
Remove redundant spaces 2019-09-16 01:33:41 +05:30
Arun Prakash Jana 7c8df20bea
Key : to run plugin 2019-09-16 01:33:41 +05:30
Arun Prakash Jana 2f0dc405b8
No filename in status bar in du mode, coding style fixes 2019-09-15 21:39:39 +05:30
Arun Prakash Jana 6c39d87cdf
Key > to run plugin 2019-09-15 19:11:10 +05:30
Arun Prakash Jana e68e8ad8a5
Show directory size 2019-09-15 18:25:11 +05:30
Arun Prakash Jana 6feaecafe2
An extra column when no indicator 2019-09-15 18:14:56 +05:30
Arun Prakash Jana 9afe09b4b5
Uniform status bar for light and detail modes 2019-09-15 05:35:58 +05:30
Arun Prakash Jana 5936d3f110
Disable du on detail mode switch 2019-09-15 04:56:54 +05:30
Arun Prakash Jana b2199db194
Code refactor 2019-09-15 04:23:12 +05:30
Arun Prakash Jana 2a74640fc6
Status bar: show time and perms in light mode 2019-09-15 04:13:26 +05:30
Arun Prakash Jana a07c542870
Retain filter after running command 2019-09-15 01:37:39 +05:30
Arun Prakash Jana 2820991383
Show extn for regular files 2019-09-12 22:15:25 +05:30
Arun Prakash Jana e4c14ee13c
Shortcut mapping: S for du, A for apparent du 2019-09-12 08:30:12 +05:30
Arun Prakash Jana 684a90a0fb
Batch rename: prompt if selection exists 2019-09-11 19:53:20 +05:30
Arun Prakash Jana c3ce5bc705
Preserve attributes on duplicate, update docs 2019-09-11 18:28:41 +05:30
Arun Prakash Jana bb5ef221b3
Run a command at filter prompt
This is a conveninece for nav-as-you-type mode.
With this program option, on pressing ^P, the filter is  executed as cmd.
2019-09-11 14:54:23 +05:30
Arun Prakash Jana ccf20f830b
Replace printw() with addstr()/addch() 2019-09-11 01:34:18 +05:30
Arun Prakash Jana 8d283886b0
10 chars are printed in for contexts 2019-09-11 00:12:25 +05:30
Arun Prakash Jana d33f469296
Remove redundant variable 2019-09-10 20:26:08 +05:30
Arun Prakash Jana a064818acf
Fold only long paths 2019-09-09 23:41:45 +05:30
Arun Prakash Jana 7621078d52
Show path in short form 2019-09-08 15:28:31 +05:30
Arun Prakash Jana 84119b1238
Prefer selection to copy in names 2019-09-08 14:23:00 +05:30
Arun Prakash Jana 9988d254fe
Fix xitoa() 2019-09-08 14:05:02 +05:30
Arun Prakash Jana 1baf284369
Show selection mode and number of selected files 2019-09-08 12:39:39 +05:30
Arun Prakash Jana bde0f5c354
Fix help alignment 2019-09-05 19:42:59 +05:30
Arun Prakash Jana d55d1ad810
Simplify numeric value check 2019-09-01 11:53:17 +05:30
Arun Prakash Jana cabef475ab
Fix SEL_CYCLE (tab) 2019-08-31 23:19:04 +05:30
Arun Prakash Jana ec873ab4fa
Option -a to use file access time 2019-08-30 21:00:47 +05:30
Arun Prakash Jana 94c3af873c
Implement mediainfo as a plugin 2019-08-28 00:02:33 +05:30
Arun Prakash Jana f781fbe78c
Set mode to detail for option -S 2019-08-25 21:15:17 +05:30
Arun Prakash Jana ea81e2e569
Add F12 as run plugin key:wq 2019-08-25 19:48:08 +05:30
Arun Prakash Jana 2c90999381
Lead followed by . to show hidden files 2019-08-25 06:05:10 +05:30
Arun Prakash Jana 871685f7ca
New keys: F2 (rename) F5 (redraw) 2019-08-25 05:36:28 +05:30
Arun Prakash Jana eb3a9ad2ee
Restore mousemask before exit 2019-08-24 19:44:49 +05:30
Arun Prakash Jana 611eaa51c8
Use canonical replstr 2019-08-23 22:08:29 +05:30
Arun Prakash Jana a4d8d68c7d
Option -r to show cp, mv progress on Linux 2019-08-23 20:28:56 +05:30
Arun Prakash Jana 979fadcc7e
Change history file path.
The new path is ${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.history
2019-08-23 19:10:48 +05:30
Arun Prakash Jana 0fbd68ab48
Use lighter function to print character 2019-08-23 08:30:44 +05:30
Arun Prakash Jana 505bf0574e
Avoid double conversion in light mode 2019-08-20 21:55:54 +05:30
Arun Prakash Jana f4f1acf856
Remove wild load option 2019-08-20 20:00:48 +05:30
KlZX 80c2c469da
Fix 100% CPU usage if STDIN closes 2019-08-19 22:10:08 +05:30
Arun Prakash Jana f378743c49
Keep name unchanged at rename to duplicate 2019-08-19 20:00:01 +05:30
Arun Prakash Jana e9f7b6aa6c
Option -t replaces NNN_NO_AUTOSELECT 2019-08-17 00:07:38 +05:30
Arun Prakash Jana ac815c692a
Option -o replaces NNN_RESTRICT_NAV_OPEN 2019-08-16 23:40:43 +05:30
Arun Prakash Jana 1294a9caf5
Revert rename cp mv progress 2019-08-16 22:22:45 +05:30
Arun Prakash Jana db83e95a37
Symlinks to dirs are recognized by color 2019-08-16 20:03:58 +05:30
Arun Prakash Jana 9927849222
Update docs 2019-08-16 18:56:26 +05:30
KlZX 7e47cd729b Reverted 'batch_rename' to pre-'awk' but with 'sed' 2019-08-15 15:24:03 +02:00
Arun Prakash Jana 5c591422dc
Revert "Replaced 'sed' with 'awk'"
This reverts commit 1027cd0cf2.
2019-08-14 21:58:22 +05:30
Arun Prakash Jana 02b3273233
Use key-plugin pairs for running plugins 2019-08-14 21:58:18 +05:30
Arun Prakash Jana 7b59a7dba9
Rename cp mv progress conf 2019-08-14 19:10:41 +05:30
Arun Prakash Jana 775742150c
Custom keybinds to run plugins directly 2019-08-14 01:38:30 +05:30
Arun Prakash Jana 5ea8dee428
List symlink with target missing 2019-08-13 04:22:34 +05:30