kovidgoyal / kitty

Cross-platform, fast, feature-rich, GPU based terminal
https://sw.kovidgoyal.net/kitty/
GNU General Public License v3.0
24.15k stars 972 forks source link

Q about icat, weechat and ncurses #2184

Closed Strykar closed 4 years ago

Strykar commented 4 years ago

I run my irc client, weechat in kitty and its beautiful font rendering, thank you for that!

On some (Discord) channels, when users post emojis, it shows up in the irc client as: discord_emoji_url

This, kitty's GPU acceleration, and a conversation I had with a weechat scripter a few days ago, got me thinking if it might ever be possible to display those images in the ncurses client?

Inside weechat, I did try: /exec kitty +kitten icat 'https://sw.kovidgoyal.net/kitty/_static/kitty.png' Which does not work, it prints _Gi=1;OKGi=2;OKi)] Checking for graphics (10.0s max. wait)...

Next, I created a new buffer (chat window) and tried inside that: /buffer add -free icat /exec kitty +kitten icat 'https://sw.kovidgoyal.net/kitty/_static/kitty.png' Which throws This terminal emulator does not support the graphics protocol, use a terminal emulator such as kitty that does support it...

Since kitty has to spawn a new tab/windows AFAIK to display the image, would a feature like this ever be possible? In an IRC client, it's probably fraught with issues like limits on the number of lines, line wraps and such but I couldn't help wonder.

kovidgoyal commented 4 years ago

kitty does not have to spawn new windows/tab to display images. It can perfectly well display images inside another program. To see this in action use kitty's own diff program https://sw.kovidgoyal.net/kitty/kittens/diff.html

As for why its not working inside weechat, it will likely need to be properly integrated, see https://sw.kovidgoyal.net/kitty/graphics-protocol.html