Skip to content
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

Kitty terminal graphics support #40

Open
14 of 17 tasks
AnonymouX47 opened this issue May 9, 2022 · 5 comments
Open
14 of 17 tasks

Kitty terminal graphics support #40

AnonymouX47 opened this issue May 9, 2022 · 5 comments
Labels
enhancement New feature / Improvement suggestion or request kitty Related to the 'kitty' render style

Comments

@AnonymouX47
Copy link
Owner

AnonymouX47 commented May 9, 2022

A branch off #23

Tested terminal emulators:

  • Fully working in Kitty >= 0.20.0.
  • Fully working in Konsole >= 22.04.0.
  • Tried Wezterm but not yet working, whether the stable or the nightly build as its implementation of the protocol is still really non-compliant and inconsistent with crucial aspects of the specification.

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:

  • RGB pixel data
  • RGBA pixel data
  • column and row image size
  • z-index
  • Image ID
  • Animation (currently manually handled using term_image.image.ImageIterator for now)
  • Virtual placements
@AnonymouX47 AnonymouX47 added enhancement New feature / Improvement suggestion or request lib Related to the library (Not to be used anymore) cli Related to the image viewer's CLI (Not to be used anymore) tui Related to the image viewer's TUI (Not to be used anymore) labels May 9, 2022
@AnonymouX47
Copy link
Owner Author

Initial implementation currently ongoing at #39

@AnonymouX47
Copy link
Owner Author

Initial implementation done! Moving on to z-index feature implementation.

Will require extending the format specification (adding a style-specific portion) and the draw() method.

@AnonymouX47 AnonymouX47 modified the milestones: 0.4.0, 0.5.0 Jun 23, 2022
@AnonymouX47 AnonymouX47 added the kitty Related to the 'kitty' render style label Jun 26, 2022
@AnonymouX47 AnonymouX47 removed this from the 0.5.0 milestone Feb 23, 2023
@jarbus
Copy link

jarbus commented Apr 16, 2023

The most recent release of kitty supports tmux!

@AnonymouX47
Copy link
Owner Author

AnonymouX47 commented Apr 16, 2023

Thanks so much. 😃

I also just found out about it yesterday. I'll add it to the list of tasks above and hopefully, support can be added before the next release but at the moment, there are a few more pressing issues.

I was thinking about it yesterday and virtual placements potentially have even more usefulness (and advantages over real placements) than just the tmux use case but one major disadvantage, they can only be individually deleted by id.

Anyways, I have to figure out a good way to implement support for IDs first... in particular, automatic ID allocation, which is rather complicated since the ID namespace is global and collisions with other software running in the terminal emulator must be avoided.

@AnonymouX47
Copy link
Owner Author

AnonymouX47 commented Apr 16, 2023

By the way, implementing support for tmux passthrough is a separate thing.
I think an issue had been opened in the past but it didn't seem hopeful then. I guess I'll reopen the issue.

@AnonymouX47 AnonymouX47 removed lib Related to the library (Not to be used anymore) cli Related to the image viewer's CLI (Not to be used anymore) tui Related to the image viewer's TUI (Not to be used anymore) labels Apr 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature / Improvement suggestion or request kitty Related to the 'kitty' render style
Projects
None yet
Development

No branches or pull requests

2 participants