summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorLines
2020-05-29Fix some warnings from `gcc`.Olof-Joachim Frahm-8/+14
2020-04-11update copyrightDaniel Friesel-24/+24
2020-04-11ensure cache != NULL before accessing itDaniel Friesel-1/+1
Closes #521
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-05Use conversion cache for imlib2 and dcraw imagesDaniel Friesel-21/+37
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-30Enable HTTP cache by defaultDaniel Friesel-2/+5
2020-03-30Enable re-using downloaded http cacheAwal Garg-2/+21
2020-03-29Merge branch 'start-at-supports-urls' of https://github.com/iglosiggio/feh ↵Daniel Friesel-1/+3
into iglosiggio-start-at-supports-urls
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](https://github.com/derf/feh/pull/435) In issue [#485](https://github.com/derf/feh/issues/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: https://curl.haxx.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html The difference between `PROGRESS` and `XFERINFO` is the callback's argument types, with `PROGRESS` using `double` and `XFERINFO` using `curl_off_t`: https://curl.haxx.se/libcurl/c/CURLOPT_XFERINFOFUNCTION.html 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-01-23Ignore --start-at if the parameter is an URLIgnacio Losiggio-1/+3
2019-11-07Guard CURLOPT_XFERINFOFUNCTION usage with LIBCURL_VERSION_NUM checkDaniel Friesel-0/+2
Closes #485
2019-11-07Merge branch 'x11-properties' of https://github.com/Ferada/feh into ↵Daniel Friesel-1/+6
Ferada-x11-properties
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-1/+6
2019-07-22Use --no-fehbg in .fehbg commandlineDaniel Friesel-1/+1
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-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 <tobias@stoeckmann.org>
2019-07-08Merge branch 'geometry' of https://github.com/CrackedP0t/feh into ↵Daniel Friesel-1/+8
CrackedP0t-geometry
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-12Enable auto-reload by default (when compiled with inotify=1)Daniel Friesel-0/+6
2019-04-12Handle no-longer-valid files in inotify-based auto-reloadDaniel Friesel-2/+2
2019-04-12Merge branch 'master' of https://github.com/swillner/feh into swillner-masterDaniel Friesel-5/+154
2019-04-05Correctly round human-readable file sizeDaniel Friesel-3/+3
Closes #463
2019-04-01Merge remote-tracking branch 'original/master'Sven Willner-291/+238
2019-03-26Make SIGUSR1 / SIGUSR2 relaod the current image in single-file slideshowsDaniel Friesel-4/+9
2019-03-14Get geometry after mappingElaina Martineau-0/+2
2019-03-14Get actual geometry from Xlib after resizeElaina Martineau-1/+6
2019-02-14Do not omit filenames in ~/.fehbg when using --no-xinerama (#456)Daniel Friesel-1/+1
2019-02-11remove debug printf3.1.2Daniel Friesel-1/+0
2019-02-11Unset "draw info" flag when encountering --info ';whatever'Daniel Friesel-2/+4
Otherwise, several --info switches will not properly override each other
2019-02-11Unset "start paused" flag on positive slideshow delayDaniel Friesel-0/+2
This fixes "feh -D -1 -D 1" and similar starting the slideshow in paused mode even though the last -D option specifies autostart.
2019-02-08Fix ~/.fehbg creation when using --randomize or directory argumentsDaniel Friesel-9/+10
Closes #456 Note that --randomize and directory names are not saved in fehbg. It only contains the command line needed to recreate the wallpaper setup which resulted from its invocation, i.e., after randomization etc. have been applied. This is intentional.
2019-02-01Remove dead codeDaniel Friesel-2/+0
closes #458
2019-01-21Update "src/signals.h"guraga-1/+1
Use "extern volatile" instead of "volatile extern" to avoid "gcc" warning "'extern' is not at beginning of declaration [-Wold-style-declaration]".
2018-12-26Merge pull request #442 from shlyakpavel/patch-1Daniel Friesel-1/+1
There is no need to test ft against null
2018-12-23options.c: Note that sscanf calls are safeDaniel Friesel-0/+9
2018-12-23There is no need to test ft against nullPavel Shlyak-1/+1
ft is already checked on line 153 so this condition is useless. Check https://github.com/derf/feh/issues/440 for more details
2018-12-23Remove useless assignmentsPavel Shlyak-2/+0
It is a naive way of fixing it :) Needs attentive review
2018-12-04Declare sig_exit as volatileDaniel Friesel-4/+4
sig_exit may be changed by a signal handler, so its value should always be read from RAM.
2018-11-29Handle SIGINT while doing libcurl transfersDaniel Friesel-1/+24
See also #435
2018-11-23Decrease libcurl timeout from indefinite to 30 minutesDaniel Friesel-0/+7
2018-11-19--start-at: Auto-load directory when no other files are specifiedDaniel Friesel-0/+13
This changes the behaviour of "feh --start-at FILENAME" as follows: Previously, this would cause feh to load all files in the current working directory, since no files or filelists were specified on the command line. Now this is a special case: feh will extract the directory component from FILENAME, load all files in that directory, and display FILENAME. This way, it's possible to use "feh --start-at ~%f" in XDG Desktop files and browse files in feh using the prev/next keys Closes #372 Closes #420
2018-11-18--start-at: Compare basenames if exact match failedDaniel Friesel-0/+46
This more closely resembles the expected behaviour of --start-at, but may lead to mismatches if several files in the filelist have the same basename. Closes #206 Related to #372 and #420
2018-11-18Make slideshow_save_image work again when opt.output_dir is unsetDaniel Friesel-2/+8