AgeCommit message (Collapse)AuthorLines
2020-04-11Release v3.43.4Daniel Friesel-0/+18
2020-04-11ensure cache != NULL before accessing itDaniel Friesel-1/+1
Closes #521
2020-04-11feh(1): clarify that --start-at does work for local URLsDaniel Friesel-1/+1
2020-04-11Handle file:/// URLs as local paths in --start-atDaniel Friesel-1/+10
2020-04-08Notify user when attempting to edit caption of a URLDaniel Friesel-1/+4
2020-04-08fix a memory leak when loading a non-native image more than onceDaniel Friesel-0/+12
feh_file_info_load is called even if file_info is already populated, so the original file_info struct is never freed. This results in a leak of ~44 Byte for each subsequenc image load
2020-04-08github ci: reduce parallelism to decrease container overheadDaniel Friesel-6/+2
2020-04-06Switch from Travis CI to GitHub actionsDaniel Friesel-30/+40
2020-04-05Use conversion cache for imlib2 and dcraw imagesDaniel Friesel-21/+37
2020-03-30Merge branch 'awalgarg-master'Daniel Friesel-81/+138
2020-03-30bypass HTTP cache when reloading an imageDaniel Friesel-3/+16
2020-03-30move feh_reload_image to imlib.c (next to feh_load_image)Daniel Friesel-76/+76
2020-03-30add manpage entry for HTTP cacheDaniel Friesel-0/+13
It's called conversion-cache for now, as it will also be used for ImageMagick/dcraw-sourced images in the future. This should also help avoid confusion between HTTP/ImageMagick/dcraw cache (files on disk), Imlib2 cache (images in memory), and thumbnail cache.
2020-03-30Enable HTTP cache by defaultDaniel Friesel-2/+5
2020-03-30Enable re-using downloaded http cacheAwal Garg-2/+21
2020-03-29Document --start-at adjustmentsDaniel Friesel-0/+7
2020-03-29Merge branch 'iglosiggio-start-at-supports-urls'Daniel Friesel-2/+4
2020-03-29Merge branch 'start-at-supports-urls' of ↵Daniel Friesel-2/+4
into iglosiggio-start-at-supports-urls
2020-03-29Merge branch 'GreenLunar-patch-3'Daniel Friesel-1/+1
2020-03-29Merge branch 'patch-3' of into ↵Daniel Friesel-1/+1
2020-03-26Merge branch 'c99pedant-curl-legacy-callback-patch-1'Daniel Friesel-0/+6
2020-03-26Add WebP image formatGreenLunar-1/+1
2020-03-26Quit curl cleanly even if libcurl is old.c99pedant-0/+6
Building feh 3.3 on CentOS 7 x86_64 warns `curl_quit_function` in `imlib.c` is unused: ``` cc -g -O2 -Wall -Wextra -pedantic -std=c11 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DHAVE_LIBCURL -DHAVE_VERSCMP -DHAVE_LIBXINERAMA -DHAVE_LIBEXIF -DPREFIX=\"/usr/local\" -DPACKAGE=\"feh\" -DVERSION=\"3.3\" -c -o imlib.o imlib.c imlib.c:545:12: warning: ‘curl_quit_function’ defined but not used [-Wunused-function] static int curl_quit_function(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) ^ ``` The `curl_quit_function` code was added in response to pull [#435]( In issue [#485]( a fellow CentOS 7 user had an error building feh because CentOS 7 is locked into an old version of libcurl. In the fix, a version guard was wrapped around the `curl_easy_setopt` call, but the rest of the code was unchanged. Since I don't want to maintain a local build of libcurl, I looked at the curl docs and noticed there is an older callback which serves the same purpose: The difference between `PROGRESS` and `XFERINFO` is the callback's argument types, with `PROGRESS` using `double` and `XFERINFO` using `curl_off_t`: The callback's return value logic and use of `CURLOPT_NOPROGRESS` is the same. For context, the latest libcurl RPM I'm getting from yum updates is `libcurl-7.29.0-54.el7_7.2.x86_64`. The "stable" versions of other distros may encounter similar issues. The CentOS 7 "End of Life" date is 2024-06-30 so you should hear the end of this by then, at least from us pesky CentOS users.
2020-02-01--image-bg: Note that # may need to be escaped in some shellsDaniel Friesel-0/+2
Closes #506
2020-01-23Change local-files for general uris in feh.desktopIgnacio Losiggio-1/+1
2020-01-23Ignore --start-at if the parameter is an URLIgnacio Losiggio-1/+3
2019-12-03Release v3.33.3Daniel Friesel-0/+8
2019-12-02Adjust tests for Imlib2 1.6+ ("jpeg" format is now "jpg")Daniel Friesel-9/+48
Closes #497
2019-11-07Guard CURLOPT_XFERINFOFUNCTION usage with LIBCURL_VERSION_NUM checkDaniel Friesel-0/+2
Closes #485
2019-11-07Merge branch 'Ferada-x11-properties'Daniel Friesel-3/+15
2019-11-07Merge branch 'x11-properties' of into ↵Daniel Friesel-3/+15
2019-10-31Merge branch 'mathstuf-bad-image-rotate-blur'Daniel Friesel-17/+21
2019-10-29events: guard against NULL returns from imlib callsBen Boeckel-17/+21
This can happen with images that have ridiculous dimensions.
2019-10-11Allow setting the X11 class hint as an option.Olof-Joachim Frahm-3/+15
2019-07-22Release v3. Friesel-0/+11
2019-07-22Use --no-fehbg in .fehbg commandlineDaniel Friesel-1/+7
This ensures that X11 layout or other changes do not affect the .fehbg contents, which are meant to only be updated when a --bg-option is used manually. Closes #482
2019-07-13Merge branch 'stoeckmann-fchmod'Daniel Friesel-3/+4
2019-07-12Check stat for error before setting permissions.Tobias Stoeckmann-3/+4
When setting wallpapers without --no-fehbg option, a ~/.fehbg file is created. This file is set to be an executable for later re-use. Calling stat() without checking the return value can lead to issues. If the call fails, then s.st_mode is undefined and excessive permissions could be set to .fehbg, at worst even setuid/setgid bits for a world writable file. While adjusting this, I changed the code to use fstat() and fchmod() to avoid a further -- but very unlikely -- issue: race condition in form of TOCTOU. If the file ~/.fehsetbg is replaced by a symlink right before the chmod call, then a different file would be set executable + the default mode of the (newly created) file. I don't expect this to be a real world issue but changed this part "while at it" anyway for more robust code and a good example on how to handle files. Signed-off-by: Tobias Stoeckmann <>
2019-07-10Release v3.23.2Daniel Friesel-0/+9
2019-07-08Merge branch 'CrackedP0t-geometry'Daniel Friesel-1/+8
2019-07-08Merge branch 'geometry' of into ↵Daniel Friesel-1/+8
2019-07-08Fix lockup when receiving a signal and inotify is enabledDaniel Friesel-2/+2
That part slipped through while reviewing the PR...
2019-04-18inotify: Support files in current working directoryDaniel Friesel-0/+9
2019-04-18Gracefully handle inotify failuresDaniel Friesel-3/+4
2019-04-18print error string if an inotify operation failsDaniel Friesel-3/+3
2019-04-18feh(1): Distinguish between enabled/disabled features more clearlyDaniel Friesel-13/+31
2019-04-12run mandoc linterDaniel Friesel-7/+9
2019-04-12re-add --auto-reload to manualDaniel Friesel-1/+18
2019-04-12Enable auto-reload by default (when compiled with inotify=1)Daniel Friesel-0/+6
2019-04-12Merge branch 'swillner-master'Daniel Friesel-7/+167