summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorLines
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
2018-11-18Merge branch 'output-directory-for-image-saving' of ↵Daniel Friesel-3/+6
https://github.com/Ferada/feh into Ferada-output-directory-for-image-saving
2018-11-09options.c: Remove '-)' (belonged to menu-bg)Daniel Friesel-1/+1
2018-11-09Update helpDaniel Friesel-10/+18
2018-11-08Change default toggle_fullscreen key to "f"Daniel Friesel-2/+2
This is in line with other software. save_filelist now defaults to "L".
2018-11-05Remove no longer present -c option from stroptsDaniel Friesel-1/+1
2018-11-05Remove deprecated option --menu-bgDaniel Friesel-10/+1
2018-11-05Remove deprecated --cycle-once optionDaniel Friesel-5/+0
2018-11-04Fix segfault when editing an image without info structDaniel Friesel-4/+12
2018-11-04Disable in-place editing by defaultDaniel Friesel-6/+6
2018-11-04Merge branch 'no-inplace-edit' of https://github.com/ulteq/feh into ↵Daniel Friesel-0/+21
ulteq-no-inplace-edit
2018-11-04Merge branch 'remove-collage-mode' of https://github.com/Ferada/feh into ↵Daniel Friesel-225/+2
Ferada-remove-collage-mode
2018-11-04Show verscmp status in --version outputDaniel Friesel-0/+4
2018-10-17Merge branch 'complete-exif-rotations' of https://github.com/Ferada/feh into ↵Daniel Friesel-1/+27
Ferada-complete-exif-rotations
2018-10-17Use random() instead of rand() to increase portabilityDaniel Friesel-7/+7
Quoting glibc rand(3): The versions of rand() and srand() in the Linux C Library use the same random number generator as random(3) and srandom(3), so the lower-order bits should be as random as the higher-order bits. However, on older rand() implementations, and on current implementations on different systems, the lower-order bits are much less random than the higher-order bits. Do not use this function in applications intended to be portable when good randomness is needed. (Use random(3) instead.)