I’ve got a stream of images (jpg) and I want to display each one as soon as it arrives. So, basically, here is what I want:
- There is currently some image on the screen;
- a new image arrives, my script is called with the path to the image;
- the new image is on the screen instead of the old one;
- goto 2.
What I tried:
- ImageMagick’s
display
. It doesn’t have an option to scale the image to fit the window, that’s bad but, well, I can use-resize
to scale to some reasonable fixed size. Also it has-remote
to display a new image in the same instance. The problem is that there is no way to combine-resize
and-remote
. convert
+display
. Usingconvert
to resize the image (again, to some fixed size which is unfortunate), saving it to a temporary location and callingdisplay -remote
to display it. For some reason theconvert
step is horribly slow.- Gwenview, kuickshow. Neither seems to be able to display a new image in the previous instance.
feh
can fit images (--scale-down
) but doesn’t have a single-instance mode. The closest I could get is usingfeh --bg-max
which scales the image to fit the screen and sets is as background. That works pretty well, but it’s clearly an ugly hack. Also it would be nice to display images in normal windows, not in the root one.
Any ideas?