Commit graph

806 commits

Author SHA1 Message Date
Arun Prakash Jana d5512462af
Move nlaunch to plugins as launch 2019-12-09 00:34:53 +05:30
Arun Prakash Jana 3b2b6f2b46
Fix only the last file path is copied to selection buffer 2019-12-06 22:24:35 +05:30
Arun Prakash Jana 9b384799b7
Cancel option for open with 2019-12-06 20:21:31 +05:30
Arun Prakash Jana 7f2bf343f8
Use ISO 8601 in status bar 2019-12-05 21:03:05 +05:30
Arun Prakash Jana 90108ba763
Prepare for release v2.8.1 2019-12-05 04:47:32 +05:30
KlzXS 809b1885fb Fix always archiving current file (#396) 2019-12-04 18:25:41 +05:30
Arun Prakash Jana cc36aa8d49
Prepare for release v2.8 2019-12-04 02:58:27 +05:30
Arun Prakash Jana add789c002
Use common construct for utility names 2019-12-03 21:11:06 +05:30
Arun Prakash Jana 5cd9794102
Remove redundant assignment 2019-12-02 22:24:06 +05:30
Arun Prakash Jana 6001eeb9a4
Disable rollover at edges on scroll 2019-12-02 18:24:59 +05:30
Arun Prakash Jana 3f0c604111
Option -R to disable rollover at edges 2019-12-01 23:00:06 +05:30
Arun Prakash Jana feb1d2fc27
Handle some keys as special only if filter is empty 2019-12-01 19:58:08 +05:30
Arun Prakash Jana 130cea3598
Adapt picker mode to new selection changes 2019-11-30 20:36:04 +05:30
Arun Prakash Jana e28197f066
Remove a startup loop and use self-fixing 2019-11-30 19:51:57 +05:30
Arun Prakash Jana 178705a951
End selection before archive, new, rename 2019-11-30 16:15:12 +05:30
Arun Prakash Jana 0a5dc2e336
Selection should work across contexts 2019-11-30 04:28:09 +05:30
Arun Prakash Jana ef88a31a7c
Do not access invalid lastdir 2019-11-30 03:51:29 +05:30
Arun Prakash Jana f9058e1aaa
Support link creation for hovered file 2019-11-29 20:58:12 +05:30
Arun Prakash Jana 965499c671
Show all selected files on M 2019-11-29 08:38:11 +05:30
Arun Prakash Jana 35b3cf3b1f
Update program help 2019-11-29 02:11:27 +05:30
Arun Prakash Jana 20ac9da988 Support deselection 2019-11-28 23:13:10 +05:30
Arun Prakash Jana 249836923e
Reduce delay, use a more meaningful msg 2019-11-25 08:21:14 +05:30
Arun Prakash Jana e4ffe35892
Update comment to reflect millisecond 2019-11-25 07:50:22 +05:30
Arun Prakash Jana e6f9d6d2d0
Add rclone support for remote access 2019-11-24 21:24:32 +05:30
Arun Prakash Jana 5d0af863b5
Set hovered and file as 2019-11-24 02:13:27 +05:30
Arun Prakash Jana ca7405311f
Force undetachable edits in EDITOR 2019-11-24 01:54:06 +05:30
Arun Prakash Jana c2998a819b Revert "Indicative inode hash bitmap implementation. Read details."
This reverts commit 547d87bfc2.
2019-11-23 10:07:05 +05:30
Arun Prakash Jana 547d87bfc2
Indicative inode hash bitmap implementation. Read details.
Known issues:
- To optimize dentfill() on most architectures we don't fstatat() with
  AT_SYMLINK_NOFOLLOW to get the inode number of the symlink itself.
- The current hash size serves the purpose of one filesystem. To serve
  more and have unique bits, we have to add more bits to prefix dev ID
  to the inode.  Memory consumption will be significant.

This will be reverted in next commit.
2019-11-23 10:05:06 +05:30
Arun Prakash Jana b63c00c9af
Quote so files with newline in name work 2019-11-22 23:43:43 +05:30
Arun Prakash Jana 2c35beb0a2
Rename utility macros 2019-11-22 20:46:05 +05:30
Arun Prakash Jana ababa87434
Organize strings together 2019-11-22 20:30:13 +05:30
Arun Prakash Jana d4b7897b41
All binary confirmation is now y or Y 2019-11-21 19:11:56 +05:30
KlzXS 4db8a61dea Don't use xargs options -I -o and -a (#388)
Also removed another stray cat
2019-11-21 18:19:55 +05:30
Arun Prakash Jana 7d70a655e6
Fix picker mode 2019-11-21 00:56:55 +05:30
Arun Prakash Jana 2d91768d88
Fix some cat abuses in code, plugins 2019-11-21 00:31:39 +05:30
Arun Prakash Jana 0c0f12b528
Use single API to create dir tree 2019-11-20 23:23:44 +05:30
Arun Prakash Jana f0ca47afae
dirs and files can be created with parent dirs 2019-11-20 21:11:13 +05:30
Arun Prakash Jana cc3702b2e1
Fix lint error 2019-11-20 01:34:07 +05:30
Arun Prakash Jana 3a9def25d8
Create new files and dirs with parent (like mkdir -p) 2019-11-20 01:28:11 +05:30
Arun Prakash Jana 9729b1f5a6
Refresh dirs on disruptive chnages, update sxiv plugin to browse and rename 2019-11-19 21:01:59 +05:30
Arun Prakash Jana 97e16364bb
Readahead is not available on all platforms 2019-11-18 22:04:09 +05:30
Arun Prakash Jana 6d3f3ba6a2
Show [selmode:num_selected] in status bar 2019-11-18 21:46:38 +05:30
Arun Prakash Jana 084a4c77c5
Add key ] to show prompt 2019-11-18 20:21:00 +05:30
Arun Prakash Jana 8705cb99a3
Seek advantage of kernel readahead()
References:
1. http://man7.org/linux/man-pages/man2/posix_fadvise.2.html
2. https://www.oreilly.com/library/view/linux-system-programming/9781449341527/ch04.html
2019-11-18 19:54:14 +05:30
Arun Prakash Jana 0ef9ec196e
Use boxes to show number of selected files. 2019-11-18 19:34:03 +05:30
Arun Prakash Jana 3004694cd4 Update man page on executing commands directly.
Remove extra static string.
2019-11-18 18:57:04 +05:30
Arun Prakash Jana 4ee9e2d129
Add key ; to execute plugin 2019-11-18 00:30:00 +05:30
Arun Prakash Jana 4f787fd59e
Fix line count when editing selection 2019-11-17 20:26:01 +05:30
Arun Prakash Jana 0f5f04d087 Revert "Fix #384: support busybox xargs"
This reverts commit 407b690404.
2019-11-17 19:17:39 +05:30
Arun Prakash Jana 407b690404
Fix #384: support busybox xargs 2019-11-17 17:45:22 +05:30
Arun Prakash Jana 6693bf8f13
Fixes the following workflow:
- press pick plugin key
- navigate away from the plugin directory (to ~, say)
- try to open any file, fails

