diff options
| author | Arpit Chakladar <arpitchakladar@proton.me> | 2026-04-23 04:00:13 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar@proton.me> | 2026-04-23 04:00:13 +0530 |
| commit | 58e84ff53ceaf415e2a598c0122da526a27c3f38 (patch) | |
| tree | f54ddcd6d91092e6d63c7385d65d260e628d47e2 /modules/scripts/file-preview.sh | |
| parent | 5ba4319dd246e018abdfd7df8c491bdef907ca1c (diff) | |
| download | home-manager-config-58e84ff53ceaf415e2a598c0122da526a27c3f38.tar.gz home-manager-config-58e84ff53ceaf415e2a598c0122da526a27c3f38.zip | |
passing paths to the the executables used in the script
Diffstat (limited to 'modules/scripts/file-preview.sh')
| -rw-r--r-- | modules/scripts/file-preview.sh | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/modules/scripts/file-preview.sh b/modules/scripts/file-preview.sh index 1dd810f..1f884ee 100644 --- a/modules/scripts/file-preview.sh +++ b/modules/scripts/file-preview.sh @@ -6,7 +6,7 @@ if [ -z "$LF_PREVIEW_RUNNING" ]; then fi # Parameters from lf -FILE="$1" +FILE_PATH="$1" WIDTH="$2" HEIGHT="$3" X="$4" @@ -15,7 +15,7 @@ Y="$5" # Temp dir TMP_DIR="/tmp/lf-preview-$(id -u)" mkdir -p "$TMP_DIR" -TMP_IMG="$TMP_DIR/pv-$(basename "$FILE" | tr -c '[:alnum:]' '_').png" +TMP_IMG="$TMP_DIR/pv-$(basename "$FILE_PATH" | tr -c '[:alnum:]' '_').png" # Render image via kitty render_image() { @@ -30,36 +30,36 @@ x="$4" y="$5" # Ensure file exists -[ ! -r "$FILE" ] && exit 0 +[ ! -r "$FILE_PATH" ] && exit 0 -MIMETYPE=$(file --dereference --brief --mime-type "$FILE") +MIMETYPE=$(file --dereference --brief --mime-type "$FILE_PATH") case "$MIMETYPE" in # --- IMAGES --- image/svg+xml) - rsvg-convert "$FILE" -o "$TMP_IMG" >/dev/null 2>&1 && render_image "$TMP_IMG" + rsvg-convert "$FILE_PATH" -o "$TMP_IMG" >/dev/null 2>&1 && render_image "$TMP_IMG" ;; image/*) - render_image "$FILE" + render_image "$FILE_PATH" ;; # --- VIDEOS --- video/*) if command -v ffmpegthumbnailer >/dev/null; then - ffmpegthumbnailer -i "$FILE" -o "$TMP_IMG" -s 0 -q 5 >/dev/null 2>&1 + ffmpegthumbnailer -i "$FILE_PATH" -o "$TMP_IMG" -s 0 -q 5 >/dev/null 2>&1 else - ffmpeg -y -i "$FILE" -ss 00:00:01 -vframes 1 "$TMP_IMG" >/dev/null 2>&1 + "$FFMPEG" -y -i "$FILE_PATH" -ss 00:00:01 -vframes 1 "$TMP_IMG" >/dev/null 2>&1 fi [ -f "$TMP_IMG" ] && render_image "$TMP_IMG" ;; # --- AUDIO --- audio/*) - ffmpeg -y -i "$FILE" \ + "$FFMPEG" -y -i "$FILE_PATH" \ -filter_complex "showwavespic=s=${WIDTH}x${HEIGHT}:colors=white" \ -frames:v 1 "$TMP_IMG" >/dev/null 2>&1 - ffprobe -hide_banner -v quiet -show_format -show_streams "$FILE" + "$FFPROBE" -hide_banner -v quiet -show_format -show_streams "$FILE_PATH" [ -f "$TMP_IMG" ] && render_image "$TMP_IMG" exit 0 @@ -67,53 +67,49 @@ case "$MIMETYPE" in # --- PDF --- application/pdf) - pdftoppm -f 1 -l 1 -png -singlefile "$FILE" "${TMP_IMG%.png}" >/dev/null 2>&1 + "$PDFTOPPM" -f 1 -l 1 -png -singlefile "$FILE_PATH" "${TMP_IMG%.png}" >/dev/null 2>&1 [ -f "$TMP_IMG" ] && render_image "$TMP_IMG" ;; # --- EPUB / MOBI --- application/epub+zip|application/x-mobipocket-ebook) - ouch decompress "$FILE" --limit "*/cover*.jpg" --dir /tmp && mv /tmp/cover*.jpg "$TMP_IMG" + "$OUCH" decompress "$FILE_PATH" --limit "*/cover*.jpg" --dir /tmp && mv /tmp/cover*.jpg "$TMP_IMG" [ -s "$TMP_IMG" ] && render_image "$TMP_IMG" ;; # --- OFFICE --- application/vnd.openxmlformats-officedocument.*|application/msword|application/vnd.oasis.opendocument.*) - libreoffice --headless --convert-to pdf --outdir "$TMP_DIR" "$FILE" >/dev/null 2>&1 - PDF_VER="${TMP_DIR}/$(basename "${FILE%.*}").pdf" + libreoffice --headless --convert-to pdf --outdir "$TMP_DIR" "$FILE_PATH" >/dev/null 2>&1 + PDF_VER="${TMP_DIR}/$(basename "${FILE_PATH%.*}").pdf" if [ -f "$PDF_VER" ]; then - pdftoppm -f 1 -l 1 -png -singlefile "$PDF_VER" "${TMP_IMG%.png}" >/dev/null 2>&1 + "$PDFTOPPM" -f 1 -l 1 -png -singlefile "$PDF_VER" "${TMP_IMG%.png}" >/dev/null 2>&1 render_image "$TMP_IMG" fi ;; # --- ARCHIVES --- application/zip|application/x-7z-compressed|application/x-rar|application/x-tar|application/x-gzip) - ouch list -t "$FILE" 2>/dev/null + "$OUCH" list -t "$FILE_PATH" 2>/dev/null exit 0 ;; # --- TEXT / CODE --- text/*|application/json|application/javascript|application/xml) - if command -v bat >/dev/null; then - bat --color=always --style=numbers --line-range :200 "$FILE" - else - cat "$FILE" - fi + "$BAT" --color=always --style=numbers --line-range :200 "$FILE_PATH" exit 0 ;; # --- FONTS --- font/*|application/vnd.ms-fontobject|application/x-font-ttf) - fc-scan "$FILE" + fc-scan "$FILE_PATH" exit 0 ;; # --- FALLBACK --- *) - file --dereference --brief "$FILE" + file --dereference --brief "$FILE_PATH" echo "------------------------------------------------" - hexdump -C "$FILE" | head -n 100 + hexdump -C "$FILE_PATH" | head -n 100 exit 0 ;; esac |
