diff --git a/lsi b/lsi new file mode 100755 index 0000000..f9d5562 --- /dev/null +++ b/lsi @@ -0,0 +1,73 @@ +#!/bin/bash + +#Создан: Пт 29 янв 2016 11:11:27 +#Изменён: Пт 29 янв 2016 12:54:41 + +# Идея z3bra -- 2014-01-21: http://blog.z3bra.org/2014/01/images-in-terminal.html +# Доработка envrm + +W3MIMGDISPLAY="/usr/libexec/w3m/w3mimgdisplay" +FONTH=12 # Size of one terminal row +FONTW=8 # Size of one terminal column +COLUMNS=`tput cols` +LINES=`tput lines` + +#Все позиции захардкорены +posx[1]=10; posx[2]=205; posx[3]=400; posx[4]=600; posx[5]=800; posx[6]=1000 +posy[1]=45; posy[2]=200; posy[3]=350; posy[4]=500; posy[5]=800; posy[6]=1000 +text[1]=18; text[2]=36; text[3]=54; text[4]=72; text[5]=90; text[6]=111 + +row[1]=0; row[2]=100; row[3]=200; row[4]=300; row[5]=300 + +x=1 +y=1 +img=1 +images=24 + +clear +echo -e "\n \033[1;32m$(pwd):\033[00m" + +for FILENAME in ${*:-*}; { + #Обработка только изображений + file "$FILENAME" | grep 'JPEG|PNG|GIF' 2>&1 >/dev/null + + if [ $? -eq 0 ]; then + read width height <<< `echo -e "5;$FILENAME" | $W3MIMGDISPLAY` + + max_width=$(($FONTW * $COLUMNS)) + max_height=$(($FONTH * $(($LINES - 2)))) # substract one line for prompt + + if test $width -gt $max_width; then + height=$(($height * $max_width / $width)) + width=$max_width + fi + + if test $height -gt $max_height; then + width=$(($width * $max_height / $height)) + height=$max_height + fi + + width=$((width / 4)) + height=$((height / 4)) + + w3m_command="0;1;${posx[x]};${posy[y]};$width;$height;;;;;$FILENAME\n4;\n3;" + + tput cup $((($height+${row[y]})/$FONTH)) ${text[$((x-1))]} + echo " $FILENAME" + echo -n -e $w3m_command|$W3MIMGDISPLAY + + if [ $x -eq 6 ]; then + x=1 + y=$((y + 1)) + else + x=$((x + 1)) + fi + + if [ $img -eq $images ]; then + exit + else + img=$((img + 1)) + fi + fi +} +