Commit graph

376 commits

Author SHA1 Message Date
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
Arun Prakash Jana b19778fdff
Show file details in less 2017-04-22 15:50:36 +05:30
Arun Prakash Jana a5dedd6c24
Show help in less 2017-04-22 12:50:02 +05:30
Arun Prakash Jana 4f17c6bd65
Wrap etries within same line 2017-04-22 03:10:02 +05:30
Arun Prakash Jana 07d4252b63
Show media information using mediainfo 2017-04-21 23:56:48 +05:30
Arun Prakash Jana 4e7e871990
Use NNN_DE_FILE_MANAGER 2017-04-21 17:52:03 +05:30
Arun Prakash Jana 34a8ec2881
Hold allocated memory till program exit 2017-04-21 08:46:55 +05:30
Arun Prakash Jana f10ef49534
Use NAME_MAX, reuse newpath, update stats 2017-04-20 23:20:28 +05:30
Arun Prakash Jana 79c1c56cbf
Support . and .. at chdir prompt 2017-04-20 21:57:24 +05:30
Arun Prakash Jana 89224cfa98
Use readline() at chdir prompt
With the features the readline library provides it would be too naive to ignore.
We break out of the curses mode into the prompt and get back in.
This change introduces dependency on libncurses.
2017-04-20 20:10:58 +05:30
Arun Prakash Jana 01c1ef6e58
Support cd on quit 2017-04-20 17:33:54 +05:30
Arun Prakash Jana 5b68fa1a67
Use libncursesw for internationalization
Update README on dependencies
2017-04-16 13:07:29 +05:30
Arun Prakash Jana ccb320d627
Add program help 2017-04-15 00:54:38 +05:30
Arun Prakash Jana 0b4056727f
Support key 'q' to exit extra screens 2017-04-14 22:56:06 +05:30
Arun Prakash Jana 58c2000de6
Fix #8: Use digits for month, re-arrange date, time 2017-04-14 21:53:05 +05:30
Arun Prakash Jana eb053063c2
Fix #8: set loale post ncurses init 2017-04-14 19:43:37 +05:30
Arun Prakash Jana 971895e873
Option -S: start in disk usage analyzer mode 2017-04-14 16:51:27 +05:30
Arun Prakash Jana 275b42efb0
Prepare for release v1.0 2017-04-13 19:13:33 +05:30
Arun Prakash Jana 9702abdd81
Support open current dir in desktop file manager 2017-04-12 22:20:05 +05:30
Arun Prakash Jana 286a13d891
realloc() 32 entries at a time 2017-04-11 20:22:45 +05:30
Arun Prakash Jana 74a13c645d
Maximize rlimit, switch to detail view in du mode 2017-04-11 20:22:30 +05:30
Arun Prakash Jana afbce66747
Optimize dentfill 2017-04-11 01:58:27 +05:30
Arun Prakash Jana f2a5002fa9
Toggle help and file details screens with same key 2017-04-10 18:35:30 +05:30
Arun Prakash Jana a569d383bc
Use static vars 2017-04-10 18:17:12 +05:30
Arun Prakash Jana b123985437
Show unprivileged free blocks in du mode 2017-04-10 10:28:34 +05:30
Arun Prakash Jana cbefcfd67b
Initial path: support sort by disk usage 2017-04-10 10:28:25 +05:30
Arun Prakash Jana e54ed037bd
Key - to jump to last visited directory 2017-04-08 13:46:03 +05:30
Arun Prakash Jana 5aa4c799c0
Remove redundant search when entering directory 2017-04-08 11:14:51 +05:30
Arun Prakash Jana e5b9a11584
Show marker only when spawning a shell. 2017-04-06 09:57:32 +05:30
Arun Prakash Jana 205dd6db05
Try fallbak for missing apps, use popen wrapper 2017-04-06 06:29:18 +05:30
Arun Prakash Jana b7e4968a48
Resolve ~ (HOME) at chdir prompt 2017-04-06 06:29:13 +05:30
Arun Prakash Jana 2e3502ea4b
Show notifier only for associations 2017-04-06 06:29:00 +05:30
Arun Prakash Jana cb1a1112a8
Disable checksum calculation
Calculation can take very long. Most Unix-ish OSes have utilities to do this.
2017-04-04 10:34:18 +05:30
Arun Prakash Jana 07c59cfd62
vim-ish binding for jump to first and last entry
It was troubling me. Mimicking 'gg' would have been hacky and would need
additional processing... 'g' was free. Who cares even if you press twice? ;)
2017-04-04 09:46:52 +05:30
Arun Prakash Jana aebe6c1898
Fix warnings. Harden compilation. 2017-04-04 07:20:38 +05:30
Arun Prakash Jana 10a18bf07e
ASCII Art to indicate nnn launched program 2017-04-04 00:37:44 +05:30
Arun Prakash Jana 30c8828e42
Use double quotes to handle file names with spaces
Remove dependency on cut.
2017-04-03 23:33:31 +05:30
Arun Prakash Jana 4b66029762
Add help screen on keybinds 2017-04-03 22:33:46 +05:30
Arun Prakash Jana 418c9f2654
Show stat, file, md5, sh256 in file details
This commit adds dependencies on file, openssl and cut binaries.
2017-04-03 20:32:09 +05:30
Arun Prakash Jana f466ba543c
Show file details
We closely follow the output for stat(1).
2017-04-03 05:05:14 +05:30
Arun Prakash Jana 87e0891b8d
Remove redundant stuff
1. Have a faster copy of strlcpy()
2. Remove redundant legacy files
3. Fix an issue with NULL check on array name
2017-04-02 21:45:10 +05:30
Arun Prakash Jana 4bc2ce0fbc
Optimize directory search 2017-04-02 14:33:36 +05:30
Arun Prakash Jana 691291245a
Use standard function for numeric sort
Numeric is numeric i.e., n, -n. +n.
Other forms such as --n, ++n, -c, +c should not be considered numeric.

