-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding iTerm2 and Kitty protocol via timg
, wants idea
#53
Comments
Wow, great to know this! I'd be very happy to have this in ImageInTerminal. I do have a rewrite plan (#52), my current vision about ImageInTerminal is to:
I've moved #43 to For backward compatibility to Julia 1.0, advanced image encoders (Sixel, timg) are designed as plugins. The current Hence if you can provide a small wrapper on I've played with this design in my Sixel.jl so you might want to take a look for inspiration and example. Except for the
Does |
Because ImageInTerminal is designed to directly process We have to look at their source codes and find out how to call the encoder for a Julia array. For example, this is how I encode a Julia array with libsixel's low-level API: https://github.com/johnnychen94/Sixel.jl/blob/master/src/backend/libsixel/encoder.jl#L21-L38 When that's done, |
I haven't look at the |
actually, that package does seem like a better place once we have re-written the encoding in pure-Julia. Basically iTerm2 and Kitty has their own protocol that works like ~ [escapes][base64 encoded image][escape], the issue however is that Kitty's version is not as polished and you'd have to handle cursor and positioning and clearing yourself. But the core is (supposedly) very simple and can easily be done in Julia. Except Kitty doesn't have very clear documentation unlike iTerm2: https://iterm2.com/documentation-images.html |
https://github.com/simonschoelly/KittyTerminalImages.jl aaaaaand I just found out this |
@Moelf Or do you have any specific plan to add iTerm2/Kitty support to ImageInTerminal? If not, I guess this issue can be closed. |
timg_jll
is in the pipeline and should land soon, for the moment being:yields:
on Linux, left is Alacritty and right is Kitty. The quarter-pixel result is okay but whatever. (sadly Alacritty doesn't support Sixel either), but the point is we could have very convincing result for Kitty and iTerm2.
I'd like to know if people are interested in having this and if so, what's the best way to integrate into the existing interface/dispatch routes.
(video is also possible if we really want it:
Peek.2021-05-23.01-53.mp4
The text was updated successfully, but these errors were encountered: