Commit graph

1664 commits

Author SHA1 Message Date
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
Arun Prakash Jana cc82403be4
More icon extns, reserve number entries 2020-08-16 16:51:55 +05:30
Arun Prakash Jana 5db2298956
Support icon-specific colors 2020-08-16 13:49:09 +05:30
Arun Prakash Jana d86810a425
Minor reformat 2020-08-16 06:54:47 +05:30
KlzXS a85467d462
Icons (#697)
* Add icons

* Fix build break

* Fix icon position in detailed mode

* Various fixes

* Provision for icon specific colors

No icons with oldcolor. Small optimizatons

* Update Makefiles

Small refinement for other matching
2020-08-16 06:30:58 +05:30
Arun Prakash Jana 8a82c58a2a
More appropriate enum name 2020-08-15 20:21:22 +05:30
Arun Prakash Jana 5fa16dbd15 Force accurate regex match 2020-08-15 17:32:27 +05:30
Arun Prakash Jana 9459b15672
Simplify and preprocess archive handling 2020-08-14 08:20:01 +05:30
ucs 52d3d514ce Revert "Set Escape delay to 0"
An ESCDELAY of 0 can break long escape sequences, such as the arrow keys,
on slower terminals.

This reverts commit 2599564e64.
2020-08-12 11:55:15 +02:00
Jana fb454a5046
Merge pull request #693 from CodeforEvolution/haikuUpdate
Haiku: General fixup, add icon, add rdef file
2020-08-11 22:20:01 +05:30
ucs dd6976dfad Fix some directories not opening 2020-08-10 13:02:47 +02:00
CodeforEvolution 6f9571a805 Haiku: General fixup, add icon, add rdef file
- Add a native vector icon for Haiku (it hasn't been Haiku-ified yet however)
- Add a rdef file (specifies application metadata)
- Add clipboard support, notififcation support, and basic nuke support
- Fix support for fortunes on Haiku ("-s" option is not available on Haiku)
- Cleanup Haiku recipe
2020-08-09 22:19:51 -05:00
Arun Prakash Jana aa8769ecee
Reduce a check 2020-08-09 14:04:27 +05:30
Arun Prakash Jana 966fe839ee
Support traversal on creation, update docs 2020-08-08 10:42:37 +05:30
Arun Prakash Jana c566afd819 Revert "Move helper APIs to header file"
This reverts commit 1fecdb2393.
2020-08-07 23:16:17 +05:30
Arun Prakash Jana 1fecdb2393
Move helper APIs to header file 2020-08-07 23:10:25 +05:30
Arun Prakash Jana 7dbf1ca3b7
Update docs 2020-08-06 10:22:17 +05:30
Arun Prakash Jana 75c34d5f68
Fix #692 (partially) 2020-08-06 01:30:56 +05:30
Arun Prakash Jana 5e3a793480
File colors is independent of context colors 2020-08-06 01:06:21 +05:30
Arun Prakash Jana 8ddc659df8
Initialize file type colors as default 2020-08-06 00:27:12 +05:30
Arun Prakash Jana f712441eda
Utility functions to top, API to get file extn 2020-08-05 20:36:50 +05:30
Arun Prakash Jana a1b43ae830
Show locaiton in context color 2020-08-05 20:05:27 +05:30
Arun Prakash Jana 8c2e1726ba
Show file details in file missing colors 2020-08-05 16:35:45 +05:30
Arun Prakash Jana 13ccf25551
Set dir to bold only if required 2020-08-05 13:12:11 +05:30
Arun Prakash Jana b1ff36eb05
Code reformat 2020-08-05 12:59:54 +05:30
Arun Prakash Jana 11cc2797bb
Show dirs in bold 2020-08-05 00:11:56 +05:30
Arun Prakash Jana 3a61b3fc7f
Fix build break 2020-08-04 22:25:17 +05:30
Arun Prakash Jana 66bb5a67d6
Update docs 2020-08-04 22:19:01 +05:30
Arun Prakash Jana ef2d5a54d2
Support file colors in detail mode 2020-08-04 21:02:19 +05:30
Arun Prakash Jana 42fd2a4d13
Program option to use older 2020-08-04 20:36:19 +05:30
Arun Prakash Jana ae961da157
Support file colors 2020-08-04 19:22:29 +05:30
Arun Prakash Jana ccfccb7187
Detect odd hex symbols in NNN_COLORS 2020-08-04 00:42:58 +05:30
Arun Prakash Jana 8d94809897
Identify orphaned symlinks 2020-08-03 23:55:14 +05:30
Arun Prakash Jana 33953147d6
Use wrapper API 2020-08-03 22:25:42 +05:30
Arun Prakash Jana f03ddb587c
Fix #691 2020-08-03 14:57:00 +05:30
Arun Prakash Jana 2fbb6ae35f
Minor reformat 2020-08-02 23:58:52 +05:30
Arun Prakash Jana b3f2e47173 Revert "Reduce processing if NNN_COLORS is unset"
This reverts commit b948423a80.
2020-08-02 23:18:13 +05:30
Arun Prakash Jana b948423a80
Reduce processing if NNN_COLORS is unset 2020-08-02 23:15:48 +05:30
Arun Prakash Jana 359b6f7a37
Clear selection list after copy
Without this, there is a conflict with using the `-u` option (use selection).
After copying selected files, the selection is intact and if the user issues
a deletion next, the source files (meant for copying) are deleted.
2020-08-02 19:16:15 +05:30
Arun Prakash Jana d5e303beb7
Fix illegal access 2020-08-02 17:03:35 +05:30
Arun Prakash Jana 83fa6a0ff6
Support xterm 256 color 2020-08-02 16:28:25 +05:30
Arun Prakash Jana 110a4eb108
Avoid redundant printw() call for order 2020-08-02 00:54:07 +05:30
Arun Prakash Jana 9bad3c9399
Show selection in reverse in status bar 2020-08-02 00:40:51 +05:30
Arun Prakash Jana 1fb1ab55a7
Fix build break 2020-08-01 23:31:30 +05:30
Martin Roa Villescas e557bd2ed9
Write last dir on quit in vim picker mode 2020-08-01 22:53:27 +05:30
Arun Prakash Jana defc1965ee
Code reduction 2020-07-22 20:19:38 +05:30
Arun Prakash Jana 32ec37a796
Create mountpoint by hostname, clear prompt 2020-07-22 17:57:15 +05:30
Arun Prakash Jana f4ff4b0793
Fix #684: support path appended to hostname 2020-07-22 17:00:45 +05:30
Arun Prakash Jana a58c65a51a
Fix #685: indicator H fo hidden 2020-07-21 22:30:30 +05:30
Arun Prakash Jana f17911e189
Prepare for release v3.3 2020-07-14 05:50:22 +05:30
Arun Prakash Jana a02ff64e9c
Update help 2020-07-13 00:20:12 +05:30
Arun Prakash Jana 387bd048e7
Alt+Esc to exit nav-to-type and redraw 2020-07-13 00:00:34 +05:30
Arun Prakash Jana 890425c08c
Add a note that Esc cancels 2020-07-09 20:30:30 +05:30
Arun Prakash Jana 1d8a14c6b4
Fix #675 2020-07-09 20:25:39 +05:30
Arun Prakash Jana d3e20e9015
Use the term mark instead of pin 2020-07-07 07:57:43 +05:30
Arun Prakash Jana 6fa4978230
Pin dir when visitng target file in find and list 2020-07-07 07:29:38 +05:30
Arun Prakash Jana 709e7bd7dd
Remove snprintf() from start-up path 2020-07-04 23:01:36 +05:30
Arun Prakash Jana 1faf9f2480 Revert "Simplify check"
This reverts commit 37e5e6189a.
2020-06-28 20:33:54 +05:30
Arun Prakash Jana 4178aaa98e
Copy the correct length 2020-06-28 00:52:24 +05:30
Arun Prakash Jana 90cf84186a
Minor refactor 2020-06-28 00:09:48 +05:30
Arun Prakash Jana 06651f3f00
Fix build break 2020-06-27 23:48:23 +05:30
KlzXS 45d96ee60d
Add relative paths support for cp/mv as (#668) 2020-06-27 23:16:17 +05:30
Arun Prakash Jana cb9e785145
Fix build break 2020-06-27 23:14:14 +05:30
Arun Prakash Jana 56b96cbf74
Pin current path on archive/remote mount 2020-06-27 22:22:20 +05:30
Arun Prakash Jana 37e5e6189a
Simplify check 2020-06-25 19:59:47 +05:30
Sijmen J. Mulder 235eb29614
Fix check when char is unsigned (#665)
If char is unsigned (as on ARM) subtracting a larger number would
result in a wrap around, not a negative value.

  src/nnn.c: In function 'readpipe':
  src/nnn.c:4325:11: warning: comparison is always false due to limited
  range of data type [-Wtype-limits]

     if (ctx < 0 || ctx > CTX_MAX)
             ^
2020-06-24 04:35:42 +05:30
Sijmen J. Mulder 3686ef756a
Always use builtin alloca() (#666)
Fixes the build on NetBSD 9 on arm64.

GCC expands alloca() to __builtin_alloca() but only in nonstandard mode,
e.g. when -std=... is not supplied.  In standards mode (with -std=...)
alloca() is left undefined by GCC. The C library may define it but it
also may not, as on NetBSD on arm64:

    $ uname -srp
    NetBSD 9.0 aarch64

    $ cat alloca.c
    #include <stdlib.h>
    int main() { char *p = alloca(10); }

    $ gcc alloca.c

    $ gcc -std=c99 alloca.c
    alloca.c:(.text+0xc): warning: Warning: reference to the libc
     supplied alloca(3); this most likely will not work. Please use the
     compiler provided version of alloca(3), by supplying the
     appropriate compiler flags (e.g. not -std=c89).
    ld: alloca.c:(.text+0xc): undefined reference to `alloca'

The fix is to either not use standards mode (undesirable) or to
explicitly use the builtin, which is what this patch does.

This is also sufficient for Solarius/Illumos so that check and include
are removed.
2020-06-24 04:17:05 +05:30
Arun Prakash Jana 306af787ca
Add -Wshadow to CFLAGS and fixes 2020-06-22 09:17:59 +05:30
lvgx 7a1a4e293e
Avoid SIGWINCH interruptions of NNN_PIPE IO (#659)
Fixes #656
2020-06-19 07:10:37 +05:30
Arun Prakash Jana 4b4bf6cca5
Option -u to disable current/selection prompt 2020-06-15 19:54:44 +05:30
Arun Prakash Jana d9b8b0e821
Clear selection after some operations (see notes)
Selection is cleared after successful:
- file removal
- batch rename
- link creation

However, selection is not cleared after:
- archive creation: user may want to delete the files after archiving
2020-06-15 19:13:08 +05:30
Arun Prakash Jana 7c802cce60
Show '+' in statusbar instead of 's' for selection 2020-06-14 09:56:34 +05:30
Arun Prakash Jana b3076e35d6
Refactor key-val pair parsing 2020-06-14 00:31:48 +05:30
Arun Prakash Jana a1ec2236d8
Make once-used function inline 2020-06-14 00:09:16 +05:30
Ian R 1f22da2994
Feature #534: Support hardware cursor sync 2020-06-11 11:30:43 +05:30
Arun Prakash Jana b3e2ffc2e6
Selection mode don't need to be persistent 2020-06-09 23:43:49 +05:30
Arun Prakash Jana 05b1db059e
Plugin run flags don't need to be persistent 2020-06-09 23:33:32 +05:30
Arun Prakash Jana 796334354e
Picker mode doesn't need to be persistent 2020-06-09 23:03:36 +05:30
Arun Prakash Jana b481b23280
Retain order on session load 2020-06-09 22:26:35 +05:30
Arun Prakash Jana c5f0a25e7e
Simplify subdir creation 2020-06-08 21:56:33 +05:30
Arun Prakash Jana d19d8d5f02
Derive session and mount paths, shorten paths 2020-06-08 09:44:53 +05:30
Arun Prakash Jana b62adec72c
Subdir 'mounts' for remote/archive mounts 2020-06-08 08:48:20 +05:30
Arun Prakash Jana fdfbac0386 Fix #639: store NNNLVL in tmp var 2020-06-07 00:35:05 +05:30
Arun Prakash Jana 65cf067dc4 Fix #637: remove mount dir after unmount 2020-06-06 16:22:32 +05:30
Arun Prakash Jana 58fd92c7ae
Add new ToDo list 2020-06-03 16:12:27 +05:30
Arun Prakash Jana 2fc115bddc
Esc to send hovered path to FIFO 2020-06-03 15:56:10 +05:30
Arun Prakash Jana 709c0d209e
Force notify on left click (right selects & updates) 2020-06-03 14:51:52 +05:30
Arun Prakash Jana 1dbbc45c78
Key | to send file path to FIFO 2020-06-02 16:50:06 +05:30
Arun Prakash Jana 61b4416e08
Refresh hovered for preview on mouse click 2020-06-02 16:29:26 +05:30
Arun Prakash Jana 0ebc6db163
Fix #624: wait for user input if cmd fails 2020-06-01 21:21:01 +05:30
Sijmen J. Mulder 68b9185071
Wrap FILE_MIME_OPTS use in check (#622)
We leave it undefined on Solaris/Illumos because no such options exist,
so only use it if we have it.
2020-06-01 06:47:03 +05:30
Arun Prakash Jana 8549121d86
Remove redundant key F5 2020-05-31 23:20:08 +05:30
Arun Prakash Jana 7263a5f89b
Do not auto-revive filter in nav-to-type mode 2020-05-31 23:05:59 +05:30
Arun Prakash Jana 4a2d978630
Simplify get_input() 2020-05-31 20:10:11 +05:30
Arun Prakash Jana 984cffecc4
Set the corrent keybind for plugin 2020-05-31 13:27:05 +05:30
Arun Prakash Jana 8e9c4ec88b
F5 to redraw (even with filter) 2020-05-30 23:25:01 +05:30
Arun Prakash Jana 04f9698d86 Retire ^S as select plugin 2020-05-30 22:02:55 +05:30
Arun Prakash Jana 309ed0ed67
Remove NNN_PIPE on exit 2020-05-30 15:31:37 +05:30
Arun Prakash Jana e3d90a98ce
Support make option O_CTX8 for 8 contexts
Note that this is not compatible with 4 contexts.
2020-05-30 07:01:34 +05:30
Arun Prakash Jana 4d291d0ac2
Use bitfields for runtime transient states 2020-05-30 06:45:45 +05:30
Arun Prakash Jana 32ab43a9ff
Handle number of contexts in a generic fashion
This supports using a power of 2 number of contexts like 2, 4 or 8.
Note that the number of contexts are not backward compatible. So if
user is having 8 contexts and plans to use 4, his sessions with > 1
contexts open may break.

We can have a make option to enable 8 contexts. 4 remains default.
2020-05-30 06:07:53 +05:30
Arun Prakash Jana c48b8d02a1 Revert "Alt+Enter: clear filter and exit filter prompt"
This reverts commit 2232772db4.
2020-05-30 05:24:41 +05:30
Mischievous Meerkat e47a04865e
Merge pull request #607 from leovilok/signals
Cleanly handle SIGTERM and SIGHUP
2020-05-30 05:08:45 +05:30
lvgx 41dc17883a
Fix detecting end of evironment options (#610)
This allow using both NNN_OPTS and options with arguments from argv.
2020-05-30 04:51:16 +05:30
Léo Villeveygoux 75e8bf44be Use sigaction() instead of signal() 2020-05-29 22:48:36 +02:00
Léo Villeveygoux 3426d0d0a3 Cleanly handle SIGTERM and SIGHUP 2020-05-29 22:48:36 +02:00
Arun Prakash Jana 2232772db4
Alt+Enter: clear filter and exit filter prompt 2020-05-29 22:16:36 +05:30
Arun Prakash Jana 87bb2d7742
Remove F5 for toggle hidden (misfit) 2020-05-29 09:25:33 +05:30
Arun Prakash Jana 2599564e64
Set Escape delay to 0 2020-05-29 08:51:22 +05:30
Arun Prakash Jana dd5a936bf4
Alt+Esc to clear filter and exit filter prompt
It's a little annoying that one has to press ^L followed by Esc to go back
to the normal view. We cannot reload the directory on Esc because that will
break the filter filtered view feature. So we take this route.
2020-05-29 08:50:33 +05:30
Arun Prakash Jana 713bab21ea
Prepare for release v3.2 2020-05-26 05:38:38 +05:30
Arun Prakash Jana 38829e5610
Fix build break 2020-05-24 09:28:29 +05:30
Arun Prakash Jana 56886922a6
Select file if file path is passed 2020-05-24 03:33:39 +05:30
Arun Prakash Jana c1f88d00ff
Fix filterfn not in sync with cfg.regex 2020-05-24 01:51:59 +05:30
lvgx b1027150ed
Add -a option to generate a temporary NNN_FIFO (#588)
* Add -a option to generate a temporary NNN_FIFO

* Add documentation for -a option

* plugins/README.md: promote the use of -a

This obsoletes the global FIFO unlink trick, so I remove mentions of it.
@jarun update:

Polish -a
2020-05-23 17:40:51 +05:30
Arun Prakash Jana a4909beb44
Fix build break 2020-05-20 19:07:00 +05:30
Arun Prakash Jana 9e41c39138
Fix #582 2020-05-20 18:46:12 +05:30
lvgx 0c916ae7b0
Notify FIFO readers on exit (if any) (#581)
This allows to close preview windows opened just before exiting nnn.
2020-05-19 22:29:13 +05:30
Arun Prakash Jana b465bf9427
Fix regression from commit 2200a1c 2020-05-19 17:54:36 +05:30
Arun Prakash Jana 709b2f229e
Fix build break 2020-05-19 08:50:04 +05:30
Arun Prakash Jana 1b5c3096ca
Option -P: specify plugin key to run on start 2020-05-18 09:05:19 +05:30
Arun Prakash Jana cafcf1c485
Take to target on Right/l on symlink in list dir 2020-05-17 22:54:39 +05:30
Arun Prakash Jana 74b95eb9bd
Fix #575 2020-05-16 15:31:34 +05:30
Arun Prakash Jana 124666cb38
Fix #571 2020-05-14 12:46:37 +05:30
lvgx 2200a1c9be
Allow launching plugins with Alt + plugin's key (#569)
* Allow launching plugins with Alt + plugin's key

* Fix Alt key in filter/prompts modes

* Fix handling Alt key in nextsel()

In filter mode: run the associated plugin.
In prompt mode: just throw out the Alt+key input.
In nextsel(): differentiate Alt+key and Esc
2020-05-13 12:29:47 +05:30
Arun Prakash Jana 38e61fb864
Skip printing and erasing 2020-05-12 15:15:47 +05:30
Arun Prakash Jana 5f3faf613a
Do not leak wfd 2020-05-10 22:50:29 +05:30
Arun Prakash Jana 861d44f934
Simplify cd 2020-05-10 19:15:40 +05:30
Arun Prakash Jana cfd4a66596
Fix #565: chdir when dir is changed 2020-05-10 16:23:45 +05:30
Arun Prakash Jana 14beb0746f
Fix #564: Option -l: number of lines to move on mouse scroll 2020-05-10 11:22:02 +05:30
Arun Prakash Jana 609561494f
Remove blocking pipe open in child 2020-05-10 11:19:13 +05:30
Arun Prakash Jana f0535dbd76
Use standard exit status everywhere 2020-05-10 10:04:03 +05:30
Arun Prakash Jana 0b0166816a
Use exit status 2020-05-10 09:57:20 +05:30
Arun Prakash Jana 1f51417c63
Fix reading from pipe when running plugin 2020-05-10 00:47:02 +05:30
Arun Prakash Jana 151bbf000d
Increase pipe capacity 2020-05-09 14:55:21 +05:30
Arun Prakash Jana db3a46a197
Ignore -S when start dir is specified 2020-05-06 23:26:40 +05:30
Arun Prakash Jana 2a5f8433b8
Ignore false lint issue 2020-05-06 21:28:59 +05:30
Arun Prakash Jana ab9f560fa8
Fix no preview update when dir changed with same entry number hovered 2020-05-06 19:29:46 +05:30
Arun Prakash Jana ce06bf15d6
Fix broken dir read from pipe 2020-05-06 19:03:29 +05:30
Arun Prakash Jana 4832fc5fe1
Drop fzy support 2020-05-06 18:41:01 +05:30
Léo Villeveygoux 5b34d0dbe7 Prevent open FIFO prom leaking to subprocess
This fix previews window staying open after nnn exits, because they
inherited open FIFO (in write mode) from parent nnn process, and never
close it.
2020-05-06 01:45:21 +02:00
Arun Prakash Jana 4c18f22587
Fix double free when starting in list mode 2020-05-05 23:35:14 +05:30
0xACE 65da1c1941
Double click only works on same item (#555)
This patch disables accidental triggering of double clicking when you
are just single clicking on multiple objects fast.
2020-05-05 18:02:42 +05:30
0xACE c9f0e279af
SEL_FIRST now displays the correct message (#556)
A bit scary when you get prompted to remove a file but you wanted to
select a file.

I also made sure all strings are correctly ordered.
2020-05-05 17:49:26 +05:30
Arun Prakash Jana 6ee257920d
Fix context range check 2020-05-05 17:14:42 +05:30
lvgx 86e579799b
Add an option to print hovered files to a FIFO (#548)
* Add an option to print hovered files to a FIFO

This adds an env variable, `NNN_FIFO`, that can be set to a path that
`nnn` will open/create as a FIFO, and where every hovered file's path is
printed. This allows creating external perview/quick open plugins, ...

It can be compiled out with the make variable `O_NOFIFO`.

* Check filename ptr instead of full path (for FIFO)

* Add documentation to use NNN_FIFO in plugins

* Fix path sent to FIFO in empty dirs
2020-05-04 09:35:13 +05:30
Arun Prakash Jana b5de18c28f
Use const type 2020-05-04 07:48:51 +05:30
Arun Prakash Jana 625c8d11f4
Refactor move_cursor() 2020-05-04 06:17:38 +05:30
Arun Prakash Jana f2fd923573
Fix #550 2020-05-04 04:25:26 +05:30
Arun Prakash Jana ffc0790fba
Add is_prefix(), block empty files completely 2020-05-04 04:08:12 +05:30
Arun Prakash Jana ebb6f153b5
Context code '+' to create context smartly 2020-05-03 16:25:59 +05:30
Arun Prakash Jana 3f60a1931f
Decouple listpath and initpath 2020-05-03 15:25:19 +05:30
Arun Prakash Jana 8b764a5f7c
Show messages appropriately 2020-05-03 15:14:26 +05:30
Arun Prakash Jana eee5057da5
Plugin mimelist: support reading file list from (cmd as) plugin 2020-05-03 14:55:33 +05:30
Danh Doan e8e87f6ba2
browse: fix nnn -e (#549)
The current code will start editor if the mime doesn't start with
"text/". But, we want the opposite.

Simplify the check by using `strncmp` instead.

We may improve by writing a helper: `start_withs` in the future.

This change also cleans -Wstrict-aliasing on Ubuntu 16.04 LTS
2020-05-03 09:56:16 +05:30
Arun Prakash Jana ff568ea748
Simplify unescape() in no locale mode 2020-05-03 02:52:48 +05:30
Arun Prakash Jana f5c6f4f90b
Dim file details in detail mode 2020-05-02 19:58:10 +05:30
Arun Prakash Jana f1a9446b99
Use mem* function 2020-04-27 08:25:13 +05:30
Arun Prakash Jana e7147c1f39
Show error at source 2020-04-26 14:05:56 +05:30
Arun Prakash Jana 33fdbc2216
Fix #537 2020-04-26 13:54:12 +05:30
Arun Prakash Jana 6689870460
Fix buffer cleanup 2020-04-26 10:59:01 +05:30
Arun Prakash Jana 01392d48ad
Fix buffer cleanup 2020-04-26 02:37:16 +05:30
Arun Prakash Jana 99d21531b4
Use memrchr if available 2020-04-26 02:06:17 +05:30
Arun Prakash Jana c732de32e4
Resolve path in list mode 2020-04-25 20:52:23 +05:30
Arun Prakash Jana 06fe7d52dd
Minor refactor 2020-04-25 03:42:34 +05:30
Arun Prakash Jana f8a243ea91
Silently ignore invalid paths (documented) 2020-04-25 00:46:29 +05:30
Arun Prakash Jana d118c4cc24
Fix #532: support picker and list modes together 2020-04-25 00:46:25 +05:30
Arun Prakash Jana fffaa74a09
Fix return and show error 2020-04-24 20:30:16 +05:30
KlzXS 7b7252dd32
Fix picker and list mode conflict (#533)
* Fix picker and list mode conflict

* Comment the change
2020-04-24 20:26:09 +05:30
Arun Prakash Jana bc572df55a
NNN_SEL: custom selection file 2020-04-24 18:12:18 +05:30
Arun Prakash Jana 752bc67de0
Bookmark key get priority over session 2020-04-24 09:54:43 +05:30
Arun Prakash Jana 4b5ecbe8fc
Do a complete erase 2020-04-19 03:11:12 +05:30
Arun Prakash Jana 12df1ab083
Fix listing files directly under / 2020-04-18 15:08:23 +05:30
Arun Prakash Jana b40e12ee9f
Remove hacky single path handling 2020-04-18 13:35:57 +05:30
Arun Prakash Jana 75724f9e3b
Fix #520: minimal erasure 2020-04-18 07:18:35 +05:30
Arun Prakash Jana 645f43355e
Fix #526: persistent session 2020-04-18 04:54:07 +05:30
Todd Yamakawa c63fb28eff
Fix #523: handle NNN_PIPE (#525)
Co-authored-by: Todd Yamakawa <todd.yamakawa@arm.com>
2020-04-17 17:51:57 +05:30
Arun Prakash Jana 58ecc240ed
Save offset in key-val pairs 2020-04-17 16:53:19 +05:30
Arun Prakash Jana e92b523976 Fix #523: create NNN_PIPE early 2020-04-17 08:54:50 +05:30
Arun Prakash Jana ddaddcaf21
Experimental: guards to reduce repeat screen redraws 2020-04-16 17:45:58 +05:30
Arun Prakash Jana 37ebf8054f
Go to first file or next match 2020-04-16 03:44:07 +05:30
Arun Prakash Jana 63c177bb15
Env var NNN_LOCKER 2020-04-16 00:29:45 +05:30
Arun Prakash Jana 135172a1c6
Fix #520 2020-04-15 22:36:33 +05:30
Arun Prakash Jana 124d66dcbd
Fix build break 2020-04-15 21:05:10 +05:30
Arun Prakash Jana 425c0559a5
One-pass key-val pair parsing for bms and plugs 2020-04-15 20:43:26 +05:30
Arun Prakash Jana ac8b56ecc2
Show entry even if no permission 2020-04-15 17:52:21 +05:30
Arun Prakash Jana 588b413832
Optimized xstrlen(), xstrdup() 2020-04-15 16:18:41 +05:30
Arun Prakash Jana 30a6caf8bc
Refactor set_time_type() 2020-04-14 22:38:33 +05:30
Arun Prakash Jana e0cdbcb521
Check for file first (more in number) 2020-04-14 20:59:37 +05:30
Arun Prakash Jana 1029ff0d5b
MInor refactor 2020-04-14 09:54:42 +05:30
Arun Prakash Jana e72fa538d7 Reduce the scope of loop variables 2020-04-13 23:21:43 +05:30
lvgx a6cef2504c
Make NNN_COLORS override NO_COLORS (#515) 2020-04-13 22:21:56 +05:30
Arun Prakash Jana cd1c458c96
Fix build break 2020-04-13 21:55:11 +05:30
Arun Prakash Jana a9436cfe7b
Fix build break 2020-04-13 21:42:23 +05:30
Arun Prakash Jana c58434d078
Fix symlink to dir indicator in detail mode 2020-04-13 20:42:19 +05:30
Arun Prakash Jana 35c3497364
Use memccpy 2020-04-13 20:35:14 +05:30
Arun Prakash Jana 315132b363
Happy Birthday nnn! 🍰 2020-04-13 09:01:09 +05:30
Arun Prakash Jana f54d51c863
Change nav-as-you-type to type-to-nav 2020-04-12 22:39:14 +05:30
Arun Prakash Jana 806b91b60d
Simplified dirname() 2020-04-12 17:44:29 +05:30
Arun Prakash Jana 2b3214bd58
Simplify finding valid parent 2020-04-12 17:12:14 +05:30