When we are in run plugin mode, but detect we are in a different
context or a non-plugin directory, just cancel the runplgin mode
and continue as usual.

It also cleans up the plugin run function.
2019-11-17 10:05:23 +05:30
Arun Prakash Jana 05c84f7b80
Clear prompt after running a command. 2019-11-17 05:36:39 +05:30
Arun Prakash Jana e3aed0f658
Update help 2019-11-17 05:30:14 +05:30
Arun Prakash Jana 61048258a7
Do not reload for help, edit and page if in selection mode 2019-11-17 04:49:50 +05:30
Arun Prakash Jana efa9a6727d
Change the key to size sort to z 2019-11-17 04:11:27 +05:30
Arun Prakash Jana 37bf6b1010
Redraw in non-filter mode after hovered file deletion 2019-11-16 21:46:15 +05:30
Arun Prakash Jana 88698b372b
Edit also flushes selection 2019-11-16 20:39:05 +05:30
Arun Prakash Jana 4c863d9b7b
Do not check for events when selecting files 2019-11-16 20:10:03 +05:30
Arun Prakash Jana c7b037d6a1
Use small letters 2019-11-16 14:06:38 +05:30
Arun Prakash Jana 2b4bd35ba6
Simplify running commands 2019-11-16 07:20:18 +05:30
Arun Prakash Jana f31fa09f56 Fix issue with running plugin when help screen is shown 2019-11-15 22:36:57 +05:30
Arun Prakash Jana 950a8f6a65
Fix #381 2019-11-15 21:55:18 +05:30
Arun Prakash Jana 3c28d1f1d7
Refactor plugin handling 2019-11-14 02:55:05 +05:30
Arun Prakash Jana fa4c37f230
Fix segfault 2019-11-11 21:43:56 +05:30
Arun Prakash Jana 12f108cac9
Fix fzcd not working from other contexts 2019-11-09 02:52:44 +05:30
Arun Prakash Jana 53a2e4c560
Incorporate PR #368 2019-11-08 19:15:53 +05:30
Arun Prakash Jana 9272c90f93
Removal of current dir can be a pain without force 2019-11-05 22:05:49 +05:30
Arun Prakash Jana 8a7d2bd1ed
Clear buffer for no locale compilation 2019-11-05 20:03:12 +05:30
Arun Prakash Jana 94e4dc51ba
Make bulk delete more verbose 2019-11-05 19:52:07 +05:30
Arun Prakash Jana 6713bfba13
Fix #373 2019-11-02 21:50:26 +05:30
Arun Prakash Jana 169c2141f6
Print improvements 2019-11-02 07:51:45 +05:30
Arun Prakash Jana 5c336fb7da
Fix build break 2019-11-01 16:19:34 +05:30
Arun Prakash Jana ef8db1fd45
Show size of file in bytes in status bar in du mode 2019-11-01 15:28:13 +05:30
Arun Prakash Jana 7416bb8503
Print version in debug output 2019-11-01 02:34:06 +05:30
Arun Prakash Jana 6eeab1af9f
Use macro for 512B sector size 2019-10-30 22:43:22 +05:30
Arun Prakash Jana a97e3ed5c4
Fix opening files from browser 2019-10-30 20:17:31 +05:30
Arun Prakash Jana b987931f47
Do not pass path to commands 2019-10-24 20:25:07 +05:30
Arun Prakash Jana 5bebd4ac67
Extend plugin mechanism to arbitrary commands 2019-10-24 12:44:01 +05:30
Arun Prakash Jana cb916661c8
Minor reformat 2019-10-24 11:53:34 +05:30
Arun Prakash Jana 5734f49126
Fix KEY_RESIZE loop 2019-10-24 08:47:45 +05:30
Arun Prakash Jana 3dd95fd9a8
Fix checkpatch warnings 2019-10-24 08:44:36 +05:30
Anna Arad 9afd7cf3bf Implement plugins control of nnn + plugins (#364)
* Implement plugins control of nnn + plugins

* Refactor plugins control code and fix getplugs to recognize hidden files

* Fix bug when going to dir on non-current context from plugin

* Fix some plugins to work on openbsd and freebsd

* Renamings

* Switch to -R flag in cp instead of -r; BSDs complain

* Change braces of function location

* Rewrite plugin creation in README and add new plugins to the table

* Update the fzcd script to include fzy or fzf

* Change plugin name resolve-link-dir -> lncd

* Fixing plugins README table

* Remove some cd plugins but add them as examples to plugins README
2019-10-23 15:34:12 +05:30
Arun Prakash Jana 0144f44060
Remove special characters from help 2019-10-21 20:13:52 +05:30
Arun Prakash Jana 3966465171
Change spaces to tab 2019-10-21 06:55:19 +05:30
Arun Prakash Jana 651b27032d
Fix #366 2019-10-20 19:37:35 +05:30
Arun Prakash Jana f601d825bc
Refactor fixes 2019-10-20 19:19:25 +05:30
Arun Prakash Jana 71bf18cee3
Refactor 2019-10-20 05:35:41 +05:30
Arun Prakash Jana 1b3b9f503d
Refactor cp, mv, cp-mv as, rm 2019-10-19 13:25:50 +05:30
Arun Prakash Jana 95e9151c90
Refactor screen move 2019-10-19 09:10:52 +05:30
Arun Prakash Jana 864273dd9b
Refactor current directory removal 2019-10-19 08:43:32 +05:30
Arun Prakash Jana ae7a3fbdc1
Clean up plugin handling code 2019-10-19 07:00:04 +05:30
Arun Prakash Jana 3aebeaec58
Update docs on session 2019-10-19 04:03:46 +05:30
Anna Arad 60dac94a5e Implementing sessions support (#360)
* Initial commit of sessions implementation

* Reduce code duplication

* Move load session to program flag -e

* Fix context initialization problem when loading session

* Add pinned directory to session and reduce session file size

* Make load_session print an error if exists and few minor adjustments

* Refactor session's file structure

* Initialize required structures in load_session before loading

* Add load session dynamically, restore last session, and extra fixes

* Fix indentation

* Add sessions documentation to man page

* Update fish completions with sessions and make some improvements

* Move to single keybinding session management and add help info

* ESC when asked to insert session name behaves better

* Add sessions completion for bash

* Remove pinned dir from session and minor code refactors
2019-10-19 03:41:39 +05:30
Arun Prakash Jana 2da5602a4f
Use a single keybind for cp/mv as 2019-10-17 23:35:49 +05:30
Arun Prakash Jana 522626a88d
Combine related cases together 2019-10-16 08:29:49 +05:30
Sijmen J. Mulder 3953639c5d Fix build (and more) on SmartOS (#363)
* Define _XOPEN_SOURCE_EXTENDED on SmartOS

Enables wide ncurses.

* SmartOS has alloca() in alloca.h

* SmartOS does not have sig_t

* dprintf() is not available on SmartOS

So replace its usage with fprintf.

* SmartOS has no d_type

* SmartOS has no CLOCK_MONOTONIC_RAW

* SmartOS has no O_DIRECTORY

* Work around SmartOS not having mime detection

* Missing comma
2019-10-16 07:07:45 +05:30
Sijmen J. Mulder 98042ad7d0 Fix strftime() buffer overflow (#362)
If the formatted string is longer than 17 characters the string won't
be null terminated, causing gibberish to be printed on the status line
and possibly worse.

This occurs with my current locale in which a date is printed as such:

  2019-okt.-15 19:26

Which is 18 characters.
2019-10-16 07:01:19 +05:30
Arun Prakash Jana 43c636d95c
Simplify functions 2019-10-15 06:15:32 +05:30
Arun Prakash Jana 269b80dbb2
Minor reformat 2019-10-15 05:56:34 +05:30
Arun Prakash Jana 29a934a1d2
Improve readibility 2019-10-15 04:17:12 +05:30