If size is same (e.g. dirs), use alphanum sort.
2017-04-02 12:13:40 +05:30
Arun Prakash Jana 90e98b832b
Revert non-portable optimization 2017-04-02 08:23:13 +05:30
Arun Prakash Jana 0aa1d43428
Show message when trying to go above / 2017-04-02 02:50:56 +05:30
Arun Prakash Jana 951d323616
Show directories first 2017-04-02 01:48:33 +05:30
Arun Prakash Jana 0e82544199
Support sort by numeric value for numeric names 2017-04-02 01:21:31 +05:30
Arun Prakash Jana 6e7aaa18fb
Show sort order if applied 2017-04-01 21:03:58 +05:30
Arun Prakash Jana 8f18c4049c
An optimized dirname() 2017-04-01 17:32:58 +05:30
Arun Prakash Jana 7be7a6d215
Optimizations 2017-04-01 14:41:07 +05:30
Arun Prakash Jana f3d95b6d0d
Show indicators in column 2017-04-01 13:05:20 +05:30
Arun Prakash Jana 54a307767c
Support opening in detail view mode 2017-04-01 10:48:18 +05:30
Arun Prakash Jana aeeeed0bce
Change vim to vi 2017-03-31 22:25:56 +05:30
Arun Prakash Jana 8563ec5cb2
Revamp detail mode
If a filename has Unicode chars, the alignment is broken. Hence moving name to
the last column. This also makes the view compact.
Moving block and char dev indicators in the space for size.
2017-03-31 21:30:00 +05:30
Arun Prakash Jana eb12354ce4
Show indicator with filename in bar 2017-03-31 19:32:59 +05:30
Arun Prakash Jana 86c3f75512
Fix: can't go to parent if only dir name specified
Invoking nnn with:

nnn dir
nnn ./dir
nnn dir

wouldn't allow user to navigate to parent directory.
2017-03-31 01:34:41 +05:30
Arun Prakash Jana 8775a52779
Rename project to nnn (Noice is Not Noice) 2017-03-30 23:57:38 +05:30
Renamed from noice.c (Browse further)