Fix #813: plugin togglex - toggle exe mode for selection

This commit is contained in:
Arun Prakash Jana 2020-12-12 20:02:46 +05:30
parent a984b6a9e8
commit 1ac4b9bd5a
No known key found for this signature in database
GPG key ID: A75979F35C080412
3 changed files with 22 additions and 1 deletions

View file

@ -130,7 +130,7 @@ It runs smoothly on the Pi, [Termux](https://www.youtube.com/embed/AbaauM7gUJw)
- Cross-dir file/all/range selection
- Create (with parents), rename, duplicate files and dirs
- Batch renamer for selection or dir
- List input file stream from stdin or plugin
- List input stream of file paths from stdin or plugin
- Copy (as), move (as), delete, archive, link selection
- Dir updates, notification on cp, mv, rm completion
- Copy file paths to system clipboard on select

View file

@ -60,6 +60,7 @@ Plugins extend the capabilities of `nnn`. They are _executable_ scripts (or bina
| [ringtone](ringtone) | Create a variable bitrate mp3 ringtone from file | sh | date, ffmpeg |
| [splitjoin](splitjoin) | Split file or join selection | sh | split, cat |
| [suedit](suedit) | Edit file using superuser permissions | sh | sudoedit/sudo/doas |
| [togglex](togglex) | Toggle executable mode for selection | sh | chmod |
| [treeview](treeview) | Informative tree output in `$EDITOR` | sh | tree |
| [uidgid](uidgid) | List user and group of all files in dir | sh | ls, less |
| [upgrade](upgrade) | Upgrade nnn manually on Debian 9 Stretch | sh | curl |

20
plugins/togglex Executable file
View file

@ -0,0 +1,20 @@
#!/usr/bin/env sh
# Description: Toggles executable mode for selection
#
# Dependencies: chmod
#
# Note: Works _only_ with selection (nnn can toggle the mode for the hovered file)
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
if [ ! -s "$selection" ]; then
printf "0 selected "
read -r _
exit
fi
xargs -0 -I {} sh -c 'if [ -x {} ] ; then chmod -x {} ; else chmod +x {} ; fi' < "$selection"