diff options
Diffstat (limited to 'config/lf/scripts')
-rw-r--r-- | config/lf/scripts/fzfub | 25 | ||||
-rwxr-xr-x | config/lf/scripts/lfub | 34 |
2 files changed, 59 insertions, 0 deletions
diff --git a/config/lf/scripts/fzfub b/config/lf/scripts/fzfub new file mode 100644 index 0000000..48d8b67 --- /dev/null +++ b/config/lf/scripts/fzfub @@ -0,0 +1,25 @@ +#!/bin/sh + +case "$(uname -a)" in + *Darwin*) UEBERZUG_TMP_DIR="$TMPDIR" ;; + *) UEBERZUG_TMP_DIR="/tmp" ;; +esac + +cleanup() { + ueberzugpp cmd -s "$SOCKET" -a exit +} +trap cleanup HUP INT QUIT TERM EXIT + +UB_PID_FILE="$UEBERZUG_TMP_DIR/.$(uuidgen)" +ueberzugpp layer --no-stdin --silent --use-escape-codes --pid-file "$UB_PID_FILE" +UB_PID=$(cat "$UB_PID_FILE") + +export SOCKET="$UEBERZUG_TMP_DIR"/ueberzugpp-"$UB_PID".socket + +# run fzf with preview +fzf --reverse --preview="ueberzugpp cmd -s $SOCKET -i fzfpreview -a add \ + -x \$FZF_PREVIEW_LEFT -y \$FZF_PREVIEW_TOP \ + --max-width \$FZF_PREVIEW_COLUMNS --max-height \$FZF_PREVIEW_LINES \ + -f {}" + +ueberzugpp cmd -s "$SOCKET" -a exit diff --git a/config/lf/scripts/lfub b/config/lf/scripts/lfub new file mode 100755 index 0000000..45864e5 --- /dev/null +++ b/config/lf/scripts/lfub @@ -0,0 +1,34 @@ +#!/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 + +UB_PID=0 +UB_SOCKET="" + +case "$(uname -a)" in + *Darwin*) UEBERZUG_TMP_DIR="$TMPDIR" ;; + *) UEBERZUG_TMP_DIR="/tmp" ;; +esac + +cleanup() { + exec 3>&- + ueberzugpp cmd -s "$UB_SOCKET" -a exit +} + +if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then + lf "$@" +else + [ ! -d "$HOME/.cache/lf" ] && mkdir -p "$HOME/.cache/lf" + UB_PID_FILE="$UEBERZUG_TMP_DIR/.$(uuidgen)" + ueberzugpp layer --silent --no-stdin --use-escape-codes --pid-file "$UB_PID_FILE" + UB_PID=$(cat "$UB_PID_FILE") + rm "$UB_PID_FILE" + UB_SOCKET="$UEBERZUG_TMP_DIR/ueberzugpp-${UB_PID}.socket" + export UB_PID UB_SOCKET + trap cleanup HUP INT QUIT TERM EXIT + lf "$@" 3>&- +fi |