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) { |