diff options
Diffstat (limited to '.config/vifm/scripts/vifm-imagepreview.sh')
| -rwxr-xr-x | .config/vifm/scripts/vifm-imagepreview.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/.config/vifm/scripts/vifm-imagepreview.sh b/.config/vifm/scripts/vifm-imagepreview.sh new file mode 100755 index 0000000..fbe0431 --- /dev/null +++ b/.config/vifm/scripts/vifm-imagepreview.sh @@ -0,0 +1,50 @@ +#!/bin/bash - +#=============================================================================== +# +# FILE: vifm-imagepreview.sh +# +# USAGE: ./vifm-imagepreview.sh +# +# DESCRIPTION: Image previewer for vifm. +# Based on script by z3bra -- 2014-01-21 +# This is called by vifm by adding the following line to vimfrc file: +# +# fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm vifm-imagepreviewer.sh %px %py %pw %ph %c +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Vito G. Graffagnino (), v.graffagnino@btinternet.com +# ORGANIZATION: +# CREATED: 04/05/17 11:19:39 +# REVISION: --- +#=============================================================================== +set -o nounset # Treat unset variables as an error +W3MIMGDISPLAY="/usr/lib64/w3m/w3mimgdisplay" +FONTH=15 # Size of one terminal row +FONTW=7 # Size of one terminal column +X=$1 +Y=$2 +COLUMNS=$3 +LINES=$4 +FILENAME=$5 +read width height <<< `echo "5;$FILENAME" | $W3MIMGDISPLAY` +if [ -z "$width" -o -z "$height" ]; then + echo 'Error: Failed to obtain image size.' + exit 1 +fi +x=$((FONTW * X)) +y=$((FONTH * Y)) +max_width=$((FONTW * COLUMNS)) +max_height=$((FONTH * LINES)) +if [ "$width" -gt "$max_width" ]; then + height=$((height * max_width / width)) + width=$max_width +fi +if [ "$height" -gt "$max_height" ]; then + width=$((width * max_height / height)) + height=$max_height +fi +w3m_command="0;1;$x;$y;$width;$height;;;;;$FILENAME\n4;\n3;" +echo -e "$w3m_command" | $W3MIMGDISPLAY |
