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
Arun Prakash Jana
8404c0fd04
Fix build failure
2017-06-11 20:09:42 +05:30
Arun Prakash Jana
2a1f99526f
Show current config along with help
2017-06-11 19:24:02 +05:30
Arun Prakash Jana
8c6ab7df02
Support bookmarks
2017-06-11 10:12:32 +05:30
Arun Prakash Jana
e495886b59
Suppress output when spawning DE file manager
2017-06-07 20:05:31 +05:30
Arun Prakash Jana
a9a8b30bdf
When filter is empty, open file on Enter
2017-06-07 03:04:47 +05:30
Arun Prakash Jana
6a9640afdf
Exit once an app is found. Help, doc updates.
2017-06-06 23:32:40 +05:30
Arun Prakash Jana
f52367a481
Set to the lat selected file
2017-06-06 21:31:40 +05:30
Arun Prakash Jana
889500b057
Set detail view mode as default, introduce light mode
2017-06-06 21:01:28 +05:30
Arun Prakash Jana
e8942707cd
We copy the absolute file path
2017-06-06 20:24:04 +05:30
Arun Prakash Jana
da9499b138
Optionally use EDITOR (fallback vi) for text files
2017-06-06 20:16:32 +05:30
Arun Prakash Jana
fe775ccf1f
desktop opener - xdg-open on Linux and open(1) on OS X
2017-06-06 02:13:58 +05:30
Arun Prakash Jana
94ed36b498
nlay - support multiple apps
2017-06-05 21:06:52 +05:30
Arun Prakash Jana
b0efe4c642
Disable key to run top
2017-06-05 03:39:30 +05:30
Arun Prakash Jana
8d6ceb00a7
Use vlock as locker, add ^Q to quit
...
^Q would quit even from filter mode
2017-06-05 03:39:23 +05:30
Arun Prakash Jana
249b6f76fc
Fix issues with DEL on Mac on empty regex exprn
...
On Mac and error is thrown if the regex expression to regcomp() is empty.
Please refer to comments at:
c42df81ae5
2017-06-04 23:58:30 +05:30
Arun Prakash Jana
ac717a7531
Bind ^L to clear prompt
2017-06-04 22:05:23 +05:30
Arun Prakash Jana
c42df81ae5
Insert key for navigate-as-you-type mode
2017-06-04 11:51:45 +05:30
Arun Prakash Jana
88e9df01a4
Navigate-as-you-type support
...
1. Open directories in filter mode
2. Fix arrow keys not working after filter selection (due to invalid cur entry)
3. Support `Insert` key to clear filter prompt
4. Update documentation
2017-06-04 05:06:56 +05:30
Johnathan Jenkins
67b96d4f07
fix compile warning on gcc7 ( #32 )
2017-05-29 23:21:44 +05:30
Arun Prakash Jana
16ec5d3351
Use gnome-search-tool as default search utility
...
Reasons:
gnome-search-tool is much more powerful than other tools in its category. It
supports numerous search parameters like size, modification date and supports
text search.
2017-05-23 18:57:19 +05:30
Johnathan Jenkins
ab6bdbee6d
fix for glibc sys/types.h deprecation warnings ( #31 )
2017-05-22 19:27:35 +05:30
Arun Prakash Jana
1e1518c147
Remove redundant variable
2017-05-22 19:27:33 +05:30
Arun Prakash Jana
7727b745ed
Remove redundant variables, function calls
2017-05-20 07:12:57 +05:30
Arun Prakash Jana
95cdb78c6c
Reduce number of entry movements
2017-05-17 08:16:33 +05:30
Arun Prakash Jana
8263c9c419
Remove contraint on num_args
2017-05-17 04:44:46 +05:30
Arun Prakash Jana
b817699b7f
Home-grown xstrlcpy()
2017-05-16 22:22:49 +05:30
Arun Prakash Jana
3243a3082a
Add check to defer name to number conversion
2017-05-16 07:32:21 +05:30
Arun Prakash Jana
e671dcd092
Update help
2017-05-15 22:51:32 +05:30
Arun Prakash Jana
71bc3c7432
Fix #27 : use catfish as default search utility
2017-05-15 20:14:13 +05:30
Arun Prakash Jana
ba49beac79
Get rid of unsafe system(3) calls
2017-05-15 18:23:07 +05:30
Arun Prakash Jana
463c270caf
Fix regression from 08d87405d0
2017-05-15 10:18:33 +05:30
Arun Prakash Jana
20216a995b
Use execlp(3) instead of popen(3)
2017-05-15 10:02:58 +05:30
Arun Prakash Jana
d01d689340
Use a global buffer for isolated functions
2017-05-15 03:07:22 +05:30
Arun Prakash Jana
a279f58b91
Touchbase buffer manipulation
2017-05-15 02:26:53 +05:30
Arun Prakash Jana
9fb728170a
Replace system(3) with spawn()
2017-05-15 00:51:36 +05:30
Arun Prakash Jana
e4f72170d0
Fix #26 : Provide an option to use a custom nlay file.
2017-05-14 21:00:46 +05:30
Arun Prakash Jana
d1924756c7
Fix #29
...
Limit all xstrlcpy() calls by dest length.
Escape filenames in system(3) calls.
2017-05-14 11:31:30 +05:30
Arun Prakash Jana
33c4a227d2
Make Makefile generic
2017-05-13 22:31:14 +05:30
Johnathan Jenkins
9eed24bbac
pkg-config for ncurses ( #25 )
2017-05-13 22:03:08 +05:30
Arun Prakash Jana
cbbe03247e
Fix #23
2017-05-13 10:27:49 +05:30
Arun Prakash Jana
a310176160
Prepare for release v1.1
2017-05-11 22:25:22 +05:30
Arun Prakash Jana
58f8905ea3
Only one check suffices (if *buf, it's > 0)
2017-05-04 01:08:17 +05:30
Arun Prakash Jana
a3852a6cb1
Retain control chars when invoking external utils
2017-05-03 23:10:52 +05:30
Arun Prakash Jana
08d87405d0
Fix #21
...
We are converting multi-byte to wide char and vice versa to replace the escape
chars with ?. Otherwise we run the risk of breaking a Unicode code point.
2017-05-03 19:58:40 +05:30
Arun Prakash Jana
b730c116d6
Consider only dirs and files in nftw(3)
2017-05-02 18:20:03 +05:30
Arun Prakash Jana
64d06ccaee
Remove sizeof() is absolute cases
2017-04-29 11:02:12 +05:30
Arun Prakash Jana
1fdcaef4f5
Support search as you type
2017-04-29 09:52:43 +05:30
Arun Prakash Jana
7f4c1a447b
Clear history when entering directory
2017-04-28 17:57:38 +05:30
Michael Fenn
41235445e7
Add automatic RPM builds via travis ( #18 )
...
* Add automatic RPM builds via travis
* readline.h must be imported after stdio.h to pick up def of FILE
2017-04-28 12:44:27 +05:30
Arun Prakash Jana
4af8ba19f1
Use curses.h from libncursesw on Linux
2017-04-27 20:44:21 +05:30
aaeilm
92236abf31
Exit if parent has exited ( #16 )
2017-04-26 00:42:07 +05:30
Arun Prakash Jana
0fd6a392db
Honour EDITOR and PAGER everywhere
2017-04-25 23:20:04 +05:30
Arun Prakash Jana
3096dfefde
Polish change directory logic
...
1. Strip end spaces and slashes
2. Do NOT change dir if in the same dir
3. Don't go back beyond startup dir with '-'
4. Reset oldpath on cd (other than cd . and ..)
5. Reset filter
6. Update features in README
2017-04-25 22:07:09 +05:30
Arun Prakash Jana
febda38c14
Support cd .....
2017-04-24 18:53:03 +05:30
SZ Lin (林上智)
1ec5eb1231
MAX_PATH is not defined in some platforms, most notably GNU/Hurd. Therefore, I define it here to 4096 which is the same value in limits.h.
2017-04-24 16:03:33 +08:00
Arun Prakash Jana
012662ab89
Reformat key listing.
2017-04-24 07:36:26 +05:30
Arun Prakash Jana
b4166192e6
Support jump to initial directory
...
This change remaps the & key. However, / is more relevant for filter and & makes more sense wrt. address.
2017-04-24 02:36:49 +05:30
Arun Prakash Jana
00aaee9ff1
nlay - a highly customizable file handler
2017-04-23 23:31:08 +05:30
Arun Prakash Jana
ff18d580c5
Fix build break on OS X
2017-04-22 21:43:17 +05:30
Arun Prakash Jana
4790d17d04
Do not wait when spawning DE file manager
2017-04-22 19:49:00 +05:30