Commit Graph

1529 Commits

Author SHA1 Message Date
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
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
Arun Prakash Jana 4a4628e2fc
Remove redundant/unaccessed variable 2021-05-12 19:47:56 +05:30
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 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
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
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