far2l icon indicating copy to clipboard operation
far2l copied to clipboard

Support kitty graphics protocol in VT

Open unxed opened this issue 2 months ago • 45 comments

...at least at level enough for chafa to work properly.

See also: #601

unxed avatar Nov 11 '25 01:11 unxed

сделал, но оочень криво выглядит по некоторым причинам:

  • chafa выводит в терминал и выходит, в результате - картинка остается висеть поверх панелей фара навечно, вылечил путем удаления картинок после завершению команды в терминале, в результате chafa выходит сразу - и картинки не видно. Посмотреть можно только добавив sleep типа: chafa -f kitty ./test.jpg ; sleep 3
  • wx backend сейчас не заточен под масштабирование картинок (а чего ему их масштабировать когда этим занимается imagemagick), но chafa шлет заведомо мелкую картинку и просит ее отмасштабировать в терминал, в результате получается так себе

elfmz avatar Nov 16 '25 11:11 elfmz

Да не так уж плохо и выглядит, куда лучше чем ASCII!

Они там готовы наш протокол сделать у себя, если что :)

unxed avatar Nov 16 '25 12:11 unxed

Эмм, повторюсь, что наш протокол еще не стабилен) А принципе масштабирование на стороне терминала имеет право быть, то есть попробую его добавить, и посмотрю что получится. У 'нашего протокола' есть бонусы - возможность интерактивно оптимизированно скроллить и крутить картинку, но chafa это не актуально, а китти зато умеет слайд шоу делать, а far2l пока не умеет. Но можно будет научить в будущем.

elfmz avatar Nov 16 '25 12:11 elfmz

Я им написал, что пока не стабилен, ага. Жду.

unxed avatar Nov 16 '25 12:11 unxed

chafa -f kitty ./test.jpg ; sleep 3

Если так сделать два раза подряд, падает

unxed avatar Nov 16 '25 12:11 unxed

картинка остается висеть поверх панелей фара навечно

Стоп, а это не архитектурный баг ли? Разве панели не должны рисоваться поверх всего, что в VT, включая картинки?

unxed avatar Nov 16 '25 18:11 unxed

архитектурное ограничение, z buffer делать еще только не хватало, в обычном терминале ведь нету панелей - поэтому там нету таких проблем)

elfmz avatar Nov 16 '25 19:11 elfmz

Если так сделать два раза подряд, падает

а сейчас падает?

elfmz avatar Nov 16 '25 21:11 elfmz

Падает, собака. А ещё картинку сплющенной показывает. Ща покажу

unxed avatar Nov 16 '25 22:11 unxed

https://github.com/user-attachments/assets/b143abf6-44fc-4e00-a588-881009610c8f

unxed avatar Nov 16 '25 22:11 unxed

а сейчас?

elfmz avatar Nov 17 '25 06:11 elfmz

Падать перестало, ура! Сплющенность осталась

unxed avatar Nov 17 '25 07:11 unxed

у меня так: Image кака картинка и как сплющена?

elfmz avatar Nov 17 '25 08:11 elfmz

https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png

Image

unxed avatar Nov 17 '25 08:11 unxed

Но вообще оно на разных проявляется

unxed avatar Nov 17 '25 08:11 unxed

это wx версия? у меня так:

Image Image

elfmz avatar Nov 17 '25 09:11 elfmz

Ага, wx. Версию чафы ща не могу глянуть, временно не у компа. Штатная из 24.04.

Странновое. Может, напихать отладочки в stderr? Я прототип так пилил

unxed avatar Nov 17 '25 09:11 unxed

а сейчас?

elfmz avatar Nov 17 '25 10:11 elfmz

Всё ещё(

Проверил в китти — там то же самое

Image

unxed avatar Nov 17 '25 11:11 unxed

Версия правильная, e83чтототам. Исходники чистые, я в этот код не лажу сейчас

unxed avatar Nov 17 '25 11:11 unxed

ну раз даже в китти тоже самое, то я умываю руки)

elfmz avatar Nov 17 '25 11:11 elfmz

всмысле чафа внутри китти без фар2л такаяже?

elfmz avatar Nov 17 '25 11:11 elfmz

и какой шрифт кстати?

elfmz avatar Nov 17 '25 11:11 elfmz

всмысле чафа внутри китти без фар2л такаяже?

Ненене, чафа внутри far2l внутри китти. Чафа просто в китти норм кажет.

Шрифт в wx Ubuntu Mono 14

unxed avatar Nov 17 '25 11:11 unxed

А эта штука вообще ничего не показывает, хотя тоже по котятошному протоколу работает https://github.com/jesvedberg/tpix

И эта тоже https://github.com/hzeller/timg

(я со sleep 3 проверял обе, конечно)

Могу собрать какую-нибудь отладочную инфу, но не очень понимаю, какую.

unxed avatar Nov 17 '25 14:11 unxed

Как сайчас чафа?

elfmz avatar Nov 17 '25 17:11 elfmz

Пропорции картинок в порядке, ура! И в wx и tty

unxed avatar Nov 17 '25 19:11 unxed

А что это было?)

unxed avatar Nov 17 '25 19:11 unxed

https://github.com/elfmz/far2l/commit/ece442232302b6f9b01129253e541efb5a7f8e62#diff-a6a6b7757a81ad2557fc6325e21d25855125a4c007c956a65cd45e15cff6a2c7R245-R251

elfmz avatar Nov 17 '25 19:11 elfmz

воспроизводилось кстати только в версии из убунты 24 - 1.14 в 1.8 (который у меня в системе) и в текущем мастере чафы - все норм

elfmz avatar Nov 17 '25 19:11 elfmz