[Feature] More Image options +[Bug]
More Image options
Right now I think baca do a nice job to show images as ANSI colored blocks, but can be better to have more external options (that should be easy to do). I think is good idea to show images as it's now, but have an option that shows a place holder with the image filename (Example: [cover.jpg]) and offer a hotkey to open outside (external). Options:
-
The obvious one, should be use
xdg-opento open aGUI(X11/Wayland) viewer of preference (like: nsxiv, imv, feh, imagemagick's display, etc). -
I did test this inside
multiplexer(tmux) andTTY; in TTY the images doesn't have any color, maybe there is a way to improve that. There are other options 4 ANSI colored blocks/ASCII, that works well in GUI and some in TTY (like: aalib, libcaca, viu, chafa, timg, etc). Viu also can use terminal (Kitty, iTerm) features to show images. -
At last, use
Framebufferviewers for TTY (like: fim, fbi, fbvis, jfbview) to have a near GUI image experience in TTY.
I think nnn do this very well with plugins like: preview-tui-ext, preview-tabbed, nuke, imgview; should be useful because the code is easy to read (I'm no programmer). There is a happy coincidence with gutenread plugin, that uses epr to read from Project Gutemberg.
Maybe this can help you to add some more image options. Can be as simple as custom command, to use a preferred external iamge viewer. Or more complex, like showing image in a new "window pane" or tab (inside a multiplexer).
[Bug]
I did notice that front cover image (cover.jpg) was not shown in my tests, I did test with same e-book in epub and azw3 formats. Later I did try with two more epubs, and happens the same, it did skip 1st image (cover).
Right now I think baca do a nice job to show images as ANSI colored blocks, but can be better to have more external options (that should be easy to do). I think is good idea to show images as it's now, but have an option that shows a place holder with the image filename (Example: [cover.jpg]) and offer a hotkey to open outside (external).
Actually there is configuration for that, here is the part of the doc: https://github.com/wustho/baca#opening-an-image
Bug
Hmm, I thought I encountered that issue before, but I brushed it off since the feature of showing the cover isn't worth the effort. Will look into it again... thanks for confirming
- Your right, sorry, I did missed this.
Because it's not obvious, I changed
PreferredImageViewer = autoto all my installed image viewers (nsxiv, imv, viu {inside virtual terminal}, feh, imagemagick's display), and works with no problem inside X11. Example (config.ini):
PreferredImageViewer = nsxiv
This is very helpful, because some e-books can have useful detailed information 4 the reader as drawings, like:
- maps
- family trees
- more: people, places, puzzles
Examples:
- Tolkien: "The Lord of the Rings", "Silmarillion", "Hobbit"
- Frank Herbert: "DUNE" saga
- Ursula K. Le Guin: The "Earthsea" Cycle
- George R.R. Martin: "Song of Fire And Ice" saga
- Gabriel García Márquez: "One Hundred Years of Solitude"
- William Goldman: "The Princess Bride"
- Stieg Larsson: "The Girl with the Dragon Tattoo"
- Terry Pratchet: "Discworld" novels
- C. S. Lewis: "Chronicles of Narnia"
- etc
- When using baca from TTY, there's no mouse to click image and launch the custom image viewer. Because of this, I wasn't able to test TTY|Framebuffer viewers. Would help to have a hotkey (like "v" or something else), to launch the 1st image (or placeholder) displayed in the actual e-book page, and/or there is a way using gpm to use a real mouse in TTY.
- When changing
config.inito:
ShowImageAsANSII = No
I get the image placeholder, but should be better have the filename, because sometimes is a descriptive name, like cover123.jpg
┌────────────────────────────────────┐
│IMAGE │
└────────────────────────────────────┘
Something like this (Mockup):
┌────────────────────────────────────┐
│IMAGE: cover123.jpg │
└────────────────────────────────────┘
It would be nice if images would be shown using the sixel protocol for terminals that support it, kitty protocol for the kitty terminal, or using ueberzugg.