| Age | Commit message (Collapse) | Author | Lines | 
|---|
|  |  | 
|  |  | 
|  | Imlib2 v1.7.5 introduces automatic (and transparent) orientation adjustment
based on EXIF orientation tags. This makes feh's --auto-rotate function
both superfluous and erroneous: It doesn't know about Imlib2's adjustments,
so it rotates an image which is already correctly oriented, leading to
incorrect orientation.
I am not aware of a simple run-time check for detecting whethen running
Imlib2 < 1.7.5 or ≥ 1.7.5. For now, feh disables --auto-rotate entirely when
compiled on a system with Imlib2 1.7.5+ and outputs a warning when the
option is used.
Rationale: The Imlib2 version available at run-time should in most cases be
at least as recent as the Imlib2 version used at compile-time. So, while there
may be cases where feh was compiled with Imlib2 1.7.4 and exhibits erroneous
auto-rotate behaviour on an Imlib2 1.7.5 system, the inverse case
(a feh with disabled auto-rotate support running on Imlib2 1.7.4) should be
sufficiently rare. If it does occur, it can be remedied by compiling feh
from source locally.
Possible caveat: Imlib2 only adjusts for EXIF orientation when loading JPEG
and TIFF images. If there are additional EXIF-aware file formats supported by
feh, but not Imlib2, they lose auto-rotate support.
Reference: GitHub issue #642 | 
|  | Closes #639 | 
|  | Useful to make feh quit (or execute actions) on mouse movement
Closes #568 | 
|  | If stdin is not connected, the X11 connection may use FD 0, which is
traditionally used for STDIN. Do not attempt reads from fd 0 unless it
_really_ is connected to a terminal on stdin.
Reported by https://github.com/pvanstam, thanks a lot!
Closes #631
Closes #632 | 
|  |  | 
|  | This allows feh to load .gif images via libcurl, as some imlib2 versions only
load gif images if the suffix is correct. It's also more convenient when using
--keep-http.
To achieve this, feh needs to use mkstemps. mkstemps is a non-standard
extension that is available on several systems. Compile feh with
"mkstemps=0" to use mkstemp instead.
Closes #630 | 
|  | Needs further testing | 
|  |  | 
|  | The snprintf string argument should not be duplicated.
It is not needed and also not released afterwards. | 
|  | Calling feh with an empty argument leads to out of boundary access.
This can be seen best when compiled with asan:
$ feh "" | 
|  |  | 
|  | * Fix out of boundary access
The while-loop is not finished when pos is set to EXIF_MAX_DATA.
Instead, the loop continues and therefore tries to access data outside
of the array.
This is triggered when compiled with exif=1 and asan:
$ feh --draw-exif image.jpg
* Fixed formatting
No functional change but makes previous commit easier verifiable
(independent of tab space setup).
* Call break; instead of setting pos2 to a magic value
This is in line with the following else clause
* Another cosmetic adjustment
Co-authored-by: Daniel Friesel <derf@finalrewind.org> | 
|  |  | 
|  | Note that Imlib2 does not support JXL images out of the box.  However, the
imlib2-jxl loader (https://github.com/alistair7/imlib2-jxl) does. | 
|  |  | 
|  |  | 
|  | This is consistent with --scroll-step (option name) and --zoom (percentage) | 
|  |  | 
|  |  | 
|  |  | 
|  | Both of these protocols are supported in latest curl.
Signed-off-by: parazyd <parazyd@dyne.org> | 
|  |  | 
|  | This makes --(auto-)reload use the directory specified at --start-at
instead of the current working directory. Closes #597 | 
|  | * fixed for simpler parenthesis matching
* absolute file path for .fehbg, moved script creation into helper function
* Removed unused variable.
* added early exit condition as per Ferada's suggestion
* Added enum for options to improve readability
* migrated options to enum.
* added support for zoom specification through options
* added man entry for zoom-rate
* added help entry for zoom-rate commands
* updated man to have warnings about strange values for zoom options
* fix memory leak (free exec_absolute_path)
* added detection for path vs env PATH launch for use in .fehbg script gen.
* Added enum for options to improve readability
* migrated options to enum.
* added support for zoom specification through options
* added man entry for zoom-rate
* added help entry for zoom-rate commands
* updated man to have warnings about strange values for zoom options
* Update help.raw
removed zoom-in/out
* removed zoom-in/out from options
* updated man/help entry to remove in/out zoom specification
* sanitize --zoom-rate in options parser; use a single variable for storing it
Co-authored-by: Daniel Friesel <derf@finalrewind.org> | 
|  | This fixes Ctrl+key causing unintended behaviour. Closes #596 | 
|  | Fix some warnings from `gcc`. | 
|  | Closes #595 | 
|  | .fehbg now stores the full path to the feh binary when it was run using a relative path (i.e., not from $PATH) | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | Closes #584 | 
|  |  | 
|  | feh is C code, _XFUNCPROTO(BEGIN|END) are only needed for C++ applications. | 
|  |  | 
|  |  | 
|  |  | 
|  | codehearts-add-windowid-option | 
|  |  | 
|  | Fixes https://github.com/derf/feh/issues/580 | 
|  | Note that Imlib2 does not support HEIC/HEIF images out of the box. However, the
imlib2-heic loader (https://github.com/vi/imlib2-heic) does.
Closes #579 | 
|  | Closes #577 | 
|  |  | 
|  |  | 
|  |  | 
|  | This fixes two memory bugs that only manifest with exif=1 and long-running
slideshows.
* when feh loads an image, it writes exif data to file->ed. Previously, this
  data was never free'd, causing a memory leak on subsequent loads of the same
  file.
* As file->ed is never free'd, the accumulated EXIF data consumes a significant
  amount of memory over time. with slideshow-delay = 10 and two days of
  runtime, feh may exceed 1 GB of memory usage. If the slideshow is so large
  that feh does not encounter the same image twice in this time, this is not
  detected as a memory leak, as each EXIF data chunk is referenced from the
  filelist.
See <https://github.com/derf/feh/issues/553> for details.
Closes #553 |