diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2018-11-18 20:22:14 +0100 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2018-11-18 20:22:14 +0100 | 
| commit | 05ab8b3318c187c26205a6d5c0d7e6295d252b94 (patch) | |
| tree | 42c38187539a50a2027e6482da53389f6d9720d1 | |
| parent | 60d3bcfdb3370730babe5e75ae8fbdaae9f09a35 (diff) | |
| parent | ddf90e154a33a4e15054d962124f381eb3608fa2 (diff) | |
Merge branch 'Ferada-output-directory-for-image-saving'
| -rw-r--r-- | man/feh.pre | 4 | ||||
| -rw-r--r-- | src/slideshow.c | 14 | ||||
| -rw-r--r-- | src/utils.c | 1 | 
3 files changed, 15 insertions, 4 deletions
| diff --git a/man/feh.pre b/man/feh.pre index 7ff69cf..173410e 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -594,7 +594,9 @@ image.  .  Save files to  .Ar directory -.Pq only useful with -k . +when using +.Cm --keep-http +or the save_image command.  By default, files are saved in the current working directory.  .  .It Cm -p , --preload diff --git a/src/slideshow.c b/src/slideshow.c index b404318..145bee1 100644 --- a/src/slideshow.c +++ b/src/slideshow.c @@ -615,16 +615,24 @@ void slideshow_save_image(winwidget win)  {  	char *tmpname;  	Imlib_Load_Error err; +	char *base_dir = ""; +	if (opt.output_dir) { +		base_dir = estrjoin("", opt.output_dir, "/", NULL); +	}  	if (win->file) { -		tmpname = feh_unique_filename("", FEH_FILE(win->file->data)->name); +		tmpname = feh_unique_filename(base_dir, FEH_FILE(win->file->data)->name);  	} else if (mode) {  		char *tmp;  		tmp = estrjoin(".", mode, "png", NULL); -		tmpname = feh_unique_filename("", tmp); +		tmpname = feh_unique_filename(base_dir, tmp);  		free(tmp);  	} else { -		tmpname = feh_unique_filename("", "noname.png"); +		tmpname = feh_unique_filename(base_dir, "noname.png"); +	} + +	if (opt.output_dir) { +		free(base_dir);  	}  	if (opt.verbose) diff --git a/src/utils.c b/src/utils.c index ec30d4a..087e7f6 100644 --- a/src/utils.c +++ b/src/utils.c @@ -152,6 +152,7 @@ char path_is_url(char *path) {  	return 0;  } +/* Note: path must end with a trailing / or be an empty string */  /* free the result please */  char *feh_unique_filename(char *path, char *basename)  { | 
