I like simplicity, but I also like convenience. The Linux command line offers a lot of that, though the latter sometimes needs some searching. So also in the case of image viewers.
Over the course of the last months, I have developed two primary use-cases: Previewing a bunch of images directly in the terminal, first with generic iterm, then within kitty - images was one of the reasons prompting me to switch to it. The second one is a quick popup window, as KDE's showfoto
is only marginally faster than the full-blown digikam
which takes multiple seconds to start, with a lot of bells and whistles and pop-ups.
In the terminal, I quickly sorted out pxl and catimg
because of inferior quality. cacaview
converts images into colorful ASCII-Art, but is very coarse and pops up if you are in a graphical session and I found no way to turn that off, making it unsuitable for my uses. I took timg, viu and tiv into a detailed comparison using a little helper script to vary the width as seen below:
Both timg
and viu
supported kitty at the time of the test, and while viu
creates a smooth image in normal terminals, the jaggedness of tiv
preserves a lot more details. timg
hits a very good middle ground on these, and also allows previewing pdfs directly without conversion and can show images in grids, making it perfect for my previews. tiv
supports a directory mode while viu
only shows one image at a time, keeping timg
as a clear winner. ueberzug
also looked interesting, but more appropriate for integration with other applications. lsix
is also an interesting alternative to kitty with its sixel protocol because it natively lists images in a grid with their names, but so far kitty served me well enough to not give this a second thought, though recent developments highlight sixel as a more established standard.
For the popup version for use from xdg-open
, I wanted quick opening, ability to easily navigate back and forth in the folder of the image and focus capture with quick quitting. w3m
is interesting cause it is also a browser, but seemed a bit clunky for this usecase. qiv
fell out cause I tested it on KDE Plasma, where the popup window did not capture focus. feh
also did not cut it, leaving me with the unmaintained sxiv
and its various forks.
Today I experimented with nsxiv
, pqiv
and vimiv
, with the latter as clear winner because of its ability to easily navigate between and within images with familiar vim shortcuts.