From 9087479e3fc31e26cf7629138010be4c877517fa Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 7 Jun 2010 12:14:00 +0200 Subject: Allow specifying slideshow-delay while starting the slideshow in paused mode Set --slideshow-delay to a negative value to achieve that. In that case, the actual slideshow-delay will be * (-1), so -D-5 sets slideshow-delay 5 seconds but starts paused. Closes: GH-4 --- src/options.c | 6 +++++- src/slideshow.c | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/options.c b/src/options.c index 3cc4bd9..e7524f4 100644 --- a/src/options.c +++ b/src/options.c @@ -49,7 +49,7 @@ void init_parse_options(int argc, char **argv) memset(&opt, 0, sizeof(fehoptions)); opt.display = 1; opt.aspect = 1; - opt.slideshow_delay = -1.0; + opt.slideshow_delay = 0.0; opt.thumb_w = 60; opt.thumb_h = 60; opt.thumb_redraw = 10; @@ -597,6 +597,10 @@ static void feh_parse_option_array(int argc, char **argv) break; case 'D': opt.slideshow_delay = atof(optarg); + if (opt.slideshow_delay < 0.0) { + opt.slideshow_delay *= (-1); + opt.paused = 1; + } break; case 'R': opt.reload = atoi(optarg); diff --git a/src/slideshow.c b/src/slideshow.c index e3791a1..4f95c46 100644 --- a/src/slideshow.c +++ b/src/slideshow.c @@ -63,7 +63,7 @@ void init_slideshow_mode(void) free(s); success = 1; winwidget_show(w); - if (opt.slideshow_delay >= 0.0) + if (opt.slideshow_delay > 0.0) feh_add_timer(cb_slide_timer, w, opt.slideshow_delay, "SLIDE_CHANGE"); else if (opt.reload > 0) feh_add_unique_timer(cb_reload_timer, w, opt.reload); @@ -278,7 +278,7 @@ void slideshow_change_image(winwidget winwid, int change) if (filelist_len == 0) eprintf("No more slides in show"); - if (opt.slideshow_delay >= 0.0) + if (opt.slideshow_delay > 0.0) feh_add_timer(cb_slide_timer, winwid, opt.slideshow_delay, "SLIDE_CHANGE"); D_RETURN_(4); } -- cgit v1.2.3