summaryrefslogtreecommitdiff
path: root/vifmrun
diff options
context:
space:
mode:
Diffstat (limited to 'vifmrun')
-rwxr-xr-xvifmrun21
1 files changed, 21 insertions, 0 deletions
diff --git a/vifmrun b/vifmrun
new file mode 100755
index 0000000..ce9af17
--- /dev/null
+++ b/vifmrun
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+if [ -z "$(command -v vifm)" ]; then
+ printf "vifm isn't installed on your system!\n"
+ exit 1
+elif [ -z "$(command -v ueberzug)" ]; then
+ exec vifm "$@"
+else
+ cleanup() {
+ exec 3>&-
+ rm "$FIFO_UEBERZUG"
+ }
+ [ ! -d "$HOME/.cache/vifm" ] && mkdir -p "$HOME/.cache/vifm"
+ export FIFO_UEBERZUG="$HOME/.cache/vifm/ueberzug-${$}"
+ mkfifo "$FIFO_UEBERZUG"
+ ueberzug layer -s <"$FIFO_UEBERZUG" -p json &
+ exec 3>"$FIFO_UEBERZUG"
+ trap cleanup EXIT
+ vifm "$@" 3>&-
+ vifmimg clear
+fi