Commit graph

917 commits

Author SHA1 Message Date
Arun Prakash Jana
6da9d5f499 Support file path quote on copy 2018-01-28 11:34:18 +05:30
maxice8
ff502f0b3e Makefile: use PKG_CONFIG instead of hardcoding pkg-config (#78) 2018-01-22 18:39:17 +05:30
Arun Prakash Jana
e797a7eefd
Use macro for CRC8 table length 2018-01-19 20:39:23 +05:30
Arun Prakash Jana
98c79a69b5
Redraw if no entries when navigate-as-you-type is turned off
The main reason to do this is to start watching the current dir for changes. In
any case, this does not harm; if there are dir entries shown on redraw that's
better than showing nothing.
2018-01-17 20:22:07 +05:30
Arun Prakash Jana
cbfeec5625
keybind to pin current dir - b 2018-01-17 19:32:22 +05:30
Arun Prakash Jana
e359f60294
Set to last selection if filter is empty 2018-01-14 14:05:19 +05:30
Arun Prakash Jana
bac199d0cf
Use consistent date format 2018-01-14 12:43:20 +05:30
Arun Prakash Jana
9f4199481a
Improve common message handling 2018-01-14 12:11:46 +05:30
Arun Prakash Jana
9bcca1a45c
Use concise and lowercase messages 2018-01-14 10:20:41 +05:30
Arun Prakash Jana
e6580c38bf
Replace snprintf() with xstrlcpy() 2018-01-14 03:27:24 +05:30
Arun Prakash Jana
a40d29ba9f
Support multiple file path copy
Design overview:

We are introducing multiple file path copy as a mode which can be toggled using
the keybind `^Y`. `^K` works as the individual entry selector. If the user wants
to select a range, (s)he can press `^Y` on the first entry and `^Y` on the last
entry.

We subscribe to notifications, so we need a fail-proof way to detect changes in
the directory contents. For example, if a file is deleted, it becomes difficult
to get the names of all the files in a range containing that file. If the file
is on a range boundary it would lead to wrong calculations. To handle this the
right way we use CRC8 checksum of all the visible entries in the directory. The
checksum is calculated based on the file information buffer. If the CRC changes
on a redraw(), we reset the multi-select mode.

New line (`\n`) works as the delimiter between file paths. Note that you may have
to disable IFS in the `NNN_COPIER` script to show file paths separated by spaces.
2018-01-14 01:43:30 +05:30
Arun Prakash Jana
4800250814
Key changes: ^F - extract archive, ^X - quit 2018-01-13 09:28:29 +05:30
Jan Chren
a7aaf3a458 make Makefile more packaging friendly (#76)
* make Makefile more packaging friendly

* packagecore: run `strip` before installing
2018-01-10 22:02:48 +05:30
Arun Prakash Jana
34b650aac8
Remap ^S and ^Q.
The replacement keys are:

^J - toggle du mode
^Y - quit

The change is done because ^S, ^Q keybinds are lost in the following case:
- start nnn
- navigate to a different directory
- spawn a shell
- exit the shell

The issue happens only with the 'special' keybinds like ^S, ^Q, ^Z... which get
their original shell interpretation back.

So we are replacing these 2 keybinds with 2 'non-special' combinations.
2018-01-09 14:21:09 +05:30
Arun Prakash Jana
827f7fd662
Sufficient to use refresh() after exitcurses() 2018-01-09 13:32:57 +05:30
Arun Prakash Jana
0a1776e18e
Add shortcut ^S to toggle du mode 2018-01-09 00:31:15 +05:30
Arun Prakash Jana
f6fd15e088
Explicitly optimize modulo ops 2018-01-09 00:13:11 +05:30
Arun Prakash Jana
77fec499cb
Open with GUI app - Suppress stdout, stderr 2018-01-08 03:27:41 +05:30
Arun Prakash Jana
9cded0be0e
Simplify detail printing 2018-01-07 20:08:59 +05:30
Arun Prakash Jana
afb6a7ab04
Change bookmark prompt and pin dir keys.
New keys:

- bookmark prompt (^B)
- pin directory (B)

The intention of the change is to facilitate opening the bookmark prompt in
navigate-as-you-type mode. The bookmark prompt is used more than the pin
current directory option.
2018-01-07 09:14:25 +05:30
Arun Prakash Jana
f7c5a2924d
Highest priority to desktop search, rename 2018-01-07 03:27:09 +05:30
Arun Prakash Jana
2e7722976b
Enable extra shortcuts in navigate-as-you-type mode
Enabled functionality:

- Copy file path (^K)
- Run desktop search utility (^/)
- Rename file (^R)
- Open with... (^O)
- Pin current directory (^B)
- Visit pinned directory (^V)
- Extract archive (^X)
2018-01-06 11:58:01 +05:30
Arun Prakash Jana
542fd2f6e8
Swap weekday and month 2018-01-06 10:01:54 +05:30
Arun Prakash Jana
d69365ff3e
Use a date format string 2018-01-06 03:59:36 +05:30
Arun Prakash Jana
5876c61f4c
Rearrange date format in file details 2018-01-06 03:56:09 +05:30
codeliveroil
915df53a04 Use standard date formats. (#74)
- For standard view, use ISO 8601 date format.
- For detailed view (i.e. stat), use default Linux date
  format. Also, remove GMT offset to avoid confusion in
  determining source of offset when reading alongside
  the local time zone.
2018-01-06 03:49:27 +05:30
Arun Prakash Jana
fd11b53b4e
Show target for symlinks 2018-01-06 03:46:44 +05:30
Arun Prakash Jana
00533546d4
The *alloc() family is aligned 2018-01-04 17:46:06 +05:30
Arun Prakash Jana
242e22eb2d
Wrap realloc() to return aligned address 2018-01-04 06:23:20 +05:30
Arun Prakash Jana
da7e30cd6f
Use aligned large buffers 2017-12-30 13:54:49 +05:30
Arun Prakash Jana
29188ca131
Fix #73: How to discard changes and exit new/rename prompt 2017-12-29 11:19:37 +05:30
Arun Prakash Jana
3a88e31a0e
Check alignment and enable -O3 2017-12-29 11:08:07 +05:30
Arun Prakash Jana
9b010b1c03 Fix checkpatch reports 2017-12-28 01:48:12 +05:30
Dmitri Goutnik
2c50c92b3d Add FreeBSD as a package source (#72) 2017-12-28 01:18:05 +05:30
Daniel Lockyer
77b0fe0104 Free allocated resources using regfree (#71) 2017-12-27 16:06:57 +05:30
Arun Prakash Jana
26e739a6d9
Use ffs() tweak. 2017-12-27 09:53:11 +05:30
Arun Prakash Jana
c86db31ef5
Remove arm targets 2017-12-27 01:11:38 +05:30
Arun Prakash Jana
ff1c467285
Explicitly cast opaque types 2017-12-27 00:49:43 +05:30
Arun Prakash Jana
f1f2a53dbf TAB is not identified on OS X 2017-12-27 00:16:56 +05:30
Dmitri Goutnik
4dca8d7cf9 Lookup xdg-open in PATH on non-Apple platforms (#70) 2017-12-26 23:53:20 +05:30
Arun Prakash Jana
0f27c2f01c
Retire Makefile.native 2017-12-26 23:49:47 +05:30
Arun Prakash Jana
9bfc2fdc29
Use ffs() instead of ffsl() 2017-12-26 23:33:32 +05:30
Arun Prakash Jana
dca0f5378c Cross compile nnn on Travis CI 2017-12-26 23:13:19 +05:30
Dmitri Goutnik
c5f19ddd92 Fix compiler warnings on FreeBSD 11.x (#69) 2017-12-26 21:22:45 +05:30
Arun Prakash Jana
3e4d944eed
Add openSUSE to packagers 2017-12-26 19:56:19 +05:30
Arun Prakash Jana
8b51a8a054
Update README
Update documentation
2017-12-26 10:33:38 +05:30
Arun Prakash Jana
fdc53037f9
Update README 2017-12-26 00:17:10 +05:30
Arun Prakash Jana
9b72fcba03
Replace getorder() by ffsl() 2017-12-25 23:27:37 +05:30
Arun Prakash Jana
cd177086ca
OpenSUSE gcc fails at '-fno-tree-loop-vectorize' 2017-12-25 19:10:20 +05:30
Arun Prakash Jana
f687463574
Prepare for release v1.6 2017-12-25 17:13:25 +05:30