Support for DELAY as a floating point number including less than 1

second while maintaining backward compatibiitiy with integer
arguments.
pull/12/head
Don Hejna 8 years ago
parent 32b29e61c1
commit 27bbaab976

@ -74,8 +74,8 @@ void img_init(img_t *img, win_t *win)
imlib_context_set_color_modifier(img->cmod);
img->gamma = MIN(MAX(options->gamma, -GAMMA_RANGE), GAMMA_RANGE);
img->ss.on = options->slideshow > 0;
img->ss.delay = options->slideshow > 0 ? options->slideshow : SLIDESHOW_DELAY;
img->ss.on = options->slideshow > 0.0;
img->ss.delay = options->slideshow > 0.0 ? options->slideshow : SLIDESHOW_DELAY;
}
#if HAVE_LIBEXIF

@ -60,7 +60,7 @@ typedef struct {
struct {
bool on;
int delay;
float delay;
} ss;
multi_img_t multi;

@ -372,7 +372,7 @@ void update_info(void)
} else {
bar_put(r, "%s", mark);
if (img.ss.on)
bar_put(r, "%ds | ", img.ss.delay);
bar_put(r, "%2.1fs | ", img.ss.delay);
if (img.gamma != 0)
bar_put(r, "G%+d | ", img.gamma);
bar_put(r, "%3d%% | ", (int) (img.zoom * 100.0));

@ -44,6 +44,7 @@ void print_version(void)
void parse_options(int argc, char **argv)
{
int n, opt;
float f;
char *end, *s;
const char *scalemodes = "dfwh";
@ -59,7 +60,7 @@ void parse_options(int argc, char **argv)
_options.zoom = 1.0;
_options.animate = false;
_options.gamma = 0;
_options.slideshow = 0;
_options.slideshow = 0.0;
_options.fullscreen = false;
_options.embed = 0;
@ -128,10 +129,10 @@ void parse_options(int argc, char **argv)
_options.recursive = true;
break;
case 'S':
n = strtol(optarg, &end, 0);
if (*end != '\0' || n <= 0)
f = (float) strtof(optarg, &end);
if (*end != '\0' || f <= 0.0)
error(EXIT_FAILURE, 0, "Invalid argument for option -S: %s", optarg);
_options.slideshow = n;
_options.slideshow = (float) f;
break;
case 's':
s = strchr(scalemodes, optarg[0]);

@ -36,7 +36,7 @@ typedef struct {
float zoom;
bool animate;
int gamma;
int slideshow;
float slideshow;
/* window: */
bool fullscreen;

@ -81,7 +81,7 @@ Be quiet, disable warnings to standard error stream.
Search the given directories recursively for images to view.
.TP
.BI "\-S " DELAY
Start in slideshow mode. Set the delay between images to DELAY seconds.
Start in slideshow mode. Set the delay between images to DELAY (float, e.g. 1, 3.1, 0.01) seconds.
.TP
.BI "\-s " MODE
Set scale mode according to MODE character. Supported modes are: [d]own,
@ -330,7 +330,7 @@ Toggle visibility of alpha-channel, i.e. image transparency.
.TP
.B s
Toggle slideshow mode and/or set the delay between images to
.I count
.I count (integer prefix only)
seconds.
.SH MOUSE COMMANDS
The following mouse mappings are available in image mode:

Loading…
Cancel
Save