AnonymouX47/term-image

iTerm2 image protocol support

AnonymouX47 opened this issue ยท 13 comments

A branch off #23

Tested terminal emulators:

  • iTerm2
  • WezTerm
  • Konsole >= 22.04.0
    • Currently doesn't support native animations but the normal method used across all styles works excellently.

All functionalities work properly across all terminals except stated otherwise.

Progress:

  • Sizing
  • Rendering
    • Line-by-line
    • Whole image
  • Transparency
  • Formatting
  • Animation
  • CLI Integration
  • TUI Integration
  • Tests

Specific protocol features already or to be in use:

  • Native animation

@paw-lu @leo-arch

Just tests left to go... You can check #50 for progress.

Hi @AnonymouX47. No Mac here.

Tested on iTerm2... the only quirk was that drawing line-by-line is extremely slow due to the terminal's performance.

I'll mention it in the docs and set the whole render method to be used instead, wherever possible.

Hi @AnonymouX47. No Mac here.

Yeah, about that... I just got my hands on one over here ๐Ÿ˜ƒ
Thanks.

That was fast!

I'm releasing the next version (0.4.0) on the 14th of this month.
I should've completed the support for the graphics protocols but wherever it gets, I'll release it.

Finally!

By the way, I found out that mintty (on Windows) implements this protocol... I've only given it a short try so far with no luck yet but as soon as I work it out, I'll add mintty to the supported terminal emulators.
There's also hterm but I'm less interested based on what I've read about it's implementation... the terminal emulator is not as widely used after all.

@Sam-Cleveland
Please, will you be able to help test on iTerm2?
You would have to clone and install from the main branch.

make test-iterm2 failed. Here's the output
log.txt

Thanks.

I noticed your local main branch is not up to date... i just merged #55 a few hours ago.

Also, among the output you sent is this:

.../tests/test_iterm2.py:15: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html @pytest.mark.order("first")

This shows that the pytest-order package is not installed.
Run:

make requires

OR

pip install --upgrade -r requirements.txt

Thanks :)

Also, I should note that the tests are independent of the terminal emulator they're running on.

What I actually meant by "test" earlier is more about using it to displaying images to see if it works as expected. :)

What I actually meant by "test" earlier is more about using it to displaying images to see if it works as expected. :)

@Sam-Cleveland, anything so far? :)

Finally ๐Ÿฅฒ, v0.4.0 is up!

Sorry, I couldn't meet up with the date I originally mentioned due to some difficulties.
I actually considered releasing it as it was then but I think the wait was worth it, with the amount of things that happened between then and now ๐Ÿ˜ƒ.

Anyways... I've learnt to avoid dates henceforth ๐ŸŒš๐Ÿ˜†, as so many things compete for my time.