summaryrefslogtreecommitdiff
path: root/scripts/lfub
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lfub')
-rwxr-xr-xscripts/lfub23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/lfub b/scripts/lfub
new file mode 100755
index 0000000..0d8b7fe
--- /dev/null
+++ b/scripts/lfub
@@ -0,0 +1,23 @@
+#!/bin/sh
+# This is a wrapper script for lf that allows it to create image previews with
+# ueberzug. This works in concert with the lf configuration file and the
+# lf-cleaner script.
+
+set -e
+
+cleanup() {
+ exec 3>&-
+ rm "$FIFO_UEBERZUG"
+}
+
+if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
+ lf "$@"
+else
+ [ ! -d "$XDG_CACHE_HOME/lf" ] && mkdir -p "$XDG_CACHE_HOME/lf"
+ export FIFO_UEBERZUG="$XDG_CACHE_HOME/lf/ueberzug-$$"
+ mkfifo "$FIFO_UEBERZUG"
+ ueberzug layer -s <"$FIFO_UEBERZUG" -p json &
+ exec 3>"$FIFO_UEBERZUG"
+ trap cleanup HUP INT QUIT TERM PWR EXIT
+ lf "$@" 3>&-
+fi