Discussion:
display(1) in Slackware 14.2 distro
(too old to reply)
Mike Spencer
2019-12-08 02:52:45 UTC
Permalink
Finally upgrading to Slack 14.2 from (variously) 11, 12 and 14.1. Many
little annoyances.

Previous version (6.8.6-10) of display(1) (in the ImageMagick
package), when invoked as, say, "display *.jpg", would display all jpg
images in ., cycling to the first one again after the last one had been
viewed.

The present version (6.9.4-9) exits after the last image has been
viewed.

Is there an easy way to restore the previous behavior, so that
display(1) cycles repeatedly through images given on the command line
until exit is explicitly requested?

Short, that is, of recompiling the whole shebang? The ImageMacgick
source package is a daunting mare's nest for someone with my amateur
skills in C.
--
Mike Spencer Nova Scotia, Canada
Rich
2019-12-08 04:48:01 UTC
Permalink
Post by Mike Spencer
Finally upgrading to Slack 14.2 from (variously) 11, 12 and 14.1. Many
little annoyances.
Previous version (6.8.6-10) of display(1) (in the ImageMagick
package), when invoked as, say, "display *.jpg", would display all jpg
images in ., cycling to the first one again after the last one had been
viewed.
...
Short, that is, of recompiling the whole shebang? The ImageMacgick
source package is a daunting mare's nest for someone with my amateur
skills in C.
Why would it be hard for you to recompile? Just download ImageMagick
from the Slack 14.1 source tree, and run the included build script.
That /should/ build the version that was packaged with 14.1 and
generate a Slackware install bundle, afterwhich you can just do an
"upgradepkg" (possibly with the --reinstall flag) to swap 14.2's
ImageMagick version for 14.1's version.

But the most work you should need to do is download the files from the
source tree, maybe make the build script executable, run the build
script, and cleanup the leftovers in /tmp/ when you are done.
Mike Spencer
2019-12-08 07:55:56 UTC
Permalink
Post by Rich
Post by Mike Spencer
Previous version (6.8.6-10) of display(1) (in the ImageMagick
package), when invoked as, say, "display *.jpg", would display all jpg
images in ., cycling to the first one again after the last one had been
viewed. [and 6.8.6-10 exits instead of cycling]
...
Short, that is, of recompiling the whole shebang? The ImageMacgick
source package is a daunting mare's nest for someone with my amateur
skills in C.
Why would it be hard for you to recompile?
Not recompiling per se, juts finnding the code to fix in such a large,
integrated package and *then* recompiling. I had a look at the
source. Where the code relevant to my purpose is located isn't as
obvious as it might be in the case of, say, cal(1).
Post by Rich
Just download ImageMagick from the Slack 14.1 source tree and run
the included build script.
Well, yes. I have the 14.1 source already. Or I could just copy the
binary over from a working 14.1 machine. I've done that in the past
and it worked okay.
Post by Rich
But the most work you should need to do is download the files from the
source tree, maybe make the build script executable, run the build
script, and cleanup the leftovers in /tmp/ when you are done.
Yeah, compiling itself is doable. Was hoping there was a known
config trick to fix/reverse the changed behavior.
--
Mike Spencer Nova Scotia, Canada
Javier
2019-12-08 13:10:02 UTC
Permalink
Post by Mike Spencer
The present version (6.9.4-9) exits after the last image has been
viewed.
Is there an easy way to restore the previous behavior, so that
display(1) cycles repeatedly through images given on the command line
until exit is explicitly requested?
$ man display | grep loop
-loop iterations loop images then exit

I guess 'iterations' should be a number. Try with 0 or 1000.

In any case, if you want consistent behaviour with different versions
try with xzgv or feh.
Mike Spencer
2019-12-09 07:32:39 UTC
Permalink
Post by Javier
Post by Mike Spencer
The present version (6.9.4-9) exits after the last image has been
viewed.
Is there an easy way to restore the previous behavior, so that
display(1) cycles repeatedly through images given on the command line
until exit is explicitly requested?
$ man display | grep loop
-loop iterations loop images then exit
I guess 'iterations' should be a number. Try with 0 or 1000.
Dunno what the -loop n switch is supposed to do but display still
exits after displaying each image once with 0, 1000 & other values for
n.
Post by Javier
In any case, if you want consistent behaviour with different versions
try with xzgv or feh.
Noted, tnx.
--
Mike Spencer Nova Scotia, Canada
Javier
2019-12-09 15:23:11 UTC
Permalink
Post by Mike Spencer
Post by Javier
$ man display | grep loop
-loop iterations loop images then exit
I guess 'iterations' should be a number. Try with 0 or 1000.
Dunno what the -loop n switch is supposed to do but display still
exits after displaying each image once with 0, 1000 & other values for
n.
I don't know it either. Regrettably the manpage is not very explicit.
Jerry Peters
2019-12-10 21:18:28 UTC
Permalink
Post by Javier
Post by Mike Spencer
Post by Javier
$ man display | grep loop
-loop iterations loop images then exit
I guess 'iterations' should be a number. Try with 0 or 1000.
Dunno what the -loop n switch is supposed to do but display still
exits after displaying each image once with 0, 1000 & other values for
n.
I don't know it either. Regrettably the manpage is not very explicit.
I *think* it's used with delay to implement a slideshow display.

What about:

infdisplay () {
while true ; do
display "$@"
done
}


The downside is you have to focus on the terminal & hit ctrl-c to end
it (display captures Ctrl-c & ctrl-\ for its own use).

Rich
2019-12-09 16:21:47 UTC
Permalink
Post by Mike Spencer
Post by Javier
Post by Mike Spencer
The present version (6.9.4-9) exits after the last image has been
viewed.
Is there an easy way to restore the previous behavior, so that
display(1) cycles repeatedly through images given on the command line
until exit is explicitly requested?
$ man display | grep loop
-loop iterations loop images then exit
I guess 'iterations' should be a number. Try with 0 or 1000.
Dunno what the -loop n switch is supposed to do but display still
exits after displaying each image once with 0, 1000 & other values for
n.
Post by Javier
In any case, if you want consistent behaviour with different versions
try with xzgv or feh.
Noted, tnx.
Also, xv will let you step through a set of images (spacebar), and will
not exit when hitting the last one (spacebar on the last one simply
results in the last image just sitting there).
Ned Latham
2019-12-09 17:00:30 UTC
Permalink
Post by Rich
Post by Mike Spencer
Post by Javier
Post by Mike Spencer
The present version (6.9.4-9) exits after the last image has been
viewed.
Is there an easy way to restore the previous behavior, so that
display(1) cycles repeatedly through images given on the command line
until exit is explicitly requested?
$ man display | grep loop
-loop iterations loop images then exit
I guess 'iterations' should be a number. Try with 0 or 1000.
Dunno what the -loop n switch is supposed to do but display still
exits after displaying each image once with 0, 1000 & other values for
n.
Post by Javier
In any case, if you want consistent behaviour with different versions
try with xzgv or feh.
Noted, tnx.
Also, xv will let you step through a set of images (spacebar), and will
not exit when hitting the last one (spacebar on the last one simply
results in the last image just sitting there).
You can step backwards through the set with <BACKSPACE>.
Eli the Bearded
2019-12-09 21:07:39 UTC
Permalink
Post by Mike Spencer
Post by Javier
In any case, if you want consistent behaviour with different versions
try with xzgv or feh.
Noted, tnx.
feh is my absolute favorite. It's got a weird "theme" aliasing scheme
where you put lines in a config file and then if run as that name (or
using the command line theme option), it will use those options.

By default feh will run through the images and then restart, as original
poster wanted, to change that, use --cycle-once. For me, the most
important "theme" I have is:

$ grep fehonce ~/.config/feh/themes
fehonce --scale-down --cycle-once
$

I invoke it with a symlink in ~/bin/ to the system feh so I can quickly
alternate between looping and nonlooping modes. I also like feh for the
non-integer display delay ("-D") for use in selecting frames when
constructing animated GIFs. Makes preview of the GIF a breeze. Last
killer feature I'll mention for feh, is that it can download image URLs
and display those.

feh https://etherhenge.on-a.pizza/

(That particular URL redirects to a JPEG stored on Imgur.) I recall
using the URL feature with the -D display delay to reload voting results
back in the 2000 US Presidential elections rather than reload news sites.
That year broke it, though, with the long delay getting Florida's results
finalized.

Elijah
------
feh is also super fast and has nicer (IMHO) keybindings than xv
Henrik Carlqvist
2019-12-10 07:21:05 UTC
Permalink
Previous version (6.8.6-10) of display(1) (in the ImageMagick package),
when invoked as, say, "display *.jpg", would display all jpg images in
., cycling to the first one again after the last one had been viewed.
The present version (6.9.4-9) exits after the last image has been
viewed.
Logging in to some older Slackware machines I can see that:

Version 6.3.3_9 on Slackware 12.0 cycles
Version 5.5.7_25 on Slackware 9.1 exits

So this behavior has been changed before in imagemagick and might change
again...

However, in my experience imagemagick when displaying big or many images
might eat a lot of RAM. Maybe that was an experience that I got when I
used display with the cycling feature.

regards Henrik
Loading...