Hello community,

here is the log from the commit of package feh for openSUSE:Factory checked in 
at 2017-02-26 17:09:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/feh (Old)
 and      /work/SRC/openSUSE:Factory/.feh.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "feh"

Changes:
--------
--- /work/SRC/openSUSE:Factory/feh/feh.changes  2016-09-07 11:44:51.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.feh.new/feh.changes     2017-02-26 
17:09:16.427736473 +0100
@@ -1,0 +2,9 @@
+Fri Feb 24 11:07:56 UTC 2017 - mimi...@gmail.com
+
+- update to 2.18.2
+* Fix image-specific format specifiers not being updated correctly
+* New key binding: ! -  zoom_fill (zoom to fill window, may cut off image parts
+* Disable EXIF-based auto rotation by default
+* add --auto-rotate option to enable auto rotation 
+
+-------------------------------------------------------------------

Old:
----
  feh-2.17.1.tar.bz2
  feh-2.17.1.tar.bz2.asc

New:
----
  feh-2.18.2.tar.bz2
  feh-2.18.2.tar.bz2.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ feh.spec ++++++
--- /var/tmp/diff_new_pack.UQ0LKY/_old  2017-02-26 17:09:16.931659995 +0100
+++ /var/tmp/diff_new_pack.UQ0LKY/_new  2017-02-26 17:09:16.935659388 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package feh
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           feh
-Version:        2.17.1
+Version:        2.18.2
 Release:        0
 Summary:        Fast and Lightweight Image Viewer
 License:        MIT and LGPL-2.0+
@@ -97,7 +97,7 @@
 
 %files
 %defattr(-, root, root)
-%doc AUTHORS ChangeLog README TODO
+%doc AUTHORS ChangeLog README.md TODO
 %{_bindir}/feh
 %{_bindir}/feh-cam
 %{_bindir}/gen-cam-menu

++++++ feh-2.17.1.tar.bz2 -> feh-2.18.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/ChangeLog new/feh-2.18.2/ChangeLog
--- old/feh-2.17.1/ChangeLog    2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/ChangeLog    2017-02-16 23:11:12.000000000 +0100
@@ -1,3 +1,24 @@
+Thu, 16 Feb 2017 23:05:39 +0100  Daniel Friesel <derf+...@finalrewind.org>
+
+* Release v2.18.2
+    * Fix crash when using both --thumbnails and --title. This bug was
+      introduced in v2.18.1.
+
+Sun, 22 Jan 2017 19:11:32 +0100  Daniel Friesel <derf+...@finalrewind.org>
+
+* Release v2.18.1
+    * Fix image-specific format specifiers not being updated correctly
+      (e.g. %z not displaying the correct zoom value after zooming in / out)
+
+Tue, 01 Nov 2016 10:55:04 +0100  Daniel Friesel <derf+...@finalrewind.org>
+
+* Release v2.18
+    * Move README to README.md
+    * New key binding: ! / zoom_fill (zoom to fill window, may cut off image
+      parts)
+    * Only for builds with exif=1: Disable EXIF-based auto rotation by
+      default, add --auto-rotate option to enable it (Patch by Elliot Wolk)
+
 Wed, 31 Aug 2016 20:27:20 +0200  Daniel Friesel <derf+...@finalrewind.org>
 
 * Release v2.17.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/Makefile new/feh-2.18.2/Makefile
--- old/feh-2.17.1/Makefile     2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/Makefile     2017-02-16 23:11:12.000000000 +0100
@@ -51,8 +51,8 @@
 install-doc:
        @echo installing docs to ${doc_dir}
        @mkdir -p ${doc_dir}
-       @cp AUTHORS ChangeLog README TODO ${doc_dir}
-       @chmod 644 ${doc_dir}/AUTHORS ${doc_dir}/ChangeLog ${doc_dir}/README \
+       @cp AUTHORS ChangeLog README.md TODO ${doc_dir}
+       @chmod 644 ${doc_dir}/AUTHORS ${doc_dir}/ChangeLog ${doc_dir}/README.md 
\
                ${doc_dir}/TODO
 
 install-bin:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/README new/feh-2.18.2/README
--- old/feh-2.17.1/README       2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/README       1970-01-01 01:00:00.000000000 +0100
@@ -1,109 +0,0 @@
-feh - Imlib2 based image viewer
--------------------------------
-
- * <http://feh.finalrewind.org/>
- * <http://linuxbrit.co.uk/feh/>
- * #feh on irc.oftc.net
-
-Dependencies
-------------
-
- * Imlib2
- * libcurl (disable with make curl=0)
- * libpng
- * libX11
- * libXinerama (disable with make xinerama=0)
-
-If built with exif=1:
-
- * libexif-dev
- * libexif12
-
-Recommended
------------
-
- * jpegtran  (supplied by the jpeg library, for lossless image rotation)
- * convert  (supplied by ImageMagick, can be used to load unsupported formats)
-
-Installation
-------------
-
-For end users:
-
-$ make
-$ sudo make install app=1
-
-For package maintainers and users who do not want feh to install its
-icons into /usr/share:
-
-$ make
-$ sudo make install
-
-Explanation: feh ships some icons and an X11 desktop entry, which allow it to
-be used from file managers, desktop menus and similar. However, installing
-icons to /usr/local/share/... does not seem to work reliable in all cases.
-Because of this, when using "make install app=1", feh will install its icons
-to /usr/share/..., even though they technically belong into /usr/local.
-
-ZSH Completion for feh is available at
-<http://git.finalrewind.org/zsh/plain/etc/completions/_feh>
-
-Make flags
-----------
-
-Flags can be used to control the build and installation process, e.g. via "make
-flag=bool", "make install flag=bool", or "export flag=bool; make && make
-install".  For example, "make xinerama=0 debug=1" will disable Xinerama support
-and produce a debug build.
-
-Available flags are:
-
- * app      (default 0) - install icons to /usr/share, regardless of DESTDIR
-                          and PREFIX, and call gtk-update-icon-cache afterwards
- * cam      (default 0) - install deprecated feh-cam und gen-cam-menu scripts
- * curl     (default 1) - use libcurl to view http:// and similar images
- * debug    (default 0) - debug build, enables --debug
- * exif     (default 0) - Builtin EXIF tag display support
- * help     (default 0) - include help text (refers to the manpage otherwise)
- * stat64   (default 0) - Support CIFS shares from 64bit hosts on 32bit 
machines
- * xinerama (default 1) - Support Xinerama/XRandR multiscreen setups
-
-So, by default libcurl and Xinerama are enabled, the rest is disabled.
-
-Additionally, the standard variables PREFIX and DESTDIR are supported.
-PREFIX (default /usr) controls where the application and its data files
-will be installed. It must be set both during "make" and "make install".
-DESTDIR (default empty) sets the installation root during "make install". It
-is mostly useful for package maintainers.
-
-Note: config.mk is designed so that in most cases, you can set environment
-variables instead of editing it. E.g.:
-CFLAGS='-g -Os' make
-export DESTDIR=/tmp/feh PREFIX=/usr; make && make install
-
-Builtin EXIF support is maintained by Dennis Real, see
-<https://github.com/reald/feh>.
-
-
-Testing (non-X)
----------------
-
-$ make test
-
-Requires perl >= 5.10 with Test::Command. The tests are non-interactive and
-work without X, so they can safely be run even on a headless buildserver.
-
-
-Testing (X)
------------
-
-Requires
- * import (usually supplied by imagemagick)
- * perl >= 5.10 with GD, Test::More and X11::GUITest
- * twm
- * Xephyr
-
-$ make test-x11
-
-Be aware that this is quite experimental, so far the X-tests have only been
-run on one machine. So they may or may not work for you.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/README.md new/feh-2.18.2/README.md
--- old/feh-2.17.1/README.md    1970-01-01 01:00:00.000000000 +0100
+++ new/feh-2.18.2/README.md    2017-02-16 23:11:12.000000000 +0100
@@ -0,0 +1,136 @@
+# feh
+Imlib2 based image viewer
+---
+
+ * http://feh.finalrewind.org/
+ * http://linuxbrit.co.uk/feh/
+ * #feh on irc.oftc.net
+
+Dependencies
+---
+
+ * Imlib2
+ * libcurl (disable with make curl=0)
+ * libpng
+ * libX11
+ * libXinerama (disable with make xinerama=0)
+
+If built with exif=1:
+
+ * libexif-dev
+ * libexif12
+
+Recommended
+---
+
+ * jpegtran  (supplied by the jpeg library, for lossless image rotation)
+ * convert  (supplied by ImageMagick, can be used to load unsupported formats)
+
+Installation
+---
+
+**For end users:**
+```bash
+$ make
+$ sudo make install app=1
+```
+
+**For package maintainers and users who do not want feh to install its
+icons into /usr/share:**
+```bash
+$ make
+$ sudo make install
+```
+
+**Explanation:** feh ships some icons and an X11 desktop entry, which allow it 
to
+be used from file managers, desktop menus and similar. However, installing
+icons to /usr/local/share/... does not seem to work reliable in all cases.
+Because of this, when using "make install app=1", feh will install its icons
+to /usr/share/..., even though they technically belong into /usr/local.
+
+
+ZSH Completion for feh is available 
[here](http://git.finalrewind.org/zsh/plain/etc/completions/_feh)
+
+Make flags
+----------
+
+Flags can be used to control the build and installation process.
+
+e.g.
+
+```bash
+make flag=bool
+```
+```bash
+make install flag=bool
+```
+or
+```bash
+export flag=bool
+make && make install
+```
+
+For example, `make xinerama=0 debug=1` will disable Xinerama support and 
produce a debug build.
+
+Available flags are:
+
+| Flag | Default value | Description |
+| :--- | :---: | :--- |
+| app  | 0 | install icons to /usr/share, regardless of `DESTDIR` and `PREFIX, 
and call gtk-update-icon-cache afterwards |
+| cam  | 0 | install deprecated feh-cam und gen-cam-menu scripts |
+| curl | 1 | use libcurl to view http:// and similar images |
+| debug | 0 | debug build, enables `--debug` |
+| exif | 0 | Builtin EXIF tag display support |
+| help | 0 | include help text (refers to the manpage otherwise) |
+| stat64 | 0 | Support CIFS shares from 64bit hosts on 32bit machines |
+| xinerama | 1 | Support Xinerama/XRandR multiscreen setups |
+
+So, by default **libcurl** and **Xinerama** are enabled, the rest is disabled.
+
+Additionally, the standard variables `PREFIX` and `DESTDIR` are supported.
+
+**PREFIX _(default: /usr)_** controls where the application and its data files
+will be installed. It must be set both during `make` and `make install`.
+
+**DESTDIR _(default: empty)_** sets the installation root during "make 
install". It
+is mostly useful for package maintainers.
+
+**Note:** config.mk is designed so that in most cases, you can set environment
+variables instead of editing it. E.g.:
+
+```bash
+CFLAGS='-g -Os' make
+```
+```bash
+export DESTDIR=/tmp/feh PREFIX=/usr
+make && make install
+```
+
+Builtin EXIF support is maintained by Dennis Real, 
[here](https://github.com/reald/feh).
+
+
+Testing (non-X)
+---------------
+```bash
+$ make test
+```
+
+Requires **perl >= 5.10** with `Test::Command`. The tests are non-interactive 
and
+work without X, so they can safely be run even on a headless buildserver.
+
+
+Testing (X)
+-----------
+
+Requires
+ * import (usually supplied by imagemagick)
+ * perl >= 5.10 with GD, Test::More and X11::GUITest
+ * twm
+ * Xephyr
+
+```bash
+$ make test-x11
+```
+
+**_Be aware that this is quite experimental, so far the X-tests have only been
+run on one machine. So they may or may not work for you._**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/config.mk new/feh-2.18.2/config.mk
--- old/feh-2.17.1/config.mk    2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/config.mk    2017-02-16 23:11:12.000000000 +0100
@@ -1,5 +1,5 @@
 PACKAGE ?= feh
-VERSION ?= 2.17.1
+VERSION ?= 2.18.2
 
 app ?= 0
 cam ?= 0
@@ -73,7 +73,7 @@
        MAN_EXIF = disabled
 endif
 
-MAN_DATE ?= August 31, 2016
+MAN_DATE ?= February 16, 2017
 
 # Uncomment this to use dmalloc
 #CFLAGS += -DWITH_DMALLOC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/man/feh.pre new/feh-2.18.2/man/feh.pre
--- old/feh-2.17.1/man/feh.pre  2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/man/feh.pre  2017-02-16 23:11:12.000000000 +0100
@@ -37,7 +37,7 @@
 .Pq graphical
 file managers to view an image.
 By default
-.Pq unless arguments or a filelist are specified
+.Pq unless arguments or a filelist are specified ,
 .Nm
 displays all files in the current directory.
 .
@@ -45,11 +45,11 @@
 .
 .Nm
 supports filelists, various image sorting modes, image captions, HTTP and more.
-Configurable keyboard and mouse shortcuts are used to control it; by default,
-the mouse is only required for very few actions.
+Configurable keyboard and mouse shortcuts are used to control it.
 .
 .Pp
 .
+In many desktop environments,
 .Nm
 can also be used as wallpaper setter.
 .
@@ -58,9 +58,11 @@
 EXIF tags are supported either using exiv2 / exifgrep via
 .Cm --info
 .Pq see the Sx USAGE EXAMPLES No section ,
-or by compiling
+or as a builtin feature by compiling
 .Nm
-with exif=1.
+with exif=1. In this build of
+.Nm ,
+builtin EXIF support is $MAN_EXIF$.
 .
 .
 .Sh MODES
@@ -71,11 +73,12 @@
 .
 .Pp
 .
-Slideshow mode is the default.  It opens one window and displays the first
-image in it, the keyboard and mouse can be used to change slides
-.Pq images .
+Slideshow mode is the default.  It opens a window and displays the first
+image in it; the slideshow position can be advanced
+.Pq or otherwise changed
+using keyboard and mouse shortcuts.
 In slideshow mode, images can be deleted either from the filelist or from the
-disk, the new filelist can then be saved to the disk and reopened at a later
+disk, a changed filelist can also be saved to the disk and reopened at a later
 time.
 An image can also be read from stdin via
 .Qq feh - .
@@ -104,23 +107,25 @@
 .
 .Pp
 .
-List mode doesn't display images.  Outputs an
-.Cm ls - No style
-listing of the files in the filelist, including image info such as size,
-pixels, type, etc.  Customlist mode will display whatever image info you want,
-in the format you choose.
+List mode doesn't display images.  Instead, it outputs an
+.Cm ls Ns No - Ns style
+listing of the files in the filelist, including image info such as size, number
+of pixels, type, etc.  There is also a Customlist mode which prints image info
+in a custom format specified by a printf-like format string.
 .
 .Pp
 .
 .Nm
 can also list either all the loadable files in a filelist or all the
-unloadable files.  Useful for preening a directory.
+unloadable files.  This is useful for preening a directory.
 .
 .
 .Sh SUPPORTED FORMATS
 .
 .Nm
-can open any format supported by Imlib2, most notably jpeg and png.
+can open any format supported by Imlib2, most notably jpeg, png,
+pnm, tiff, and bmp. The gif format is also supported, but only for static
+images. In case of animations, only the first frame will be shown.
 .
 If the convert binary
 .Pq supplied by ImageMagick
@@ -129,8 +134,6 @@
 .Cm --magick-timeout Ar num
 with a non-negative value to enable it.
 .
-For animated images, only the first frame is shown.
-.
 .
 .Sh OPTIONS
 .
@@ -184,10 +187,15 @@
 for details.  Example usage:
 .Qq feh -A Qo mv ~/images/%N Qc * .
 .
-.It Cm --action1 No .. Cm --action9
+.It Cm --action1 No .. Cm --action9 Oo Ar flag Oc Ns Oo [ Ar title ] Oc Ns Ar 
action
 .
 Extra actions which can be set and triggered using the appropriate number key.
 .
+.It Cm --auto-rotate
+.
+.Pq only if compiled with exif=1
+Automatically rotate images based on EXIF data. Does not alter the image files.
+.
 .It Cm -Z , --auto-zoom
 .
 Zoom pictures to screen size in fullscreen / fixed geometry mode.
@@ -362,34 +370,10 @@
 Enable Index mode.  Index mode is similar to montage mode, and accepts the
 same options.  It creates an index print of thumbnails, printing the image
 name beneath each thumbnail.  Index mode enables certain other options, see
-.Sx INDEX MODE OPTIONS
+.Sx INDEX AND THUMBNAIL MODE OPTIONS
 and
 .Sx MONTAGE MODE OPTIONS .
 .
-.It Cm --index-info Ar format
-.
-Show image information based on
-.Ar format
-below thumbnails in index / thumbnail mode.  See
-.Sx FORMAT SPECIFIERS .
-May contain newlines.
-.
-Use
-.Qq --index-info So Sc
-to display thumbnails without any info text
-.
-.Pp
-.
-Note: If you specify image-related formats
-.Pq such as \&%w or \&%s ,
-.Nm
-needs to load all images to calculate the dimensions of its own window.
-So when using them with many files, it will take a while before a
-.Nm
-window becomes visible.  Use
-.Cm --preload
-to get a progress bar.
-.
 .It Cm --info Oo Ar flag Oc Ns Ar commandline
 .
 Execute
@@ -653,6 +637,8 @@
 do not affect the thumbnail window. They do, however, work for image windows
 launched from thumbnail mode.
 Also supports
+.Sx INDEX AND THUMBNAIL MODE OPTIONS
+as well as
 .Sx MONTAGE MODE OPTIONS .
 .
 .It Cm -~ , --thumb-title Ar string
@@ -830,10 +816,34 @@
 .El
 .
 .
-.Sh INDEX MODE OPTIONS
+.Sh INDEX AND THUMBNAIL MODE OPTIONS
 .
 .Bl -tag -width indent
 .
+.It Cm --index-info Ar format
+.
+Show image information based on
+.Ar format
+below thumbnails in index / thumbnail mode.  See
+.Sx FORMAT SPECIFIERS .
+May contain newlines.
+.
+Use
+.Qq --index-info ''
+to display thumbnails without any info text
+.
+.Pp
+.
+Note: If you specify image-related formats
+.Pq such as \&%w or \&%s ,
+.Nm
+needs to load all images to calculate the dimensions of its own window.
+So when using them with many files, it will take a while before a
+.Nm
+window becomes visible.  Use
+.Cm --preload
+to get a progress bar.
+.
 .It Cm -@ , --title-font Ar font
 .
 Set font to print a title on the index, if no font is specified, no title will
@@ -843,6 +853,7 @@
 .
 .Sh BACKGROUND SETTING
 .
+In many desktop environments,
 .Nm
 can also be used as a background setter.  Unless you pass the
 .Cm --no-fehbg
@@ -860,6 +871,15 @@
 .
 .Pp
 .
+Note that
+.Nm
+does not support setting the wallpaper of GNOME shell desktops. In this
+environment, you can use
+.Qq gsettings set org.gnome.desktop.background picture-uri file:/// Ns Ar path
+instead.
+.
+.Pp
+.
 For the
 .Cm --bg-center
 and
@@ -1412,6 +1432,11 @@
 .
 Zoom to fit the window size
 .
+.It ! Bq zoom_fill
+.
+Zoom to fill the window size like
+.Cm --bg-fill
+.
 .El
 .
 .Ss MENU KEYS
@@ -1700,18 +1725,19 @@
 .
 .Pp
 .
-On systems with Imlib2 >= 1.4.7 and giflib >= 5.1.2,
+On systems with giflib 5.1.2,
 .Nm
 may be unable to load gif images. For affected mips, mipsel and arm devices,
 gif support is completely broken, while on x86 / x86_64 gifs can usually
 only be loaded if they are the first image in the filelist.
-This appears to be an Imlib2 and/or giflib bug introduced in giflib 5.1.2.
-See
+This appears to be a bug in giflib,
+see
 .Aq https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=813729
 for details. Workaround: Use
 .Cm --magick-timeout 5
 .Pq or some other positive value
-to load gifs with imagemagick instead, or downgrade giflib to 5.1.1.
+to load gifs with imagemagick instead, or downgrade to giflib 5.1.1, or
+upgrade to giflib 5.1.4.
 .
 .Pp
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/share/applications/feh.pre 
new/feh-2.18.2/share/applications/feh.pre
--- old/feh-2.17.1/share/applications/feh.pre   2016-08-31 20:30:26.000000000 
+0200
+++ new/feh-2.18.2/share/applications/feh.pre   2017-02-16 23:11:12.000000000 
+0100
@@ -4,7 +4,7 @@
 GenericName=Image viewer
 GenericName[en_US]=Image viewer
 Comment=Fast Imlib2-based Image Viewer
-Exec=feh %F
+Exec=feh %U
 Terminal=false
 Type=Application
 Icon=feh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/events.c new/feh-2.18.2/src/events.c
--- old/feh-2.17.1/src/events.c 2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/events.c 2017-02-16 23:11:12.000000000 +0100
@@ -388,7 +388,7 @@
                                thumbfile = 
feh_thumbnail_get_file_from_coords(x, y);
                                if (thumbfile) {
                                        if (opt.actions[0]) {
-                                               feh_action_run(thumbfile, 
opt.actions[0]);
+                                               feh_action_run(thumbfile, 
opt.actions[0], winwid);
                                                if (!opt.hold_actions[0])
                                                        
feh_thumbnail_mark_removed(thumbfile, 0);
                                        } else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/feh.h new/feh-2.18.2/src/feh.h
--- old/feh-2.17.1/src/feh.h    2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/feh.h    2017-02-16 23:11:12.000000000 +0100
@@ -143,7 +143,7 @@
 void feh_event_handle_keypress(XEvent * ev);
 void feh_event_handle_generic(winwidget winwid, unsigned int state, KeySym 
keysym, unsigned int button);
 fehkey *feh_str_to_kb(char * action);
-void feh_action_run(feh_file * file, char *action);
+void feh_action_run(feh_file * file, char *action, winwidget winwid);
 char *format_size(int size);
 char *feh_printf(char *str, feh_file * file, winwidget winwid);
 void im_weprintf(winwidget w, char *fmt, ...);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/getopt.h new/feh-2.18.2/src/getopt.h
--- old/feh-2.17.1/src/getopt.h 2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/getopt.h 2017-02-16 23:11:12.000000000 +0100
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Library General Public
    License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth 
Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #ifndef _GETOPT_H
 #define _GETOPT_H 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/help.raw new/feh-2.18.2/src/help.raw
--- old/feh-2.17.1/src/help.raw 2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/help.raw 2017-02-16 23:11:12.000000000 +0100
@@ -35,6 +35,7 @@
  -d, --draw-filename       Show the filename in the image window
      --draw-tinted         Show overlay texts on semi-transparent background
      --draw-exif           Show some Exif information (if compiled with exif=1)
+     --auto-rotate         Rotate images according to Exif info (if compiled 
with exif=1)
  -^, --title TITLE         Set window title (see FORMAT SPECIFIERS)
  -D, --slideshow-delay NUM Set delay between automatically changing slides
      --cycle-once          Exit after one loop through the slideshow
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/imlib.c new/feh-2.18.2/src/imlib.c
--- old/feh-2.17.1/src/imlib.c  2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/imlib.c  2017-02-16 23:11:12.000000000 +0100
@@ -259,19 +259,22 @@
        }
 
 #ifdef HAVE_LIBEXIF
-       file->ed = exif_get_data(file->filename);
-
-       if (file->ed) {
-               entry = exif_content_get_entry(file->ed->ifd[EXIF_IFD_0], 
0x0112);
-               if (entry != NULL) {
-                       if (*(entry->data) == 3)
-                               gib_imlib_image_orientate(*im, 2);
-                       else if (*(entry->data) == 6)
-                               gib_imlib_image_orientate(*im, 1);
-                       else if (*(entry->data) == 8)
-                               gib_imlib_image_orientate(*im, 3);
-               }
+       int orientation = 0;
+       ExifData *exifData = exif_data_new_from_file(file->filename);
+       if (exifData) {
+               ExifByteOrder byteOrder = exif_data_get_byte_order(exifData);
+               ExifEntry *exifEntry = exif_data_get_entry(exifData, 
EXIF_TAG_ORIENTATION);
+               if (exifEntry && opt.auto_rotate)
+                       orientation = exif_get_short(exifEntry->data, 
byteOrder);
        }
+       file->ed = exifData;
+
+       if (orientation == 3)
+               gib_imlib_image_orientate(*im, 2);
+       else if (orientation == 6)
+               gib_imlib_image_orientate(*im, 1);
+       else if (orientation == 8)
+               gib_imlib_image_orientate(*im, 3);
 #endif
 
        D(("Loaded ok\n"));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/keyevents.c 
new/feh-2.18.2/src/keyevents.c
--- old/feh-2.17.1/src/keyevents.c      2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/keyevents.c      2017-02-16 23:11:12.000000000 +0100
@@ -134,13 +134,14 @@
        feh_set_kb(&keys.zoom_out  , 0, XK_Down      , 0, XK_KP_Subtract,0, 0);
        feh_set_kb(&keys.zoom_default, 0, XK_KP_Multiply, 0, XK_asterisk,0, 0);
        feh_set_kb(&keys.zoom_fit  , 0, XK_KP_Divide , 0, XK_slash     , 0, 0);
+       feh_set_kb(&keys.zoom_fill , 0, XK_exclam    , 0, 0            , 0, 0);
        feh_set_kb(&keys.size_to_image, 0, XK_w      , 0, 0            , 0, 0);
        feh_set_kb(&keys.render    , 0, XK_KP_Begin  , 0, XK_R         , 0, 0);
        feh_set_kb(&keys.toggle_actions, 0, XK_a, 0, 0, 0, 0);
        feh_set_kb(&keys.toggle_aliasing, 0, XK_A, 0, 0, 0, 0);
        feh_set_kb(&keys.toggle_filenames, 0, XK_d, 0, 0, 0, 0);
 #ifdef HAVE_LIBEXIF
-       feh_set_kb(&keys.toggle_exif, 0, XK_e, 0, 0, 0, 0);     
+       feh_set_kb(&keys.toggle_exif, 0, XK_e, 0, 0, 0, 0);
 #endif
        feh_set_kb(&keys.toggle_info, 0, XK_i, 0, 0, 0, 0);
        feh_set_kb(&keys.toggle_pointer, 0, XK_o, 0, 0, 0, 0);
@@ -226,7 +227,7 @@
 {
        if (opt.actions[action]) {
                if (opt.slideshow) {
-                       feh_action_run(FEH_FILE(winwid->file->data), 
opt.actions[action]);
+                       feh_action_run(FEH_FILE(winwid->file->data), 
opt.actions[action], winwid);
 
                        if (opt.hold_actions[action])
                                feh_reload_image(winwid, 1, 1);
@@ -235,7 +236,7 @@
 
                } else if ((winwid->type == WIN_TYPE_SINGLE)
                                || (winwid->type == WIN_TYPE_THUMBNAIL_VIEWER)) 
{
-                       feh_action_run(FEH_FILE(winwid->file->data), 
opt.actions[action]);
+                       feh_action_run(FEH_FILE(winwid->file->data), 
opt.actions[action], winwid);
 
                        if (opt.hold_actions[action])
                                feh_reload_image(winwid, 1, 1);
@@ -246,7 +247,7 @@
                        thumbfile = feh_thumbnail_get_selected_file();
 
                        if (thumbfile) {
-                               feh_action_run(thumbfile, opt.actions[action]);
+                               feh_action_run(thumbfile, opt.actions[action], 
winwid);
 
                                if (!opt.hold_actions[action])
                                        feh_thumbnail_mark_removed(thumbfile, 
0);
@@ -439,6 +440,8 @@
                return &keys.zoom_default;
        else if (!strcmp(action, "zoom_fit"))
                return &keys.zoom_fit;
+       else if (!strcmp(action, "zoom_fill"))
+               return &keys.zoom_fill;
        else if (!strcmp(action, "size_to_image"))
                return &keys.size_to_image;
        else if (!strcmp(action, "render"))
@@ -653,6 +656,14 @@
                winwidget_center_image(winwid);
                winwidget_render_image(winwid, 0, 0);
        }
+       else if (feh_is_kp(&keys.zoom_fill, state, keysym, button)) {
+               int save_zoom = opt.zoom_mode;
+               opt.zoom_mode = ZOOM_MODE_FILL;
+               feh_calc_needed_zoom(&winwid->zoom, winwid->im_w, winwid->im_h, 
winwid->w, winwid->h);
+               winwidget_center_image(winwid);
+               winwidget_render_image(winwid, 0, 0);
+               opt.zoom_mode = save_zoom;
+       }
        else if (feh_is_kp(&keys.render, state, keysym, button)) {
                if (winwid->type == WIN_TYPE_THUMBNAIL)
                        feh_thumbnail_show_selected();
@@ -677,7 +688,7 @@
                opt.draw_exif = !opt.draw_exif;
                winwidget_rerender_all(0);
        }
-#endif         
+#endif
        else if (feh_is_kp(&keys.toggle_info, state, keysym, button)) {
                opt.draw_info = !opt.draw_info;
                winwidget_rerender_all(0);
@@ -777,7 +788,7 @@
                }
 #endif                         /* HAVE_LIBXINERAMA */
        }
-       else if (feh_is_kp(&keys.reload_plus, state, keysym, button)){ 
+       else if (feh_is_kp(&keys.reload_plus, state, keysym, button)){
                if (opt.reload < SLIDESHOW_RELOAD_MAX)
                        opt.reload++;
                else if (opt.verbose)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/list.c new/feh-2.18.2/src/list.c
--- old/feh-2.17.1/src/list.c   2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/list.c   2017-02-16 23:11:12.000000000 +0100
@@ -54,7 +54,7 @@
                                        file->info->has_alpha ? 'X' : '-', 
file->filename);
                }
 
-               feh_action_run(file, opt.actions[0]);
+               feh_action_run(file, opt.actions[0], NULL);
        }
        exit(0);
 }
@@ -92,7 +92,7 @@
                                if (opt.verbose)
                                        feh_display_status('.');
                                puts(file->filename);
-                               feh_action_run(file, opt.actions[0]);
+                               feh_action_run(file, opt.actions[0], NULL);
                        }
                        else {
                                if (opt.verbose)
@@ -106,7 +106,7 @@
                                if (opt.verbose)
                                        feh_display_status('.');
                                puts(file->filename);
-                               feh_action_run(file, opt.actions[0]);
+                               feh_action_run(file, opt.actions[0], NULL);
                        }
                        else {
                                if (opt.verbose)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/options.c new/feh-2.18.2/src/options.c
--- old/feh-2.17.1/src/options.c        2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/options.c        2017-02-16 23:11:12.000000000 +0100
@@ -396,6 +396,7 @@
                {"no-jump-on-resort", 0, 0, 220},
 #ifdef HAVE_LIBEXIF
                {"draw-exif"     , 0, 0, 223},
+               {"auto-rotate"   , 0, 0, 242},
 #endif
                {"cycle-once"    , 0, 0, 224},
                {"no-xinerama"   , 0, 0, 225},
@@ -730,6 +731,9 @@
                case 223:
                        opt.draw_exif = 1;
                        break;
+               case 242:
+                       opt.auto_rotate = 1;
+                       break;
 #endif
                case 224:
                        opt.cycle_once = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/options.h new/feh-2.18.2/src/options.h
--- old/feh-2.17.1/src/options.h        2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/options.h        2017-02-16 23:11:12.000000000 +0100
@@ -51,6 +51,7 @@
        unsigned char draw_filename;
 #ifdef HAVE_LIBEXIF
        unsigned char draw_exif;
+       unsigned char auto_rotate;
 #endif
        unsigned char list;
        unsigned char quiet;
@@ -175,6 +176,7 @@
        struct __fehkey zoom_out;
        struct __fehkey zoom_default;
        struct __fehkey zoom_fit;
+       struct __fehkey zoom_fill;
        struct __fehkey render;
        struct __fehkey toggle_actions;
        struct __fehkey toggle_filenames;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/slideshow.c 
new/feh-2.18.2/src/slideshow.c
--- old/feh-2.17.1/src/slideshow.c      2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/slideshow.c      2017-02-16 23:11:12.000000000 +0100
@@ -450,12 +450,12 @@
        return(s);
 }
 
-void feh_action_run(feh_file * file, char *action)
+void feh_action_run(feh_file * file, char *action, winwidget winwid)
 {
        if (action) {
                char *sys;
                D(("Running action %s\n", action));
-               sys = feh_printf(action, file, NULL);
+               sys = feh_printf(action, file, winwid);
 
                if (opt.verbose && !opt.list && !opt.customlist)
                        fprintf(stderr, "Running action -->%s<--\n", sys);
@@ -615,6 +615,8 @@
                                if (winwid) {
                                        snprintf(buf, sizeof(buf), "%.2f", 
winwid->zoom);
                                        strncat(ret, buf, sizeof(ret) - 
strlen(ret) - 1);
+                               } else {
+                                       strncat(ret, "1.00", sizeof(ret) - 
strlen(ret) - 1);
                                }
                                break;
                        case '%':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/thumbnail.c 
new/feh-2.18.2/src/thumbnail.c
--- old/feh-2.17.1/src/thumbnail.c      2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/thumbnail.c      2017-02-16 23:11:12.000000000 +0100
@@ -144,6 +144,7 @@
 
        index_image_width = td.w;
        index_image_height = td.h + title_area_h;
+       D(("imlib_create_image(%d, %d)", index_image_width, 
index_image_height));
        td.im_main = imlib_create_image(index_image_width, index_image_height);
        gib_imlib_image_set_has_alpha(td.im_main, 1);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.17.1/src/winwidget.c 
new/feh-2.18.2/src/winwidget.c
--- old/feh-2.17.1/src/winwidget.c      2016-08-31 20:30:26.000000000 +0200
+++ new/feh-2.18.2/src/winwidget.c      2017-02-16 23:11:12.000000000 +0100
@@ -634,6 +634,12 @@
                        feh_draw_info(winwid);
                if (winwid->errstr)
                        feh_draw_errstr(winwid);
+               if (opt.title && (current_file != NULL)) {
+                       /* title might contain e.g. the zoom specifier -> 
rewrite */
+                       char *s = 
slideshow_create_name(FEH_FILE(current_file->data), winwid);
+                       winwidget_rename(winwid, s);
+                       free(s);
+               }
        } else if ((opt.mode == MODE_ZOOM) && !antialias)
                feh_draw_zoom(winwid);
 


Reply via email to