Commit graph

266 commits

Author SHA1 Message Date
Arun Prakash Jana c66c941a97
Disable noti subscription for the same dir 2017-10-01 16:13:35 +05:30
Arun Prakash Jana 79cbc40a7f
Change archive list shortcut to 'F' 2017-10-01 04:28:48 +05:30
Arun Prakash Jana 6bfbff9519
Revert "Archive handling on OS X using unar+lsar"
This reverts commit 1e859eb1370bd67cecd06b7bc8c6f885b80554bd.
We will use atool on OS X as well, it can be brewed easily.
2017-09-27 22:14:09 +05:30
Arun Prakash Jana 7c54f073fc
Archive handling on OS X using unar+lsar 2017-09-27 22:14:07 +05:30
Arun Prakash Jana 71d27de517
Support archive listing and extraction 2017-09-27 22:14:01 +05:30
Arun Prakash Jana a594c876be
Show current entry number in du mode 2017-09-27 17:37:36 +05:30
Arun Prakash Jana 082974dc8e
Show current entry number.
...because you need to know where you are.
2017-09-27 02:08:58 +05:30
Arun Prakash Jana bc76c0f7ee
Fix #42 2017-09-24 23:46:34 +05:30
Arun Prakash Jana 55643a5fcc
Update NNN_NOWAIT changes 2017-09-19 19:55:02 +05:30
Paul df4b557ca1 Prevent nnn from waiting on open file process (#40)
* Prevent nnn from waiting on open file process

* Add env var flag to not wait for child process when opening file

* Set nowait flag once to skip bit-or every time we open a file

* Add documentation for NNN_NOWAIT
2017-09-19 12:00:54 +05:30
Arun Prakash Jana 968beb434a
Skip entries in case fstatat() fails, do not exit 2017-09-13 18:44:27 +05:30
Arun Prakash Jana 28f69e59fa
Support file and dir create 2017-09-10 13:05:25 +05:30
Arun Prakash Jana 5ab6dd2fed
Convert metaviewer and color to bitfields 2017-09-09 02:16:10 +05:30
Arun Prakash Jana 321a618192
Add general info in help 2017-09-09 01:10:21 +05:30
Arun Prakash Jana 91ab00061c
Prepare for v1.4 release 2017-09-04 10:23:02 +05:30
Arun Prakash Jana c35c1afa87
Reorder APIs 2017-09-02 14:09:34 +05:30
Arun Prakash Jana 056a79635a
Disable dircolor if no sub-directories
Fix regression from 1e5a0b8c5b.
2017-09-02 14:02:29 +05:30
Arun Prakash Jana 277cf66097
Move config.h to nnn.h 2017-09-02 11:39:44 +05:30
Arun Prakash Jana e2fae851c3
Use 'pin' dir instead of 'mark' dir 2017-09-01 19:57:36 +05:30
Arun Prakash Jana c248f42c31
Calculate number of cols for name only once 2017-09-01 19:30:25 +05:30
Arun Prakash Jana 7ec524c231
Change to light mode if < 35 columns are available 2017-09-01 18:58:32 +05:30
Arun Prakash Jana 2e3f013ce3
Remove redundant variable 2017-09-01 17:50:14 +05:30
Arun Prakash Jana dcc9b62760
Adjusting number of cols is redundant with shortening. 2017-09-01 10:45:10 +05:30
Arun Prakash Jana 1e5a0b8c5b
Fix #36: uneven splitting of codepoints
Check if the number of columns needed to print name exceeds the number of cols.
If it does, split the name str at the max number of columns available for name.
Conversion to wide char ensures the split is done at a valid codepoint.

The current patch adds some optimization as well:

- No more copying to an intermediate (global) string.
- If the name is shortened, escape chars are replaced only till the terminator.
2017-09-01 10:22:44 +05:30
Arun Prakash Jana c49b79d792
Fix cursor position issue with astral symbols
In case of astral symbols like Devanagari matras multiple wide-char codepoints
occupy a single position/column. Positioning the cursor wrt. the actual number
of wide-characters in a wide-char string gets "visually incorrect".  The trick
is to calculate the correct number of columns needed to represent a fixed-size
wide-character string.

Relevant man pages:

1. wcswidth(3)
2. wctomb(3)
3. mblen(3)

Interesting links:

1. https://www.gnu.org/software/libc/manual/html_node/Non_002dreentrant-Character-Conversion.html
2. https://www.gnu.org/software/libc/manual/html_node/Shift-State.html
3. https://10hash.com/c-programming/uchar/
4. https://mathiasbynens.be/notes/javascript-unicode#accounting-for-astral-symbols

Example file names for test:

1. Malgudi Days - मालगुडी डेज - E05. Swami and Friends - स्वामी और उसके दोस्त (Part 5)
2. Eso eso aamar ghare eso ♫ এসো এসো আমার ঘরে এসো ♫ Swagatalakshmi Dasgupta
3. Führer
2017-08-26 14:46:49 +05:30
Arun Prakash Jana ac03793547
A shorter overwrite message (key is not echoed) 2017-08-26 09:37:04 +05:30
Arun Prakash Jana 6b6182a61a Revert "Handle multi-byte: 2 codepoints single column"
This reverts commit e8cf0dc663.
2017-08-26 02:42:33 +05:30
Arun Prakash Jana e8cf0dc663
Handle multi-byte: 2 codepoints single column
Very frequent with Devanagari scripts ('matra's)
2017-08-26 02:35:01 +05:30
Arun Prakash Jana f94235333a
More concise help 2017-08-25 22:09:03 +05:30
Arun Prakash Jana 776d782fcf
Clear rename prompt with Ctrl-L 2017-08-25 21:49:55 +05:30
Arun Prakash Jana 4196af94f7
The '> ' as rename prompt is distracting 2017-08-25 19:22:30 +05:30
Arun Prakash Jana ccdb95f3ab
mbstowcs() returns the codepoints 2017-08-25 18:27:06 +05:30
Arun Prakash Jana b854f396cf Simplify filter handling 2017-08-25 14:13:26 +05:30
Arun Prakash Jana efc70f33e5
Get rid of getch() ('Führer' works now) 2017-08-25 13:57:22 +05:30
Arun Prakash Jana 76d582d5cd
Show line number only on fatal error 2017-08-24 22:26:46 +05:30
Arun Prakash Jana 512b7ac6cd
Re-order macros, globals... 2017-08-24 21:39:16 +05:30
Arun Prakash Jana f31978573e
Remove extern ref to wget_wch() 2017-08-24 19:43:11 +05:30
Arun Prakash Jana 05bb9db9e1
Remove extern ref to add_history() 2017-08-24 19:36:33 +05:30
Arun Prakash Jana 08b5fc8231
Fix build failure 2017-08-24 19:13:00 +05:30
Arun Prakash Jana 2f40eb5efc
Show volume capacity in help 2017-08-24 17:50:00 +05:30
Arun Prakash Jana 7275d68ab7
Rename MAX_BM to BM_MAX 2017-08-24 10:16:35 +05:30
Arun Prakash Jana 7c52e4a89e
Support multi-byte string in rename 2017-08-24 10:15:32 +05:30
Arun Prakash Jana f4b2e3a5df
Show filename in rename 2017-08-24 10:12:03 +05:30
Arun Prakash Jana e3bce10908
Add checks before dir access 2017-08-23 18:13:22 +05:30
Arun Prakash Jana f53f1b86e0
Remove shortcut F2 for refresh.
F2 is not very portable e.g., doesn't work over putty (default settings).
2017-08-23 17:36:32 +05:30
Arun Prakash Jana be337d883e
Disable dir watch in filter mode 2017-08-23 09:29:21 +05:30
Arun Prakash Jana fb521a7a94
Use hyphen within date 2017-08-23 01:17:09 +05:30
Arun Prakash Jana 0b3bec329f
Support in-place file rename 2017-08-23 00:51:59 +05:30
Arun Prakash Jana 5404cee9ee
Line length size limit is now 139 2017-08-22 22:34:17 +05:30
Arun Prakash Jana 081cb3a3e8
Do not follow mounted fs in du mode 2017-08-22 21:31:06 +05:30
Arun Prakash Jana 96e9028226 Implement BSD, Apple dir watch (#35) 2017-08-21 22:03:26 +05:30
Arun Prakash Jana e4596db30a
Watch out for directory changes 2017-08-21 20:55:56 +05:30
Arun Prakash Jana be77094235
Limit max open fds to 20K. 2017-08-21 09:16:11 +05:30
Arun Prakash Jana 1efa17cf23
A compact help format 2017-08-20 23:18:58 +05:30
Arun Prakash Jana 3d89b3f945
Support mark a directory
In certain workflows you know you would have revisit a directory. Mark it!
2017-08-20 16:47:23 +05:30
Arun Prakash Jana f178004b13
Show vol free in help 2017-08-12 19:57:23 +05:30
Arun Prakash Jana 7fe6abb213
Prepare for release v1.3 2017-07-26 09:31:03 +05:30
Arun Prakash Jana 16f0054b48
Fix #34: use ~75% of max open file descs 2017-07-25 10:13:22 +05:30
Arun Prakash Jana c9c5dfaef7
Remove tab 2017-07-09 07:41:44 +05:30
Arun Prakash Jana fb4263a736
Reset current on empty filter prompt 2017-07-08 11:02:17 +05:30
Arun Prakash Jana a8f7ee9deb
Option -n is redundant 2017-07-06 00:02:09 +05:30
Arun Prakash Jana 3f7a6c0b5d
Code refactoring 2017-07-05 23:46:10 +05:30
Arun Prakash Jana 7bb1e4e4bf
Use xmemrchr() instead of strrchr() 2017-07-05 10:17:42 +05:30
Arun Prakash Jana 7b6e3c261d
Change single-line 0-arg APIs to macros 2017-07-05 09:38:19 +05:30
Arun Prakash Jana 3c612fe64d
Update memory usage (latest release) 2017-07-05 08:20:40 +05:30
Arun Prakash Jana 342ecdc3ef
More concise help screen. 2017-07-04 10:01:50 +05:30
Arun Prakash Jana e585d830cd
More optimization 2017-07-03 20:41:58 +05:30
Arun Prakash Jana 76d600b072
Use the global buffer 2017-07-03 18:09:11 +05:30
Arun Prakash Jana be8e9d5213
Re-format help 2017-07-03 10:24:20 +05:30
Arun Prakash Jana be8e4d8552
Custom color support for directories 2017-07-03 02:26:47 +05:30
Arun Prakash Jana a7d88ad7f9
Repeat search: reset current selection 2017-07-03 01:49:14 +05:30
Arun Prakash Jana 093caecd82
Calculate word size inline 2017-07-03 00:55:47 +05:30
Arun Prakash Jana b6b164572e
Unify cd HOME and BEGIN 2017-07-03 00:28:09 +05:30
Arun Prakash Jana 2b963634bc
Add option -e to use exiftool 2017-07-02 23:57:41 +05:30
Arun Prakash Jana acdc6dc0a3
Use non-blocking pipes 2017-07-02 20:32:38 +05:30
Arun Prakash Jana 55d916921f
Show correct information for symbolic links 2017-07-02 16:39:06 +05:30
Arun Prakash Jana 166e31b512
checkpatch fixes 2017-07-02 16:27:44 +05:30
Arun Prakash Jana 3bf858a580
Home-grown APIs, reduced binary size (<40KB) 2017-07-01 03:54:03 +05:30
Arun Prakash Jana 00f9ae9c85
Replace open and close dir with access() 2017-07-01 00:33:41 +05:30
Arun Prakash Jana f87bb199a0
Use bold blue for dirs, reset color 2017-06-30 20:33:36 +05:30
Arun Prakash Jana e780360e7d
Show directories in color (default: enabled) 2017-06-30 07:58:18 +05:30
Arun Prakash Jana 590d079533
Prepare for release v1.2 2017-06-29 09:48:11 +05:30
Arun Prakash Jana f9a249c4a4
Pre-calculate spawned shell level 2017-06-28 09:59:43 +05:30
Arun Prakash Jana ae9ee35e0c
Show 1 while spawning a subshell 2017-06-25 22:55:46 +05:30
Arun Prakash Jana 908965b6f5
Support F2 to refresh 2017-06-25 10:07:04 +05:30
Arun Prakash Jana 65b818b0eb
Use refresh() to reflect print 2017-06-23 17:52:42 +05:30
Arun Prakash Jana 156c08ccc4
Show a message when busy 2017-06-22 18:23:44 +05:30
Arun Prakash Jana cd030f6b13
Use fstatat() istead of lstat() 2017-06-22 18:20:48 +05:30
Arun Prakash Jana 303f36aed0
Show total files in du mode 2017-06-22 09:39:17 +05:30
Arun Prakash Jana 2524dfb08c
Use correct data type and names for block count 2017-06-22 07:36:49 +05:30
Arun Prakash Jana ad4e35215b
Add if blocks used (helps in large dirs) 2017-06-22 07:12:40 +05:30
Arun Prakash Jana 90680cb370
Show content size of cur dir in du mode 2017-06-21 23:51:53 +05:30
Arun Prakash Jana f59cd3e90f
Minor changes 2017-06-21 09:49:02 +05:30
Arun Prakash Jana 3da053cbfa
Use macros for flags to spawn() 2017-06-20 21:29:37 +05:30
Arun Prakash Jana 5ea4eb0816
Use bitfields for settings 2017-06-20 20:28:53 +05:30
Arun Prakash Jana 2b248e4e1a
Re-structure header 2017-06-20 10:26:31 +05:30
Arun Prakash Jana 370ed32a28
An undocumented debug mode
1. The debug file is located at /tmp/nnn_debug.
2. Debug mode is completely disabled by default. The debug binary `nnndbg` can
be built by running `make debug`.
2017-06-20 00:50:19 +05:30
Arun Prakash Jana b66fa0325d
Use preincr and predecr 2017-06-17 12:28:21 +05:30
Arun Prakash Jana 7a2b1babdd
Push curses exit() and init() to functions 2017-06-15 21:34:47 +05:30
Arun Prakash Jana 6d20178881
Fix reasonable checkpatch reports 2017-06-15 19:34:56 +05:30