aboutsummaryrefslogtreecommitdiff
path: root/.local/share/bin/lf
diff options
context:
space:
mode:
Diffstat (limited to '.local/share/bin/lf')
-rwxr-xr-x.local/share/bin/lf23
1 files changed, 23 insertions, 0 deletions
diff --git a/.local/share/bin/lf b/.local/share/bin/lf
new file mode 100755
index 0000000..430ae0b
--- /dev/null
+++ b/.local/share/bin/lf
@@ -0,0 +1,23 @@
+#!/bin/sh
+lf=/usr/bin/lf
+
+UB_PID=0
+UB_SOCKET=""
+UB_PID_FILE="$(mktemp)"
+
+cleanup() {
+ exec 3>&-
+ ueberzugpp cmd -s "$UB_SOCKET" -a exit
+}
+
+# don't try to use ueberzug over ssh
+[ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ] && exec $lf "$@"
+
+ueberzugpp layer --silent --no-stdin --use-escape-codes --pid-file "$UB_PID_FILE" >/dev/null
+UB_PID="$(cat "$UB_PID_FILE")"
+rm -f "$UB_PID_FILE"
+UB_SOCKET="/tmp/ueberzugpp-$UB_PID.socket"
+export UB_PID UB_SOCKET
+trap cleanup HUP INT QUIT TERM EXIT
+$lf "$@" 3>&-
+