summaryrefslogtreecommitdiff
path: root/dotfiles/system/.local/bin/lfrun
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/system/.local/bin/lfrun')
-rwxr-xr-xdotfiles/system/.local/bin/lfrun19
1 files changed, 19 insertions, 0 deletions
diff --git a/dotfiles/system/.local/bin/lfrun b/dotfiles/system/.local/bin/lfrun
new file mode 100755
index 0000000..5bb0ba3
--- /dev/null
+++ b/dotfiles/system/.local/bin/lfrun
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -e
+
+cleanup() {
+ exec 3>&-
+ rm "$FIFO_UEBERZUG"
+}
+
+if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
+ lf "$@"
+else
+ [ ! -d "$HOME/.cache/lf" ] && mkdir --parents "$HOME/.cache/lf"
+ export FIFO_UEBERZUG="$HOME/.cache/lf/ueberzug-$$"
+ mkfifo "$FIFO_UEBERZUG"
+ ueberzug layer -s <"$FIFO_UEBERZUG" -p json &
+ exec 3>"$FIFO_UEBERZUG"
+ trap cleanup EXIT
+ lf "$@" 3>&-
+fi