diff --git a/plugins/README.md b/plugins/README.md index 515b80d4..f1146e79 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -35,14 +35,12 @@ Plugins extend the capabilities of `nnn`. They are _executable_ scripts (or bina | ndiff | Diff for selection (limited to 2 for directories) | sh | vimdiff | | nmount | Toggle mount status of a device as normal user | sh | pmount, udisks2 | | notes | Open a quick notes file/dir in `$EDITOR` | sh | - | -| nwal | Set image as wallpaper using nitrogen | sh | nitrogen | | oldbigfile | List large files by access time | sh | find, sort | | organize | Auto-organize files in directories by file type | sh | file | | pastebin | Paste contents of a text a file ix.io | sh | - | | pdfview | View PDF file in `$PAGER` | sh | pdftotext/
mupdf-tools | | picker | Pick files and list one per line (to pipe) | sh | nnn | | pskill | Fuzzy list by name and kill process or zombie | sh | fzy, sudo/doas | -| pywal | Set image as wallpaper, change terminal colorscheme | sh | pywal | | readit | Read a PDF or text file aloud | sh | pdftotext, mpv,
pico2wave | | ringtone | Create a variable bitrate mp3 ringtone from file | sh | date, ffmpeg | | splitjoin | Split file or join selection | sh | split, cat | @@ -55,6 +53,7 @@ Plugins extend the capabilities of `nnn`. They are _executable_ scripts (or bina | upgrade | Upgrade nnn manually on Debian 9 Stretch | sh | curl | | vidthumb | Show video thumbnails in terminal | sh | [ffmpegthumbnailer](https://github.com/dirkvdb/ffmpegthumbnailer),
[lsix](https://github.com/hackerb9/lsix) | | viuimg | View an image or images in dir in `$PAGER` | sh | [viu](https://github.com/atanunq/viu), less | +| wall | Set wallpaper or change colorscheme | sh | nitrogen/pywal | ## Installing plugins @@ -149,10 +148,10 @@ There are many plugins provided by `nnn` which can be used as examples. Here are - Change to arbitrary directory without helper script ```sh #!/usr/bin/env sh - echo -n "cd to: " - read dir + printf "cd to: " + read -r dir - echo -n "0$dir" > $NNN_PIPE + printf "%s" "0$dir" > "$NNN_PIPE" ``` ## Contributing plugins diff --git a/plugins/getplugs b/plugins/getplugs index f7720a87..3c8d7aa7 100755 --- a/plugins/getplugs +++ b/plugins/getplugs @@ -14,7 +14,7 @@ is_cmd_exists () { } merge () { - vimdiff "$1" "$2" + vimdiff +0 "$1" "$2" } prompt () { diff --git a/plugins/nwal b/plugins/nwal deleted file mode 100755 index 32d02185..00000000 --- a/plugins/nwal +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env sh - -# Description: Set the selected image as wallpaper using nitrogen. Just put the cursor on a image and run the script. -# -# Shell: POSIX Compliant -# Author: juacq97 - -if ! [ -z "$1" ]; then - if [ "$(mimetype --output-format %m "$1" | awk -F '/' '{print $1}')" = "image" ]; then - nitrogen --set-zoom-fill --save "$1" -# If you want a system notification, uncomment the next 3 lines. -# notify-send -a "nnn" "Wallpaper changed!" -# else -# notify-send -a "nnn" "No image selected" - fi -fi diff --git a/plugins/pywal b/plugins/pywal deleted file mode 100755 index c8ec8671..00000000 --- a/plugins/pywal +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env sh - -# Description: Set the selected image as wallpaper using pywal and change the terminal color schemes. Just put the cursor on a image and run the script. -# -# Shell: POSIX Compliant -# Author: juacq97 - -if ! [ -z "$1" ]; then - if [ "$(mimetype --output-format %m "$1" | awk -F '/' '{print $1}')" = "image" ]; then - wal -i "$1" -# If you want a system notification, uncomment the next 3 lines. -# notify-send -a "nnn" "Wallpaper changed!" -# else -# notify-send -a "nnn" "No image selected" - fi -fi diff --git a/plugins/wall b/plugins/wall new file mode 100755 index 00000000..0fc6de78 --- /dev/null +++ b/plugins/wall @@ -0,0 +1,30 @@ +#!/usr/bin/env sh + +# Description: Set the selected image as wallpaper using nitrogen or pywal. +# Usage: Hover on an image and run the script to set it as wallpaper. +# +# Shell: POSIX Compliant +# Author: juacq97 + +cmd_exists () { + which "$1" > /dev/null 2>&1 + echo $? +} + +if ! [ -z "$1" ]; then + if [ "$(mimetype --output-format %m "$1" | awk -F '/' '{print $1}')" = "image" ]; then + if [ "$(cmd_exists nitrogen)" -eq "0" ]; then + nitrogen --set-zoom-fill --save "$1" + elif [ "$(cmd_exists wal)" -eq "0" ]; then + wal -i "$1" + else + printf "nitrogen ir pywal missing" + read -r _ + fi + + # If you want a system notification, uncomment the next 3 lines. + # notify-send -a "nnn" "Wallpaper changed!" + # else + # notify-send -a "nnn" "No image selected" + fi +fi