35 lines
862 B
Bash
Executable File
35 lines
862 B
Bash
Executable File
#!/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
|