diff options
| -rw-r--r-- | ChangeLog | 1 | ||||
| -rw-r--r-- | man/feh.1 | 7 | ||||
| -rw-r--r-- | src/options.c | 6 | ||||
| -rw-r--r-- | src/slideshow.c | 4 | 
4 files changed, 14 insertions, 4 deletions
| @@ -2,6 +2,7 @@ git HEAD      * Fix segfault in Thumbnail mode when trying to open a no longer        existing image (e.g. when the file was renamed by a previous action) +    * Set a negative slideshow-delay to start the slideshow in paused mode  Sat Jun  5 21:35:25 CEST 2010  Daniel Friesel <derf@chaosdorf.de @@ -313,6 +313,9 @@ managers.  For slideshow mode, wait  .Ar float  seconds between automatically changing slides.  Useful for presentations. +Specify a negative number to set the delay +.Pq which will then be Ar float No * (-1) , +but start feh in paused mode.  .It Cm -S , --sort Ar sort_type  The file list may be sorted according to image parameters.  Allowed sort  types are: name, filename, width, height, pixels, size, format.  For sort @@ -566,7 +569,9 @@ Toggle filename display  .It f , F  Save the current filelist to a unique filename  .It h , H -Pause the slideshow +Pause/Continue the slideshow.  When it is paused, it will not automatically +change slides based on +.Cm --slideshow-delay  .It m , M  Show menu  .It n , N , Ao space Ac , Aq right 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);  } | 
