Как стать автором
Обновить

Терминал с картинками на python: proof of concept

Время на прочтение 1 мин
Количество просмотров 13K
Поскольку TermKit так и не допилили пока еще, смотреть хотя бы картинки в терминале — наверное было бы неплохо всё же (тем более что тут и тут говорят так). Да и самому мне это полезно, при работе с веб-проектами. Попробовал написать proof-of-concept-прототип. Под катом скрины, небольшое описание работы и ссылки на код.

Скрины

Начнем с того, как это выглядит:


Суть в следующем. Запустив терминал, набрав в нём
cat your_image.png | show
или
show your_image.jpg
можно увидеть картинку прямо в окне терминала.

Особенности реализации

[Edit]Здесь было про вывод картинки, но я упростил тот метод который использовал, и необходимость в том тексте что тут был — отпала. Сорри. Вкратце, всë делается через widget.window.draw_pixbuf.[/Edit]

Всё сложнее с тем, как организовать обмен данными между процессами. Тут колесо не изобретешь, в proof-of-concept используются named-pipes и сигналы (чтобы сигнализировать о том, что пошла картинка). Поскольку кода немного, и других технологий не использовано… то на том можно пока остановиться.

Код

Найти всё это можно здесь.

Выводы

  • Картинки — это маловато будет. Было бы круто видики, html… но нужно подключать другие движки.
  • Нет поддержки copy-paste через Ctrl+Shift+C/X/V. Но vte поддерживает CTRL/SHIFT+INS.

Наверное, главное в том, что идея вывода графики в консоли реализуема не только через node.js и mime-types, как это сделано в TermKit, но и старыми добрыми средствами *nix. Вся остальная красота, конечно же, легче достаётся средствами webkit… и хотелось бы её дождаться.

P.S.

Публикую в хаб, где изначально было про TermKit.
Теги:
Хабы:
+25
Комментарии 12
Комментарии Комментарии 12

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн