#!/bin/bash set -e if [ "$#" -ne 3 ]; then echo "Usage: $0 filename width height" exit 1 fi dim=( $(convert "$1" -format "%w %h" info:) ) w=${dim[0]} h=${dim[1]} pw=$(($2*8)) ph=$(($3*14)) height=auto width=auto if [ $pw -lt $w ] && [ $ph -lt $h ]; then newh=$(echo "($h*$pw)/$w" | bc) neww=$(echo "($w*$ph)/$h" | bc) if [ $newh -le $ph ]; then width=$pw else height=$ph fi elif [ $pw -lt $w ]; then width=$pw elif [ $ph -lt $h ]; then height=$ph fi # debugging stuff # echo pw=$pw ph=$ph # echo w=$w h=$h # echo neww=$neww newh=$newh # exec echo width=$width height=$height # account for GNU screen if [ -n "$STY" ]; then popt=-P fi exec img2sixel $popt --width=$width --height=$height "$1"