mirror of
				https://github.com/tiyn/dotfiles.git
				synced 2025-11-03 22:11:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
PCACHE="$HOME/.cache/vifm/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$PWD/$6")" | sha256sum)"
 | 
						|
export PCACHE="${PCACHE%% *}"
 | 
						|
 | 
						|
pclear() {
 | 
						|
	printf '{"action": "remove", "identifier": "vifm-preview"}\n' > "$FIFO_UEBERZUG"
 | 
						|
}
 | 
						|
 | 
						|
image() {
 | 
						|
		printf '{"action": "add", "identifier": "vifm-preview", "x": "%s", "y": "%s", "width": "%s", "height": "%s", "scaler": "contain", "path": "%s"}\n' "$2" "$3" "$4" "$5" "$6" > "$FIFO_UEBERZUG"
 | 
						|
}
 | 
						|
 | 
						|
main() {
 | 
						|
    case "$1" in
 | 
						|
        "clear")
 | 
						|
			pclear "$@"
 | 
						|
			;;
 | 
						|
        "draw")
 | 
						|
			FILE="$PWD/$6"
 | 
						|
			image "$1" "$2" "$3" "$4" "$5" "$FILE"
 | 
						|
			;;
 | 
						|
        "video")
 | 
						|
			[ ! -f "$PCACHE" ] && \
 | 
						|
				ffmpegthumbnailer -i "$6" -o "${PCACHE}.jpg" -s 0 -q 5
 | 
						|
			image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
 | 
						|
			;;
 | 
						|
        "epub")
 | 
						|
			[ ! -f "$PCACHE" ] && \
 | 
						|
				epub-thumbnailer "$6" "$PCACHE" 1024
 | 
						|
			image "$1" "$2" "$3" "$4" "$5" "$PCACHE"
 | 
						|
			;;
 | 
						|
        "pdf")
 | 
						|
			[ ! -f "${PCACHE}.jpg" ] && \
 | 
						|
				pdftoppm -jpeg -f 1 -singlefile "$6" "$PCACHE"
 | 
						|
			image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
 | 
						|
			;;
 | 
						|
        "djvu")
 | 
						|
			[ ! -f "${PCACHE}.jpg" ] && \
 | 
						|
				ddjvu -format=tiff -quality=90 -page=1 "$6" "$PCACHE.jpg"
 | 
						|
			image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
 | 
						|
			;;
 | 
						|
        "audio")
 | 
						|
			[ ! -f "${PCACHE}.jpg" ] && \
 | 
						|
				ffmpeg -hide_banner -i "$6" "${PCACHE}.jpg" -y >/dev/null
 | 
						|
			image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
 | 
						|
			;;
 | 
						|
        "font")
 | 
						|
			[ ! -f "${PCACHE}.jpg" ] && \
 | 
						|
				fontpreview -i "$6" -o "${PCACHE}.jpg"
 | 
						|
			image "$1" "$2" "$3" "$4" "$5" "${PCACHE}.jpg"
 | 
						|
			;;
 | 
						|
        *)
 | 
						|
    esac
 | 
						|
}
 | 
						|
main "$@"
 |