[GH-ISSUE #419] Cover Artwork #169

Open
opened 2026-02-28 14:47:30 +03:00 by kerem · 10 comments
Owner

Originally created by @niklaskorz on GitHub (Apr 27, 2020).
Original GitHub issue: https://github.com/Rigellute/spotify-tui/issues/419

In certain terminal emulators, for example Kitty, graphics can be displayed. It might be worth discovering this as an option to display the cover art in the spotify-tui interface. I'd be willing to implement this myself as a pull request if there's interest.

Originally created by @niklaskorz on GitHub (Apr 27, 2020). Original GitHub issue: https://github.com/Rigellute/spotify-tui/issues/419 In certain terminal emulators, for example [Kitty](https://sw.kovidgoyal.net/kitty/graphics-protocol.html), graphics can be displayed. It might be worth discovering this as an option to display the cover art in the spotify-tui interface. I'd be willing to implement this myself as a pull request if there's interest.
Author
Owner

@Rigellute commented on GitHub (Apr 28, 2020):

It would be awesome to get the album art rendered in the terminal. I've actually looked into this before but couldn't figure it out. There is an open question in tui for this exact issue https://github.com/fdehau/tui-rs/issues/143

But please do have a crack at it!

<!-- gh-comment-id:620516726 --> @Rigellute commented on GitHub (Apr 28, 2020): It would be awesome to get the album art rendered in the terminal. I've actually looked into this before but couldn't figure it out. There is an open question in `tui` for this exact issue https://github.com/fdehau/tui-rs/issues/143 But please do have a crack at it!
Author
Owner

@niklaskorz commented on GitHub (Apr 28, 2020):

The ranger source code is a pretty good hint and shows that there's no single "correct" solution to this: https://github.com/ranger/ranger/blob/master/ranger/ext/img_display.py

I think it makes sense to wrap the most commonly used solutions in a general tui-rs widget and let the user opt-in to any of the provided solutions.

As an experiment, I have taken ranger's implementation as an inspiration and implemented a basic ueberzug image widget in tui-rs:

image
<!-- gh-comment-id:620831891 --> @niklaskorz commented on GitHub (Apr 28, 2020): The ranger source code is a pretty good hint and shows that there's no single "correct" solution to this: https://github.com/ranger/ranger/blob/master/ranger/ext/img_display.py I think it makes sense to wrap the most commonly used solutions in a general tui-rs widget and let the user opt-in to any of the provided solutions. As an experiment, I have taken ranger's implementation as an inspiration and implemented a basic [ueberzug](https://github.com/seebye/ueberzug) image widget in tui-rs: <img width="956" alt="image" src="https://user-images.githubusercontent.com/590517/80533489-003c2080-899e-11ea-9674-f9571147c945.png">
Author
Owner

@niklaskorz commented on GitHub (Apr 29, 2020):

To be clear, except for Kitty and iTerm2, this would rely on calling external programs that draw on top of the actual terminal. From what I have seen, only Kitty and iTerm2 support real drawing of graphics directly in the terminal.

<!-- gh-comment-id:621095766 --> @niklaskorz commented on GitHub (Apr 29, 2020): To be clear, except for Kitty and iTerm2, this would rely on calling external programs that draw on top of the actual terminal. From what I have seen, only Kitty and iTerm2 support real drawing of graphics directly in the terminal.
Author
Owner

@ghost commented on GitHub (May 20, 2020):

Screenshot_20200520_221911

Covers could be generated as ANSi and rendered in any terminal emulator.

<!-- gh-comment-id:631507236 --> @ghost commented on GitHub (May 20, 2020): ![Screenshot_20200520_221911](https://user-images.githubusercontent.com/65664227/82457795-712baf80-9ae8-11ea-8e3c-85b60a27d784.jpg) Covers could be generated as ANSi and rendered in any terminal emulator.
Author
Owner

@jerbaroo commented on GitHub (Aug 23, 2020):

Covers could be generated as ANSi and rendered in any terminal emulator.

Would this solution only work for displaying artwork in full screen or over large portions of the screen? It wouldn't be suitable for displaying the artwork of the current song in the bottom corner of the spotify-tui?

<!-- gh-comment-id:678787801 --> @jerbaroo commented on GitHub (Aug 23, 2020): > Covers could be generated as ANSi and rendered in any terminal emulator. Would this solution only work for displaying artwork in full screen or over large portions of the screen? It wouldn't be suitable for displaying the artwork of the current song in the bottom corner of the spotify-tui?
Author
Owner

@ghost commented on GitHub (Aug 24, 2020):

Would this solution only work for displaying artwork in full screen or over large portions of the screen?

I'm not sure of the design details just floating the concept that all terminal emulators can have covers if ANSi is used.

<!-- gh-comment-id:678961006 --> @ghost commented on GitHub (Aug 24, 2020): > Would this solution only work for displaying artwork in full screen or over large portions of the screen? I'm not sure of the design details just floating the concept that all terminal emulators can have covers if ANSi is used.
Author
Owner

@eoli3n commented on GitHub (Dec 2, 2020):

Any news about this ?

<!-- gh-comment-id:737063925 --> @eoli3n commented on GitHub (Dec 2, 2020): Any news about this ?
Author
Owner

@atanunq commented on GitHub (Dec 2, 2020):

This thread inspired me to create viuer but for now it only has support for Kitty and questionable cross-platform capabilities. If support for iTerm is added I believe it would be a good candidate for the work here.

Edit: iTerm support is finished.

<!-- gh-comment-id:737123845 --> @atanunq commented on GitHub (Dec 2, 2020): This thread inspired me to create [viuer](https://github.com/atanunq/viuer) but for now it only has support for Kitty and questionable cross-platform capabilities. If support for iTerm is added I believe it would be a good candidate for the work here. Edit: iTerm support is finished.
Author
Owner

@sewnie commented on GitHub (Jul 8, 2021):

anything new? i've been looking forward to switching to spotify-tui but this has been holding me back.

<!-- gh-comment-id:876720663 --> @sewnie commented on GitHub (Jul 8, 2021): anything new? i've been looking forward to switching to spotify-tui but this has been holding me back.
Author
Owner

@Icelk commented on GitHub (Nov 28, 2022):

I've made a fork which adds support for this using the kitty graphics protocol. The code is very hacky, but it works without any major bugs.

https://github.com/Icelk/spotify-tui

<!-- gh-comment-id:1329440962 --> @Icelk commented on GitHub (Nov 28, 2022): I've made a fork which adds support for this using the kitty graphics protocol. The code is very hacky, but it works without any major bugs. https://github.com/Icelk/spotify-tui
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/spotify-tui#169
No description provided.