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