LINUX.ORG.RU

Image viewer


0

0

Всего сообщений: 1

Вьюер пикч в терминале

Давным-давно, когда мы еще писали консольный вк, хотелось прикрутить пикчи к ncurses. Чекали w3m, еще пару тулов, но у всех были проблемы с рендером, саппорт не всех терминалов и т.д.

И тут я наткнулся на Überzug

Отличная вещь, написана на питоне, там и примеры для курсов в ридми.

В итоге написал такой небольшой скрипт (за убогий баш-код не пинать), который определяет максимально возможный сайз (без потери соотношения сторон) и нужную строку на которой рендерить пик.

#!/bin/bash
[[ -z "$1" ]] && echo "Error: image path not specified" && exit 1
source "`ueberzug library`"

echo -ne "\033[6n"
read -s -d\[ garbage
read -s -d R cursor_y
cursor_y=(${cursor_y//;/ })
cursor_y=`expr $cursor_y - 1`

tmp=`stty size`
size_y=`echo $tmp | cut -f1 -d' '`
size_x=`echo $tmp | cut -f2 -d' '`

max_height=`expr $size_y - $cursor_y`

ImageLayer 0< <(
    ImageLayer::add [identifier]="example0" [x]="0" [y]="$cursor_y" [max_width]="$size_x" [max_height]="$max_height" [path]="$1"
    read
)

По зависимостям один питон пакет:

  sudo pip install ueberzug

Сам скрипт тут

Делаем симлинк в /usr/bin/ и радуемся пикчам в терминале

Github

Telegram

>>> Просмотр (1920x1080, 3671 Kb)

 , ,

HaCk3D
()