Commit graph

1863 commits

Author SHA1 Message Date
Arun Prakash Jana 87380732dc
make option O_MATCHFLTR to disable filters without match 2021-08-05 22:15:02 +05:30
Arun Prakash Jana b54f771a44
Fix #1117: Revert "Ignore filter key if no results"
This reverts commit 3ef50f06f8.
2021-07-29 03:34:06 +05:30
Arun Prakash Jana 88e38f1efc
Eliminate redundant stat() 2021-07-27 23:04:23 +05:30
Arun Prakash Jana 6ba0a8357f
redraw() is heavy and distracting 2021-07-26 06:19:56 +05:30
Arun Prakash Jana 8cebc69e71
Fix build break 2021-07-25 07:20:43 +05:30
Arun Prakash Jana f6856f61f7
Allow specifying output file in NNN_TMPFILE for cd on quit 2021-07-25 07:03:09 +05:30
Arun Prakash Jana f1dbb9622d Open controlling terminal only as stdin 2021-07-24 22:22:17 +05:30
Arun Prakash Jana d80fdf335b
Check if file is already selected before appending in picker mode 2021-07-24 01:51:20 +05:30
Arun Prakash Jana e2545f9596
Truncate output file before writing in picker mode 2021-07-24 01:25:28 +05:30
Arun Prakash Jana 25fab4cb2e
Open controlling terminal for input when run in a script 2021-07-23 23:46:20 +05:30
Arun Prakash Jana bc5b39d54c
Prepare for release v4.2 Mojito 2021-07-21 17:45:39 +05:30
Arun Prakash Jana 3f07a8ca76
Press TAB to insert current file name at prompt 2021-07-21 11:24:46 +05:30
Arun Prakash Jana 7b31a356d2
Minor update 2021-07-20 23:31:40 +05:30
Arun Prakash Jana 9972c4bdb0
Fix #1110: sanitize path from plugin 2021-07-19 03:57:53 +05:30
Arun Prakash Jana c470143113
Clear filter early before running plugin 2021-07-19 01:52:44 +05:30
Arun Prakash Jana 3b5800fc7a
Selection-specific scratch buffer 2021-07-18 11:45:50 +05:30
Arun Prakash Jana 29a7a25445
Free allocated memory 2021-07-18 02:51:09 +05:30
Arun Prakash Jana 1e182a1fe5
Remember the last command executed at prompt 2021-07-17 16:30:45 +05:30
Arun Prakash Jana f7aa4ed324
Add macro for prompt 2021-07-17 13:09:33 +05:30
Arun Prakash Jana 0ef34a930c
Use a simpler macro 2021-07-17 13:05:37 +05:30
Arun Prakash Jana 07b627a725
Fix unused variable warning 2021-07-17 04:46:35 +05:30
Arun Prakash Jana a911b3044a
Code reformat 2021-07-16 21:19:17 +05:30
Arun Prakash Jana 26f44f0dfc
Fix selection in / 2021-07-16 11:09:20 +05:30
Arun Prakash Jana fa0f9ddc93
Remove from selection when hovered entry is deleted 2021-07-16 04:44:01 +05:30
Arun Prakash Jana 3ef50f06f8
Ignore filter key if no results 2021-07-16 02:22:01 +05:30
Arun Prakash Jana d40dbfd69a
Do not apply filter if directory is empty 2021-07-16 01:54:15 +05:30
Arun Prakash Jana 8af773eb0d
Allocate PATH_MAX aligned memory size 2021-07-16 01:19:09 +05:30
Arun Prakash Jana 8ad807d4a9
Optimize repeat copy of same prefix 2021-07-15 23:43:07 +05:30
Arun Prakash Jana 4ec87e3021
Optimize bulk selection 2021-07-15 21:21:54 +05:30
Arun Prakash Jana 0159c08602
Invert optimization: allocate in a go 2021-07-15 18:59:00 +05:30
Arun Prakash Jana 064f5ea998
Show msg for both invert and select all 2021-07-15 11:45:32 +05:30
Arun Prakash Jana 9526fb7612
Optimize invert further 2021-07-15 02:06:11 +05:30
Arun Prakash Jana 61d8a29d84
In-place invert optimization 2021-07-14 21:04:02 +05:30
Arun Prakash Jana b3ef30a8ba
Update add to and invert selection logic 2021-07-13 21:46:18 +05:30
Arun Prakash Jana 96f2dfa8a5
Scan for selection status on redraw() 2021-07-13 01:30:23 +05:30
Arun Prakash Jana 60f310160a
Remove redundant macro 2021-07-12 02:54:00 +05:30
Arun Prakash Jana baca4693ec
Remove redundant prompt 2021-07-12 01:22:39 +05:30
KlzXS b5d1a1b036
Use selbufpos instead of selbuflen 2021-07-11 20:16:28 +02:00
KlzXS c0dceb18c6
Persistent selection (#1086)
* Add persistsel

* Fix Makefile spacing

* Update Haiku Makefile

* Do a double pass on inversion

* Split single and double pass for easier testing

Removed lastappendpos

Eliminate suffix matches

* Check if dir is in selection before searching for files

Fix double pass

* Switch to mainline

Optimize memory moving

Handle large selection in invertsel()

Going forward with 2pass

* Update Makefiles

* Fix style

* Move forward declarations

* Remove edit selection in inversion

Replace buf with g_buf to fix CI

Fix CI

* Style changes

* Comment the code

* Style fixes

* Fix infinite loop

* Fix crash on empty invert

* Fix off-by-one-in-two-places

Off-by-twice?

* Adopt changes from master

* Only check directory if entry in it is selected

* Better organization

* Wrong variable

* Tiny optimizations

* Style fixes and updated man page

* Update man page

* Remember where we found directory path in selection

Add in progress message on invert
2021-07-10 07:30:02 +05:30
Arun Prakash Jana d9db6b045c
Fix #1102: suppress clang unused variable warnings 2021-07-10 02:08:48 +05:30
Arun Prakash Jana 5f5ee10e94
Fix #1101: confirm trashing files 2021-07-09 21:00:46 +05:30
Arun Prakash Jana facdc5fdeb
Fix #1098: clear selmode on last deselect 2021-07-06 23:25:49 +05:30
Luuk van Baal 36ddbac10a Move ajust cols and no else braces 2021-07-03 00:50:51 +02:00
Arun Prakash Jana d4a4c72e00
Fix off_t to uint_t comparison warning
The man page says:

"blkcnt_t and off_t shall be signed integer types."

https://man7.org/linux/man-pages/man0/sys_types.h.0p.html
2021-07-02 20:34:02 +05:30
Piña Colada ce8b9fdb2f
Merge pull request #1088 from 1bman/1bman-patch-1
fix icons.h typo
2021-06-30 19:51:50 +05:30
1bman 99bd80137d
fix icons.h typo
fixed some typo
2021-06-30 14:25:01 +05:30
KlzXS c39e54b288
Fix debug line number 2021-06-29 19:49:59 +02:00
Arun Prakash Jana 1729a10ef4
Try to unmount hovered local dir 2021-06-28 00:16:32 +05:30
Arun Prakash Jana 96fb61a6a2
Reformat help 2021-06-27 21:26:37 +05:30
Arun Prakash Jana 04a806dc09
Reformat help 2021-06-27 20:53:13 +05:30
Arun Prakash Jana d1df9343c6
Remove redundant param 2021-06-23 23:42:10 +05:30
Arun Prakash Jana e7f73d95ce
Fix memory leak 2021-06-22 20:51:23 +05:30
Arun Prakash Jana eae60c3048
Simplify mkpath() 2021-06-22 20:27:07 +05:30
Arun Prakash Jana 7ce5bbcdf7
Break long macros 2021-06-20 22:16:09 +05:30
Arun Prakash Jana 94c399e2cf
One notify FIFO mode at a time 2021-06-20 21:42:44 +05:30
Arun Prakash Jana 983babc5f6
Improve alignment 2021-06-20 20:48:06 +05:30
Arun Prakash Jana c597f3be9b
Add range check 2021-06-20 19:20:10 +05:30
Arun Prakash Jana 0e8819fea8
Fix alignments 2021-06-20 15:45:03 +05:30
Arun Prakash Jana 556941c2b2
Alphabetically order internal states 2021-06-20 14:23:13 +05:30
Arun Prakash Jana 4f297fa147
Shared previewer and explorer 2021-06-20 13:58:33 +05:30
Arun Prakash Jana 9f86015c16
Print version to stdout 2021-06-20 10:25:40 +05:30
Arun Prakash Jana c0ed6d1d04
Fix compilation error when FIFO is disabled 2021-06-19 21:04:21 +05:30
Arun Prakash Jana b626cfa00f
Use macro in all places 2021-06-19 20:36:16 +05:30
Arun Prakash Jana 3e91c2c977
Use easily identifiable type 2021-06-19 18:39:35 +05:30
Arun Prakash Jana 8f3785f2e5
Restore statusbar after unmounting remote/archive 2021-06-19 17:23:28 +05:30
Arun Prakash Jana d5359f0455
Fix created archive not highlighted 2021-06-19 15:16:24 +05:30
Arun Prakash Jana 17bb0cfb52
Default to CWD for atool 2021-06-19 14:31:04 +05:30
Arun Prakash Jana e8f0c53287
Do not open current dir in nez context when extracting archive 2021-06-19 13:00:50 +05:30
Arun Prakash Jana 96cbb4ff84
Fix #1076: show file name in archive extract prompt 2021-06-19 11:21:42 +05:30
Arun Prakash Jana 35aa864554
Fix returns 2021-06-19 01:48:14 +05:30
Arun Prakash Jana 825effb264
Fix broken window due to double spawn 2021-06-18 20:44:44 +05:30
Michael Lan b2e7f7794c
Refactor fifo code and add explorer (#1075)
* Refactor fifo code and add explorer

* add explorer option and flag

* notify explorer fifo on selection

* close explorer fifo file descriptor

* Try to create explorer fifo if doesn't exist

This doesn't quite work

* Allow uncreated fifos

* delete persistence fifo on cleanup

with correct formatting

Co-authored-by: luukvbaal <31730729+luukvbaal@users.noreply.github.com>

* Work correctly with NOFIFO

* Refactor variable names

* fix

* Use -X flag for explorer mode

* Update manpage with explorer mode

Co-authored-by: luukvbaal <31730729+luukvbaal@users.noreply.github.com>
2021-06-18 05:38:28 +05:30
Arun Prakash Jana 640a56e1cc
sigwinch test 2021-06-18 04:36:28 +05:30
Arun Prakash Jana 239c7e7970 Revert "Remove redundant old state handlers"
This reverts commit 1590103ab7.
2021-06-17 00:31:26 +05:30
Arun Prakash Jana 1590103ab7
Remove redundant old state handlers 2021-06-16 00:17:01 +05:30
Arun Prakash Jana 3db1dfd17f
Get rid of file stream functions 2021-06-15 20:52:59 +05:30
Arun Prakash Jana 0884ad4af9
Code reformat, use basic IO functions 2021-06-15 20:18:19 +05:30
Arun Prakash Jana 745a30ccb5
Use raw functions instead of file functions 2021-06-15 15:28:53 +05:30
Arun Prakash Jana a007fe8493
Fix #1072: use internal tmp file to page output 2021-06-15 14:38:08 +05:30
Arun Prakash Jana 4c66a8c0c3
Remove redundant newline 2021-06-14 22:12:55 +05:30
Arun Prakash Jana 3834d75d77
Extract archive to, mount remove/archive in smart context 2021-06-14 00:16:49 +05:30
Arun Prakash Jana e256353fbf
Support archive "extract to..." 2021-06-13 14:38:37 +05:30
Arun Prakash Jana 06c5b17c02
Config NNN_HELP to show output of a program on top of help page 2021-06-13 01:22:36 +05:30
Arun Prakash Jana f4f6919c02
Fix #1067: handle SIGWINCH the ncurses way
Ref: https://invisible-island.net/ncurses/ncurses-intro.html#xterm
2021-06-13 00:16:43 +05:30
Anna Arad 4f977ff269
Add force-tty capability to spawn and set pagers to it (#1070)
Co-authored-by: Anna Arad <annagram@shards.me>
2021-06-12 23:02:48 +05:30
Arun Prakash Jana 0dd76e7aec
Drop unreliable popen() call [e.g. fails if filename has "] 2021-06-12 22:44:15 +05:30
Arun Prakash Jana 69926a8eff
Simplify show_stats() 2021-06-12 21:33:26 +05:30
Arun Prakash Jana 9a124ae935
Initialize local array to NULL 2021-06-12 19:41:34 +05:30
Arun Prakash Jana 145ca91df2
Attempt to fix #1067: hook into ncurses to resize on KEY_RESIZE 2021-06-12 16:59:19 +05:30
Arun Prakash Jana e537c22281
Use standard descriptor names 2021-06-11 23:35:57 +05:30
Arun Prakash Jana cbbac4728b
Checkpatch fixes 2021-06-10 00:31:17 +05:30
Arun Prakash Jana 54b2eb51d5
Use static global 2021-06-08 20:50:09 +05:30
Arun Prakash Jana 15eed29227
NNN_PLUG: use | to page run-and-exit cmd output 2021-06-06 21:51:30 +05:30
Arun Prakash Jana f24b82a750
NNN_PLUG: use & as run-gui-cmd-as-plugin symbol (earlier |) 2021-06-06 18:48:14 +05:30
Arun Prakash Jana 9de941306c
NNN_PLUG: use ! as run-cmd-as-plugin symbol (earlier _) 2021-06-06 18:37:49 +05:30
Arun Prakash Jana 5a6df62b1c
Prepare for release v4.1.1 Sake 2021-06-03 22:36:19 +05:30
luukvbaal c205177ac6
Update gitstatus patch (#1048) 2021-06-03 17:07:07 +02:00
Arun Prakash Jana f27e93fba0
Fix #1041 2021-06-03 03:15:09 +05:30
Arun Prakash Jana ccce80a1e9
Remove _Atomic usage 2021-06-02 21:53:29 +05:30
Arun Prakash Jana bf673744fb
Prepare for release v4.1 Sake
Sake - https://en.wikipedia.org/wiki/Sake
2021-06-02 10:44:41 +05:30
Luuk van Baal 40031b81ae Unicode arrows for O_ICONS/NERD 2021-05-31 18:41:05 +02:00
Arun Prakash Jana c54ba35ce0
Get rid of getchar() 2021-05-29 15:15:27 +05:30
Arun Prakash Jana 4ea0d70217
Alt+Esc to quit context from filter prompt 2021-05-29 13:16:19 +05:30
Arun Prakash Jana 46e1d6bdda
Remove ntfw-specific code 2021-05-29 12:51:57 +05:30
Arun Prakash Jana 6bb6ddfe8a
Fix condition 2021-05-29 03:40:00 +05:30
Arun Prakash Jana f6b14f6505
Restore hovered file name on select and run plugin 2021-05-28 23:31:20 +05:30
Arun Prakash Jana 462531b8c7
Plugin fzdirs: fuzzy search multiple directories 2021-05-28 19:17:08 +05:30
Arun Prakash Jana 831287c92e
Show number of files selected in local buffer, if any
Even if selection mode is not on, it helps to show
number of files currently selected in local buffer.
Say, after running a plugin selection mode goes off.
However, if the plugin doesn't clear the selection
buffer, the files still remain selected in buffer.
2021-05-27 23:47:59 +05:30
Arun Prakash Jana a8c52134f6 Attempt to create a new context with Shift-TAB, else reverse cycle 2021-05-27 18:12:35 +05:30
Arun Prakash Jana 284a3c4866
Multi-threaded FTS-based disk usage calculation
Implements pthreads based du using FTS. Currently 4 threads are used.
NFTW is dropped as there is no way to pass any custom values to fn().

FTS does not require any per entry function callback.
The performance numbers are best with FTS:

./nnn-fts -T d /  5.29s user 0.94s system 116% cpu 5.335 total
1/21 du:102.402G free:8.476G files:397644 101132550144B

./nnn-ftw -T d /  5.52s user 0.94s system 116% cpu 5.534 total
1/21 du:102.400G free:8.474G files:397653 101133148160B

./nnn-4.0 -T d /  0.20s user 2.27s system 24% cpu 10.241 total
1/21 du:102.400G free:8.475G files:397654 101133299712B
2021-05-26 22:28:38 +05:30
Arun Prakash Jana 025b570e05
Fix du calculation 2021-05-26 03:16:01 +05:30
Arun Prakash Jana db8079f552
Make option O_NOLOC renamed to O_NOLC 2021-05-24 22:38:08 +05:30
Arun Prakash Jana fdeba8a87e
Dynamic view update in disk usage mode 2021-05-24 02:56:12 +05:30
Arun Prakash Jana 88f71ff35d
Suppress session open failure msg in picker mode 2021-05-21 08:05:44 +05:30
Arun Prakash Jana 54d760b9f5
Fix #1023: support named persistent settions 2021-05-20 09:56:55 +05:30
Arun Prakash Jana 2bd72d1b29
Remove pickraw, fix selection not picked on Q 2021-05-18 08:25:23 +05:30
Arun Prakash Jana edab98ab6d Fix opener key for archive 2021-05-18 07:58:11 +05:30
Arun Prakash Jana 45ac90d5e6 Exit nnn if plugin picks files 2021-05-18 00:49:25 +05:30
Arun Prakash Jana cbc4587630
Fix nnn.vim #82: support picker plugins
Plugins like fzopen have the capability to pick files.
This comes handy if nnn is executing as a file picker.

This is a 2-way communication:

- nnn sends the picker output file to plugin ("-" for stdout)
- the plugin tells nnn if it has overwritten the output file
2021-05-17 01:11:35 +05:30
Arun Prakash Jana 31c34740bc
Fix no file picked with NNN_TMPFILE set and quit with 'q'
If NNN_TMPFILE is exported, the selection buffer gets cleared as it is
combined with `^G` (clear picked files and exit). So even when 'q' is
pressed to quit the program the selection is lost. This was introduced
in commit d1d491c102 after release v2.7.
2021-05-16 03:23:03 +05:30
Arun Prakash Jana 513b4f24a6
Optimize loop comparison 2021-05-14 12:38:07 +05:30
Arun Prakash Jana 1fabac27ba
Fix hovered marking on empty directory 2021-05-14 11:55:52 +05:30
Arun Prakash Jana 3316e2acdb
Show du/au details on enabling disk usage mode 2021-05-14 11:38:44 +05:30
Arun Prakash Jana 6222cac4bf
Reduce checks in per-entry print loop 2021-05-14 11:25:38 +05:30
Arun Prakash Jana d46918946f
Avoid faccessat(..., AT_SYM_NOFOLLOW) with musl libc
See https://www.openwall.com/lists/musl/2014/09/25/1
2021-05-14 02:11:59 +05:30
Arun Prakash Jana d0b4508798
Change debug macro DBGMODE to DEBUG 2021-05-14 00:20:59 +05:30
Arun Prakash Jana 0427f70c4e
netbsd-curses: fix broken statusbar issue
See https://github.com/sabotage-linux/netbsd-curses/issues/46
2021-05-14 00:16:48 +05:30
Arun Prakash Jana bca5763cf7
Selection marks in reverse bold 2021-05-13 19:29:16 +05:30
Luuk van Baal 16b2f40ffe Add chess/haskell icons to .iconlookup 2021-05-13 01:20:27 +02:00
Arun Prakash Jana 6b0f308f26
Remove redundant param 2021-05-13 00:37:09 +05:30
Arun Prakash Jana 448a4203bc
Make space for 512TiB in blocks 2021-05-13 00:37:04 +05:30
Arun Prakash Jana 04c38ecf3d
Initialize variable, update musl script 2021-05-12 22:17:44 +05:30
Piña Colada 9756ce4650
Merge pull request #1001 from CantoroMC/nerdfont
nerdfont support for chess files(pgn,fen) haskell(hs,lhs) files and hpp
2021-05-12 20:00:39 +05:30
Arun Prakash Jana 4a4628e2fc
Remove redundant/unaccessed variable 2021-05-12 19:47:56 +05:30
Marco Cantoro d6af0d2ed4 nerdfont support for chess files(pgn,fen) haskell(hs,lhs) files and hpp 2021-05-12 15:44:46 +02:00
KlzXS 56d3f2d976
Wait for child on plugin invocation 2021-05-12 08:50:24 +02:00
Arun Prakash Jana 907616a058
Fix #998: remove ^Space keybind
netbsd-curses sends a NULL (key value 0) following the KEY_RESIZE.
The keybind ^Space also issues a 0. It seems even the key ^@ sends
the same. Dropping this ambiguous keybind in favour of alternative
key m (more appropriate for 'm'ark anyway). Keys with value 0 will
now be ignored in the filter function.
2021-05-12 10:07:29 +05:30
Arun Prakash Jana de80bba9db
musl libc: fix run cmd prompt message 2021-05-11 16:47:48 +05:30
Arun Prakash Jana 466d138cc7
Fix #996: select all on 'A' with empty selection 2021-05-11 11:55:39 +05:30
Arun Prakash Jana e4c3f7d739
Use existing buffer to (un)select file names 2021-05-11 03:07:55 +05:30
Arun Prakash Jana 9b6e7e86bc
Fix musl-gcc compile warnings 2021-05-11 00:05:02 +05:30
Arun Prakash Jana 8575711227
Minor optimization 2021-05-10 17:25:24 +05:30
Luuk van Baal a359a8152c Drop printptr for if-statement 2021-05-10 12:50:45 +02:00
Arun Prakash Jana c0ccf098ec
Simplify detail print 2021-05-10 00:12:26 +05:30
Luuk van Baal a327ee4a3d
Merge and simplify unescape 2021-05-09 20:18:05 +05:30
Arun Prakash Jana eec6366272
Optimize wide char conversion, show an extra char 2021-05-09 11:33:39 +05:30
Arun Prakash Jana b5654e3188 Reduce late assignments 2021-05-09 09:03:16 +05:30
Luuk van Baal 6c450bee94 Fix adjust_cols for icons 2021-05-09 02:02:53 +02:00
Arun Prakash Jana f3fe27e694
Fix invisible details when color code is 0 2021-05-08 20:34:01 +05:30
Arun Prakash Jana 0691c4fb47
Reversed block for hovered entry in detail mode 2021-05-08 17:05:22 +05:30
Arun Prakash Jana da7dc8e6e2
Reversed block instead of ACS_CKBOARD for current 2021-05-08 08:59:51 +05:30
Arun Prakash Jana 7acc9196d5
Reverse selection mark for visibility 2021-05-08 08:48:47 +05:30
Arun Prakash Jana 4727b3baa8
Bold selection marker for better visibility 2021-05-07 23:19:37 +05:30
luukvbaal f4eb89029c
One shot guid cache (#988) 2021-05-07 23:06:24 +05:30
Arun Prakash Jana 69df38dfd4
Update text in program help 2021-05-07 10:39:02 +05:30
Luuk van Baal 6730c0fd01 Use cfg.showdetail 2021-05-07 00:45:24 +02:00
Arun Prakash Jana b58e9fc384
Fix min columns 2021-05-06 22:50:10 +05:30
Arun Prakash Jana 0d21813b11 Revert "Skip a complete erase on redraw()"
This reverts commit 41d414c2fc.
2021-05-06 22:33:30 +05:30
Arun Prakash Jana 765986b916
Reduce some common checks in printent() 2021-05-06 21:50:35 +05:30
Arun Prakash Jana 41d414c2fc
Skip a complete erase on redraw() 2021-05-06 12:34:31 +05:30
Arun Prakash Jana 0eeae6ee7b
Retain filter in filter mode when opening files 2021-05-05 13:09:54 +05:30
Arun Prakash Jana bd47846185
Shorten some strings 2021-05-05 08:05:07 +05:30
Arun Prakash Jana 949f76ec16
Drop brackets and simplify context printing logic 2021-05-05 07:20:08 +05:30
Arun Prakash Jana 2ac70152a4
Reorder entries 2021-05-01 12:22:51 +05:30
Arun Prakash Jana 3ab8bf1c16
Fix #978: store nanosec field 2021-05-01 10:16:26 +05:30
KlzXS 36d86a294d
Make batchrename interactive 2021-05-01 06:23:39 +05:30
Arun Prakash Jana 714d806341
Return selection if external selection exists 2021-04-28 13:37:03 +05:30
luukvbaal 802a7794ae
Fix #974: picker mode broken (#975)
Co-authored-by: Piña Colada <engineerarun@gmail.com>
2021-04-28 11:53:13 +05:30
Arun Prakash Jana 163102e8ae
Fix #976: check external selection in 'c'urrent / 's'el prompt 2021-04-28 11:46:07 +05:30
Arun Prakash Jana 0c88d1c210
Fix CI break: disable readability-function-cognitive-complexity 2021-04-28 00:23:41 +05:30
Arun Prakash Jana eea4d34423
Fix build break 2021-04-26 07:31:15 +05:30
Arun Prakash Jana 34c3d2116a
Bksp/Del at empty filter prompt to refresh dir and retain prompt 2021-04-26 00:53:48 +05:30
Arun Prakash Jana 1fde10b022
Fix LGTM alerts 2021-04-25 16:54:43 +05:30
Arun Prakash Jana 6d2325e18a
Minor reformat to fix build break 2021-04-17 20:55:37 +05:30
Arun Prakash Jana 69431e49a9
Got to last dir on '~' or '/' key repeat 2021-04-17 20:25:58 +05:30
Arun Prakash Jana 25157592df
make option NOX11: disable notis, sel to clipboard sync, xterm title 2021-04-17 13:08:34 +05:30
Arun Prakash Jana f4c5b1a937
Happy Birthday nnn! 🍰 2021-04-13 16:35:13 +05:30
Arun Prakash Jana 5bfc868321 Show xterm title on option '-x' 2021-04-13 16:34:06 +05:30
Arun Prakash Jana a482e8afe5
Prepare for release v3.7 Sushi 2021-04-13 11:07:25 +05:30
Arun Prakash Jana 0c55e74fb5
Minor refactor 2021-04-13 09:06:26 +05:30
Arun Prakash Jana ee04215d91
Fix #941: on macOS set depth to OPEN_MAX for nftw() 2021-04-11 01:06:02 +05:30
Luuk van Baal 710e621735 more icon changes 2021-04-09 14:10:12 +02:00
Luuk van Baal a5a1c7b82c nerdicon/preview fixes 2021-04-09 12:13:32 +02:00
Arun Prakash Jana a1cb764943
make option O_CKBOARD for checker board indicator in detail mode 2021-04-09 12:05:03 +05:30
Arun Prakash Jana 903a4b3a66
Use printw() to print time 2021-04-08 03:13:43 +05:30
Mischievous Meerkat 9a73057272
Merge pull request #939 from luukvbaal/printw
print_details: printw align
2021-04-08 02:55:53 +05:30
Luuk van Baal ada4695bb6 ind to char 2021-04-07 23:10:12 +02:00
Arun Prakash Jana dc9d877941
Use ACS_CKBOARD for currrent entry in detail mode 2021-04-08 02:38:29 +05:30
Luuk van Baal f1f147c928 print_details: printw align 2021-04-07 23:00:48 +02:00
Arun Prakash Jana a44b23786f
Use a single routine for common code 2021-04-07 09:17:36 +05:30
Arun Prakash Jana b3132d6398
Combine multiple functions 2021-04-06 21:59:21 +05:30
Arun Prakash Jana f27df77777
Minor refactor 2021-04-06 20:02:56 +05:30
Arun Prakash Jana edacfcc828
Remove loop for printing spaces 2021-04-06 16:25:02 +05:30
Arun Prakash Jana 0223d53584
Fix #936: name col len in old color mode and icons 2021-04-06 10:53:04 +05:30
Arun Prakash Jana b0fd7a5ffe
Reverse only hovered file name in detail mode
Changes:

- reverse only the file name in detail view
- don't apply reverse to details, show an arrow to the left
- always show selection ('+' symbol) in bright
- delegate showing selection '+' to printent()
2021-04-06 10:03:56 +05:30
Arun Prakash Jana dd5588650d
Initialize once 2021-04-06 04:36:34 +05:30
Arun Prakash Jana ed23e494a9
Replace printw(), optimize xitoa() 2021-04-06 03:28:02 +05:30
Arun Prakash Jana a62bcd3f87
Pass mode directly for indicator 2021-04-06 00:19:32 +05:30
Arun Prakash Jana ed55fbd9d5
Compact switch cases 2021-04-05 21:49:14 +05:30
Arun Prakash Jana 98308b8444
Continuous reverse for current entry in 8-color mode 2021-04-05 21:27:54 +05:30
exoton 98a0f7484a
Refactor printent/printent_long (DRY) (#934)
* Refactor printent/printent_long (DRY)

* Extend selection gap for icons, fix device names.
2021-04-05 21:26:25 +05:30
Arun Prakash Jana a6a09338a2 Reformat UID/GID printing in statusbar 2021-04-05 21:04:44 +05:30
luukvbaal 832676984b
exchange double width glyph (#926) 2021-03-28 17:27:57 +05:30
Rudolf Adamkovič 655e8886f1
Improve consistency/spelling in some comments (#924)
* [comments] Fix incorrectly spelled verb "set up"

* [comments] Fix incorrectly capitalized "MIME" (as in MIME types)

* [comments] Fix inconsistent spelling: "filename" vs "file name"

* [comments] Add missing whitespace

* [comments] Make a comment capitalized like its sibings

* [comments] Improve sentence clarity with a comma

* [comments] Fix inconsistent spelling: "Esc" vs "Escape"

* [comments] Improve consistency of spelling and spacing

* Change 'set up' to 'set-up'
2021-03-28 07:25:43 +05:30
Arun Prakash Jana b29d898350
Fix build break 2021-03-28 01:16:22 +05:30
Arun Prakash Jana ccf2927b6d
Replace $HOME with '~' in address bar 2021-03-27 23:28:23 +05:30
Arun Prakash Jana e5d44ce223 Replace $HOME by '~' in terminal title 2021-03-27 22:15:11 +05:30
Arun Prakash Jana 980fd80aa9
Do not clear selection on single file removal 2021-03-27 19:07:40 +05:30
Arun Prakash Jana 7f5dbd11e3
Fix #917: enhance plugin framework to clear sel on request
With this enhancement, plugins which operate on selection
can explicitly request the program to clear the selection.
2021-03-27 17:12:21 +05:30
Arun Prakash Jana 7c63dc8d73
Fix CI break due to size of browse() 2021-03-26 20:08:23 +05:30
luukvbaal d5dac4c686
Show non matching guid in statusbar (#921) 2021-03-26 19:24:54 +05:30
Arun Prakash Jana 9c218d41e8
Fix #918: picker mode broken 2021-03-26 01:14:16 +05:30
Léo Villeveygoux 5bba7b45fa Save/load the terminal window title using xterm esc sequences 2021-03-24 15:40:29 +01:00
lvgx 1c2cb7fd31
Show path in terminal title (#912)
* Show path in terminal title

* Better terminal window title format

Title is now "basename (full/path)"
2021-03-24 06:50:51 +05:30
Arun Prakash Jana 9f0a374255
Show number of links and inode num for hard links 2021-03-21 21:24:47 +05:30
Arun Prakash Jana 49c458517f
Show symlink size on readlink failure 2021-03-21 06:53:38 +05:30
Arun Prakash Jana 71083b0670
Show correct symlink size in sttausbar 2021-03-21 06:25:17 +05:30
Arun Prakash Jana c625679d58
Remove redundant chars in symlink target display 2021-03-21 05:58:34 +05:30
Arun Prakash Jana 4c8e2e25b8
Fix garbled symlink target 2021-03-19 00:27:45 +05:30
Arun Prakash Jana 5f0b3b74d0
Fix #889: clear selection if plugin doesn't send data 2021-03-19 00:00:37 +05:30
Arun Prakash Jana c825a9e541
Fix #893: show symlink target in statusbar 2021-03-18 23:45:32 +05:30
Arun Prakash Jana 381b251fd0
Fix #890: wrong macro 2021-03-18 22:35:59 +05:30
Arun Prakash Jana fddc5086dd
Fix #888: wrong volume free/total size on macOS 2021-03-17 23:37:26 +05:30
Arun Prakash Jana 93ca773c59
Resurrect current/sel prompt 2021-03-17 23:06:08 +05:30
Arun Prakash Jana 12e7e2c7e0
Revert clear selection on plugin invocation
Many plugins are used for navigating to the target directory.

This reverts commit 026f76f14c.
2021-03-17 02:12:21 +05:30
Arun Prakash Jana 234a7e0080
Prepare for release v3.6 2021-03-16 00:52:50 +05:30
Arun Prakash Jana 3cd93a355a
Minor code reformat for clarity 2021-03-14 14:35:19 +05:30
Arun Prakash Jana 3387f0a6ac
Have a distinct unused msg for index 0 2021-03-06 12:20:14 +05:30
Arun Prakash Jana e901615fcc
Add check for non-empty selection buffer 2021-03-04 23:55:41 +05:30
Arun Prakash Jana 8886f1cd56
Fix regression in #864 2021-03-04 19:56:15 +05:30
Arun Prakash Jana c7140e6758
Fix #864 2021-03-04 17:51:57 +05:30
Mischievous Meerkat 5c47ac651f
Merge pull request #858 from KlzXS/xdgopen
Fix frozen terminal caused by opener
2021-02-19 03:13:25 +05:30
KlzXS 8bdd4b2e2a
Use the fix you just implemented 2021-02-17 09:08:12 +00:00
KlzXS 54b7dc4756
Fix frozen terminal
xdg-open would launch a cli program that would contest the terminal for character input
2021-02-16 22:33:09 +00:00
KlzXS a27568824e
Add check for empty selection
nop when empty
2021-02-16 21:33:42 +00:00
Arun Prakash Jana 7e307bc2ff
Fix alignment 2021-02-11 21:04:37 +05:30
0xACE 67962efbd5 state.runctx now retains bitwidth as cfg.curctx
Didn't test this out, but judging by the name of the variable this
should be a bugfix
2021-02-11 04:11:54 +01:00
Arun Prakash Jana 16de133fea
Retain a way to return to start dir if file opened 2021-02-11 05:26:51 +05:30
Arun Prakash Jana 600286b627
Always prefer selection over current file
If you have selected some files, you intend to work on them. Also, this prompt
expects <kbd>c</kbd> / <kbd>s</kbd> which should cancel the next prompt in the
delete workflow. Rest of the three workflows are non-fatal.

Benefits of removing this option:
- code reduction
- one less step in the relevant workflows (more than one prompt feels dragged)

This prompt shows in the following workflows:
- delete: users have explicitly requested to prefer sel over current
- batch rename: key <kbd>^R</kbd> renames a single file
- archive: in most of the cases the user would want to archive the selection
- create sym/hard link: not a frequently used workflow (in general)
2021-02-10 05:12:40 +05:30
Arun Prakash Jana 026f76f14c
Clear selection after successful plugin invocation 2021-02-10 04:25:08 +05:30
Arun Prakash Jana 118657020e
Fix indentation in helpstr 2021-02-08 07:13:16 +05:30
uvelichitel 3776f72af1 Correct umount fusefs on FreeBSD 2021-01-31 00:47:09 +03:00
freddii 50386ff511 fixed wrong spelled words 2021-01-18 13:55:28 +01:00
Robin Schneider 25eba96466
Use HTTPS everywhere (mechanical edit using util from https-everywhere)
```Shell
~/src/EFForg/https-everywhere/utils/rewriter/rewriter.js .
```

Ref: https://github.com/EFForg/https-everywhere/tree/master/utils/rewriter

Remove suspicious file
2021-01-07 08:32:59 +05:30
Arun Prakash Jana 8e92ea8ad6 Update copyright year 2020-12-29 02:34:23 +05:30
Arun Prakash Jana a31af54c00
Fix #812: clear selection on single file deletion 2020-12-10 21:50:01 +05:30
Arun Prakash Jana 947c4a9faf
Checkpatch fixes 2020-12-10 01:33:17 +05:30
Arun Prakash Jana 375df9f40b
Show tmp dir details in debug 2020-11-29 23:32:37 +05:30
Arun Prakash Jana 5966927008
Minor refactor - browse() 2020-11-25 02:51:01 +05:30
Arun Prakash Jana 6555dd8cee
Limit lines of code per func to 900 2020-11-25 02:15:13 +05:30
Arun Prakash Jana 2ec9103859
Loop the command prompt 2020-11-24 23:48:48 +05:30
Arun Prakash Jana 58bb63633d
Fix build error 2020-11-22 03:58:37 +05:30
Marco Grunert 6f7a4f723b
inotify is available only on Linux 2020-11-21 21:32:18 +05:30
Arun Prakash Jana b4b3ee4868
Key A to invert selection 2020-11-20 01:08:53 +05:30
Arun Prakash Jana 7f605ab995
Let ^L exit filter mode and redraw if no last filter 2020-11-19 23:30:32 +05:30
Arun Prakash Jana a443a321ef
Fix #786: memccpy() detects buffer overlap on macOS 2020-11-19 09:38:17 +05:30
Arun Prakash Jana 8735f11c58
Show msg on invalid list input, remove dep 2020-11-18 23:40:23 +05:30
Arun Prakash Jana d38f4b13d4
Fix #784: support msys2 compilation 2020-11-18 04:07:40 +05:30
Arun Prakash Jana f6cc2e6161
Prepare for release v3.5 Freddie
Code named after Freddie Mercury: https://en.wikipedia.org/wiki/Freddie_Mercury
2020-11-17 08:19:09 +05:30
Arun Prakash Jana 13923117dc
Update help 2020-11-14 10:05:51 +05:30
Arun Prakash Jana 74cd15c232
Q - error & quit if no selection, else pick & quit 2020-11-13 12:40:57 +05:30
Arun Prakash Jana 7afc3eeedd
Fix #777: input stream ishould trump -s/-S
If an input stream is available, prioritize that over sessions. find/grep
syntax can be very complex and can be scripted. On the contrary, sessions
can be loaded at runtime and the persistent session can be "restored".

An interesting use case is the listing is done in picker mode from a script
and the user expects to "pick" some entries among the listed search results.

Another important change is - if the user tries to load the "last session"
explicitly by name instead of using the session option _restore_, we should
not overwrite the "last session" ("@") before loading the it.
2020-11-13 11:37:28 +05:30
Arun Prakash Jana 52b87a2492
Clean-up help 2020-11-10 20:12:49 +05:30
Arun Prakash Jana c674cb5934
Fix #775: quit on double Esc 2020-11-10 19:13:38 +05:30
Arun Prakash Jana d8d43ca85f
Fix locker not invoked 2020-11-05 20:40:31 +05:30
Arun Prakash Jana 0b31414c9a
make option O_NOUG to compile out user group info 2020-10-31 21:22:01 +05:30
Arun Prakash Jana ff5685b64d Option -U to show user and group in status bar 2020-10-31 20:48:05 +05:30
Arun Prakash Jana 65bffda6eb
Fix build break 2020-10-20 18:20:59 +05:30
Arun Prakash Jana 234f7ae563 Fix #763: Revert "Fix #759" (makes nnn hang when used in a script)
This reverts commit c074572748.
2020-10-18 03:59:05 +05:30
Arun Prakash Jana c074572748 Fix #759 2020-10-15 08:07:32 +05:30
Tim Gates bfcf296334
docs: fix simple typo: sdtout -> stdout (#755) 2020-10-12 15:02:58 +05:30
Arun Prakash Jana afe0b0a7bd
Fix #739 #753 2020-10-10 07:38:57 +05:30
Arun Prakash Jana 881ea36f11
Fix #750: add more clarity to unmount help 2020-10-08 05:33:43 +05:30
Arun Prakash Jana 499127c698
Fix #741 2020-10-02 08:41:09 +05:30
Arun Prakash Jana 0581c3f1c7
Fix indentation 2020-09-29 20:13:17 +05:30
lvgx 78e576ae24
Fix rollover bug (#747)
* Fix rollover bug

Fixes #743

* Snap to edges in no rollover multiline scroll mode

* Style fix
2020-09-29 20:05:59 +05:30
Arun Prakash Jana 51009f8241
Fix #744 2020-09-28 22:13:33 +05:30
Arun Prakash Jana 627c5cfc36
Use inline for once-used function 2020-09-26 23:17:25 +05:30
Arun Prakash Jana 1d903a8c90
Fix #740 2020-09-26 23:04:27 +05:30
Arun Prakash Jana 55f2a0823a
Let buffer for current path be auto-allocated 2020-09-26 00:50:11 +05:30
Arun Prakash Jana 2e870f3879
Range selection: replace ^K by ^Space 2020-09-24 17:32:49 +05:30
Arun Prakash Jana faddaa5c3a
make option O_NOSSN to compile out session 2020-09-20 12:13:00 +05:30
Arun Prakash Jana 56621705e8
Fix #728 2020-09-18 20:45:47 +05:30
Arun Prakash Jana 56dec17840
Fix #735 2020-09-18 20:33:21 +05:30
Arun Prakash Jana e25dc108bf
Color for vtt sub icons 2020-09-18 05:58:38 +05:30
Arun Prakash Jana d11992c8f0
Color more doc type icons 2020-09-18 05:54:44 +05:30
Arun Prakash Jana 07e994788a Fix #730 2020-09-15 19:06:43 +05:30
Dave Snider 1fc1b8be8b
Add nerdfont defs file and normalize vars (#722)
* Add nerdfont defs file and normalize vars

* some cleanup

* address feedback

* one more spacing issue

* address feedback
2020-09-14 22:09:52 +05:30
Arun Prakash Jana 12c09e85e3
Update tagline 2020-09-11 03:13:08 +05:30
Arun Prakash Jana 835f0c16d6
Honor -C for context colors 2020-09-06 06:06:59 +05:30
Arun Prakash Jana 1696455a6f
Ad instruction on reserved bitfield 2020-09-02 01:36:56 +05:30
Arun Prakash Jana 02bb398550
Option -D to show dirs in context color 2020-09-01 22:58:03 +05:30
FriendlyNeighborhoodShane a8afbf89d5
Add option to not move to next entry on select (#713) 2020-08-30 05:32:40 +05:30
Arun Prakash Jana 2f61b0910d
Cycle time, size, clear order at sort prompt with ^T 2020-08-28 02:02:23 +05:30
lvgx bcbe8080be
Add support for Alexey Tourbin's QSORT code (#708)
* Add support for Alexey Tourbin's QSORT code

See https://github.com/svpv/qsort

* Add benchmark scripts and compilation mode

Compile with `make O_BENCHMARK=1`, and run benchmarks with e.g.:
  ./misc/test/benchmark.sh ./nnn '/' '/usr/bin' '/usr/lib' > benchdata
You can then plot basic violin graphs with:
  ./misc/test/plot-bench.py benchdata

* Update style, doc, haiku support, fix lint
2020-08-21 08:15:45 +05:30
Arun Prakash Jana 9c20f43410
Prepare for release v3.4 2020-08-18 15:33:49 +05:30
Arun Prakash Jana 551e9ca7e5
Fix #704 2020-08-18 13:15:21 +05:30
Arun Prakash Jana faea2915f4
Minor refactor 2020-08-17 23:25:27 +05:30
Arun Prakash Jana b5c7d41d9b
More icons 2020-08-17 02:55:21 +05:30
Arun Prakash Jana 1e72069378
More icons 2020-08-16 19:46:09 +05:30