Hello community,

here is the log from the commit of package feh for openSUSE:Factory checked in 
at 2015-07-12 22:53:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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  2015-05-19 23:51:13.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.feh.new/feh.changes     2015-07-12 
22:53:26.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Jul  8 15:01:35 UTC 2015 - [email protected]
+
+- update to 2.13.1
+ * Fix --scale-down breaking image centering in fullscreen mode
+- spec-cleaned
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ feh.spec ++++++
--- /var/tmp/diff_new_pack.1ziL3U/_old  2015-07-12 22:53:27.000000000 +0200
+++ /var/tmp/diff_new_pack.1ziL3U/_new  2015-07-12 22:53:27.000000000 +0200
@@ -1,4 +1,3 @@
-# vim: set sw=4 ts=4 et:
 #
 # spec file for package feh
 #
@@ -17,18 +16,18 @@
 #
 
 
+Name:           feh
+Version:        2.13.1
+Release:        0
 Summary:        Fast and Lightweight Image Viewer
 License:        MIT and LGPL-2.0+
 Group:          Productivity/Graphics/Viewers
-Name:           feh
-Version:        2.12.1
-Release:        0
+Url:            http://feh.finalrewind.org/
 Source:         http://feh.finalrewind.org/feh-%{version}.tar.bz2
 Source1:        %{name}.desktop
 Source2:        %{name}.png
 Source3:        %{name}-%{version}.tar.bz2.asc
 Source4:        %{name}.keyring
-
 # PATCH-FIX-OPENSUSE feh-makefile_optflags.patch 
https://github.com/derf/feh/issues/71 [email protected] -- pass 
OPTFLAGS to make instead of hard-coded -O2 -g
 Patch1:         feh-makefile_optflags.patch
 # PATCH-FIX-UPSTREAM feh-fix_pointer_arithmetics.patch 
https://github.com/derf/feh/issues/69 [email protected] -- fix 
compiler warnings on casting pointers as ints
@@ -37,16 +36,15 @@
 Patch4:         feh-no_date.patch
 # PATCH-FIX-UPSTREAM feh-fix_sighandler.patch 
https://github.com/derf/feh/issues/70 [email protected] -- bad prototype for 
a sighandler_t and a funky unportable pointer cast
 Patch5:         feh-2.12-fix_sighandler.patch
-Url:            http://feh.finalrewind.org/
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  curl-devel
-BuildRequires:  freetype2-devel
 BuildRequires:  gpg-offline
-BuildRequires:  imlib2-devel
 BuildRequires:  libjpeg-devel
 BuildRequires:  libpng-devel
 BuildRequires:  xorg-x11-devel
+BuildRequires:  pkgconfig(freetype2)
+BuildRequires:  pkgconfig(imlib2)
 Requires:       imlib2-loaders
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if 0%{?suse_version}
 BuildRequires:  update-desktop-files
 %endif
@@ -59,7 +57,7 @@
 montages as index prints with many user-configurable options.
 
 %prep
-%gpg_verify %{S:3}
+%gpg_verify %{SOURCE3}
 %setup -q
 %patch1 -p1
 %patch2 -p1
@@ -67,7 +65,7 @@
 %patch5 -p1
 
 %build
-%__make %{?_smp_flags} \
+make %{?_smp_mflags} \
     curl=1 \
     help=1 \
     xinerama=1 \
@@ -76,14 +74,14 @@
     OPTFLAGS="%{optflags} -Wall -Wextra"
 
 %install
-%__make \
+make \
     PREFIX="%{buildroot}%{_prefix}" \
     install cam=1
 
-%__rm -rf "%{buildroot}%{_datadir}/doc"
+rm -rf "%{buildroot}%{_datadir}/doc"
 
-%__install -D -m0644 "%{SOURCE1}" 
"%{buildroot}/usr/share/applications/feh.desktop"
-%__install -D -m0644 "%{SOURCE2}" "%{buildroot}/usr/share/pixmaps/feh.png"
+install -D -m0644 "%{SOURCE1}" 
"%{buildroot}%{_datadir}/applications/feh.desktop"
+install -D -m0644 "%{SOURCE2}" "%{buildroot}%{_datadir}/pixmaps/feh.png"
 
 %if 0%{?suse_version}
 %suse_update_desktop_file -r feh Graphics Viewer
@@ -99,8 +97,8 @@
 %{_datadir}/%{name}/*
 %{_datadir}/applications/%{name}.desktop
 %{_datadir}/pixmaps/%{name}.png
-%doc %{_mandir}/man1/feh.1%{ext_man}
-%doc %{_mandir}/man1/feh-cam.1%{ext_man}
-%doc %{_mandir}/man1/gen-cam-menu.1%{ext_man}
+%{_mandir}/man1/feh.1%{ext_man}
+%{_mandir}/man1/feh-cam.1%{ext_man}
+%{_mandir}/man1/gen-cam-menu.1%{ext_man}
 
 %changelog

++++++ feh-2.12.1.tar.bz2 -> feh-2.13.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/ChangeLog new/feh-2.13.1/ChangeLog
--- old/feh-2.12.1/ChangeLog    2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/ChangeLog    2015-05-24 11:46:21.000000000 +0200
@@ -1,3 +1,21 @@
+Sun, 24 May 2015 11:45:18 +0200
+
+* Release v2.13.1
+    * Fix --scale-down breaking image centering in fullscreen mode
+
+Sun, 17 May 2015 20:40:36 +0200  Daniel Friesel <[email protected]>
+
+* Release v2.13
+    * print --verbose output to stderr
+    * Show progress when using --verbose and --loadable / --unloadable
+    * ~/.fehbg is now a shell script and can be executed directly
+      (sourcing it still works)
+    * --max-dimension: ignore width/height limit of 0 pixels
+    * Do not re-render images when toggling keep_zoom_vp
+    * feh/themes: Support quoting with '' too (previously, only "" worked)
+    * Fix potential out of bounds array access in EXIF code
+      (when built with exif=1)
+
 Wed, 08 Apr 2015 11:18:41 +0200  Daniel Friesel <[email protected]>
 
 * Release v2.12.1
@@ -21,7 +39,7 @@
     * Fix a buffer overflow in the printf implementation when handling unknown
       format specifiers (affects --action, --customlist, --index-info, --info,
       --thumb-title and --title)
-    * Update help (if built with help=1)
+    * Update help (when built with help=1)
 
 Sun, 27 Apr 2014 20:28:02 +0200  Daniel Friesel <[email protected]>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/config.mk new/feh-2.13.1/config.mk
--- old/feh-2.12.1/config.mk    2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/config.mk    2015-05-24 11:46:21.000000000 +0200
@@ -1,5 +1,5 @@
 PACKAGE ?= feh
-VERSION ?= 2.12.1
+VERSION ?= 2.13.1
 
 # Prefix for all installed files
 PREFIX ?= /usr/local
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/man/feh.pre new/feh-2.13.1/man/feh.pre
--- old/feh-2.12.1/man/feh.pre  2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/man/feh.pre  2015-05-24 11:46:21.000000000 +0200
@@ -420,8 +420,8 @@
 .Ar width
 and height <=
 .Ar height .
-If you only care about one parameter, set the other to either something large
-or -1.
+If you only care about one parameter, set the other to 0
+.Pq or a negative value .
 .
 .It Cm -M , --menu-font Ar font
 .
@@ -525,7 +525,9 @@
 .
 .It Cm -. , --scale-down
 .
-When not in fullscreen: Scale images to screen size if they are too big.
+Scale images to fit window geometry (defaults to screen size when no geometry
+was specified).
+This option is ignored when in fullscreen mode.
 .
 .Pp
 .
@@ -569,7 +571,18 @@
 .
 Start the filelist at
 .Ar filename .
-See
+.
+Note that at the moment,
+.Ar filename
+must match an
+.Pq expanded
+path in the filelist. So, if the file to be matched is passed via an absolute
+path in the filelist,
+.Ar filename
+must be an absolute path. If the file is passed via a relative path,
+.Ar filename
+must be an identical relative path. This is a known issue.
+See also
 .Sx USAGE EXAMPLES .
 .
 .It Cm -T , --theme Ar theme
@@ -766,12 +779,17 @@
 .Nm
 can also be used as a background setter.  Unless you pass the
 .Cm --no-fehbg
-option, it will store the command line necessary to set the background in
-.Pa ~/.fehbg ,
-so to have your background restored every time you start X, you can add
-.Qq eval $(cat ~/.fehbg)
+option, it will write a script to set the current background to
+.Pa ~/.fehbg .
+So to have your background restored every time you start X, you can add
+.Qq sh ~/.fehbg &
 to your X startup script
-.Pq like Pa ~/.xinitrc .
+.Pq such as Pa ~/.xinitrc .
+As of
+.Nm
+2.13, this script is executable, so
+.Qq ~/.fehbg &
+will work as well.
 .
 .Pp
 .
@@ -979,10 +997,17 @@
 .Ar options
 are the options which will be applied when the theme is used.
 .
+Note that the options are not parsed by any shell. Therefore, filename 
expansion
+.Po
+.Qq *.jpg
+and similar
+.Pc
+is not supported. Quoting with both single and double quotes works, though.
+.
 .Pp
 .
 An example entry would be
-.Qq imagemap -rVq --thumb-width 40 --thumb-height 30 .
+.Qq imagemap -rVq --thumb-width 40 --thumb-height 30 --index-info 
\&'%n\en\&%wx\&%h\&' .
 .
 .Pp
 .
@@ -990,10 +1015,11 @@
 .Qo
 .Nm
 -Timagemap *.jpg
-.Qc
+.Qc ,
 or create a symbolic link to
 .Nm
-with the name of the theme you want it to use.  So from the example above:
+with the name of the theme you want it to use.  For the example above,
+this would be
 .Qo
 ln -s `which
 .Nm
@@ -1006,11 +1032,11 @@
 .Pp
 .
 Note that you can split a theme over several lines by placing a backslash at
-the end of a line, like in the shell.
+the end of an unfinished line.
 .
 .Pp
 .
-You can combine these themes with commandline options.
+Command line options always override theme options.
 .
 .
 .Sh KEYS CONFIG SYNTAX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/collage.c new/feh-2.13.1/src/collage.c
--- old/feh-2.12.1/src/collage.c        2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/collage.c        2015-05-24 11:46:21.000000000 +0200
@@ -69,7 +69,7 @@
                                        ": No size restriction specified for 
collage.\n"
                                        " You did specify a background however, 
so the\n"
                                        " collage size has defaulted to the 
size of the image\n",
-                                       stdout);
+                                       stderr);
                        opt.limit_w = bg_w;
                        opt.limit_h = bg_h;
                } else {
@@ -78,7 +78,7 @@
                                        ": No size restriction specified for 
collage.\n"
                                        " - For collage mode, you need to 
specify width and height.\n"
                                        " Using defaults (width 800, height 
600)\n",
-                                       stdout);
+                                       stderr);
                        opt.limit_w = 800;
                        opt.limit_h = 600;
                }
@@ -185,7 +185,7 @@
                }
        }
        if (opt.verbose)
-               fputs("\n", stdout);
+               fputs("\n", stderr);
 
        if (opt.output && opt.output_file) {
                char output_buf[1024];
@@ -199,8 +199,8 @@
 
                        tw = gib_imlib_image_get_width(im_main);
                        th = gib_imlib_image_get_height(im_main);
-                       fprintf(stdout, PACKAGE ": File saved as %s\n", 
output_buf);
-                       fprintf(stdout,
+                       fprintf(stderr, PACKAGE ": File saved as %s\n", 
output_buf);
+                       fprintf(stderr,
                                "    - Image is %dx%d pixels and contains %d 
thumbnails\n",
                                tw, th, (tw / opt.thumb_w) * (th / 
opt.thumb_h));
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/exif.c new/feh-2.13.1/src/exif.c
--- old/feh-2.12.1/src/exif.c   2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/exif.c   2015-05-24 11:46:21.000000000 +0200
@@ -259,7 +259,7 @@
   else
   {
     /* show normal exif tags. list must be defined in exif_cfg.h  */
-    while ( (Exif_tag_list[i].ifd != EXIF_IFD_COUNT) && (i < USHRT_MAX) )
+    while ( (i < USHRT_MAX) && (Exif_tag_list[i].ifd != EXIF_IFD_COUNT) )
     {
       exif_get_tag(ed, Exif_tag_list[i].ifd, Exif_tag_list[i].tag, buffer + 
strlen(buffer), maxsize - strlen(buffer));
       i++; 
@@ -281,7 +281,7 @@
         {
           /* show nikon makernote exif tags. list must be defined in 
exif_cfg.h  */
           i=0;
-          while ( (Exif_makernote_nikon_tag_list[i] != 
EXIF_NIKON_MAKERNOTE_END) && (i < USHRT_MAX) )
+          while ( (i < USHRT_MAX) && (Exif_makernote_nikon_tag_list[i] != 
EXIF_NIKON_MAKERNOTE_END) )
           {
             exn_get_mnote_nikon_tags(ed, Exif_makernote_nikon_tag_list[i], 
                                      buffer + strlen(buffer), maxsize - 
strlen(buffer));
@@ -293,7 +293,7 @@
         {
           /* show canon makernote exif tags. list must be defined in 
exif_cfg.h  */
           i=0;
-          while ( (Exif_makernote_canon_tag_list[i] != 
EXIF_CANON_MAKERNOTE_END) && (i < USHRT_MAX) )
+          while ( (i < USHRT_MAX) && (Exif_makernote_canon_tag_list[i] != 
EXIF_CANON_MAKERNOTE_END) )
           {
             exc_get_mnote_canon_tags(ed, Exif_makernote_canon_tag_list[i], 
                                      buffer + strlen(buffer), maxsize - 
strlen(buffer));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/feh.h new/feh-2.13.1/src/feh.h
--- old/feh-2.12.1/src/feh.h    2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/feh.h    2015-05-24 11:46:21.000000000 +0200
@@ -162,8 +162,6 @@
 void feh_filelist_image_remove(winwidget winwid, char do_delete);
 void feh_imlib_print_load_error(char *file, winwidget w, Imlib_Load_Error err);
 void slideshow_save_image(winwidget win);
-void ungib_imlib_save_image_with_error_return(Imlib_Image im, char *file,
-       Imlib_Load_Error * error_return);
 void feh_edit_inplace(winwidget w, int orientation);
 void feh_edit_inplace_lossless(winwidget w, int orientation);
 gib_list *feh_wrap_string(char *text, int wrap_width, Imlib_Font fn, gib_style 
* style);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/filelist.c 
new/feh-2.13.1/src/filelist.c
--- old/feh-2.12.1/src/filelist.c       2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/filelist.c       2015-05-24 11:46:21.000000000 +0200
@@ -602,7 +602,7 @@
        tmpname = feh_unique_filename("", "filelist");
 
        if (opt.verbose)
-               printf("saving filelist to filename '%s'\n", tmpname);
+               fprintf(stderr, "saving filelist to filename '%s'\n", tmpname);
 
        feh_write_filelist(filelist, tmpname);
        free(tmpname);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/gib_imlib.c 
new/feh-2.13.1/src/gib_imlib.c
--- old/feh-2.12.1/src/gib_imlib.c      2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/gib_imlib.c      2015-05-24 11:46:21.000000000 +0200
@@ -527,13 +527,22 @@
 gib_imlib_save_image_with_error_return(Imlib_Image im, char *file,
                                        Imlib_Load_Error * error_return)
 {
-   char *tmp;
+    char *tmp;
 
-   imlib_context_set_image(im);
-   tmp = strrchr(file, '.');
-   if (tmp)
-      imlib_image_set_format(tmp + 1);
-   imlib_save_image_with_error_return(file, error_return);
+    imlib_context_set_image(im);
+    tmp = strrchr(file, '.');
+    if (tmp) {
+        char *p, *pp;
+        p = estrdup(tmp + 1);
+        pp = p;
+        while(*pp) {
+            *pp = tolower(*pp);
+            pp++;
+        }
+        imlib_image_set_format(p);
+        free(p);
+    }
+    imlib_save_image_with_error_return(file, error_return);
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/imlib.c new/feh-2.13.1/src/imlib.c
--- old/feh-2.12.1/src/imlib.c  2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/imlib.c  2015-05-24 11:46:21.000000000 +0200
@@ -148,32 +148,6 @@
        return(i);
 }
 
-/*
- * XXX gib_imlib_save_image_with_error_return breaks with *.END and
- * similar because it tries to set the image format, which only works
- * with .end .
- * So we leave that part out.
- */
-void ungib_imlib_save_image_with_error_return(Imlib_Image im, char *file,
-       Imlib_Load_Error * error_return)
-{
-       char *tmp;
-       imlib_context_set_image(im);
-       tmp = strrchr(file, '.');
-       if (tmp) {
-               char *p, *pp;
-               p = estrdup(tmp + 1);
-               pp = p;
-               while(*pp) {
-                       *pp = tolower(*pp);
-                       pp++;
-               }
-               imlib_image_set_format(p);
-               free(p);
-       }
-       imlib_save_image_with_error_return(file, error_return);
-}
-
 void feh_imlib_print_load_error(char *file, winwidget w, Imlib_Load_Error err)
 {
        if (err == IMLIB_LOAD_ERROR_OUT_OF_FILE_DESCRIPTORS)
@@ -276,7 +250,7 @@
 
        if ((err) || (!im)) {
                if (opt.verbose && !opt.quiet) {
-                       fputs("\n", stdout);
+                       fputs("\n", stderr);
                        reset_output = 1;
                }
                feh_imlib_print_load_error(file->filename, NULL, err);
@@ -996,7 +970,7 @@
        D(("filelist %p, filelist->next %p\n", filelist, filelist->next));
 
        if (!stat) {
-               putc('\n', stdout);
+               putc('\n', stderr);
                init_len = 0;
                i = 0;
                return;
@@ -1009,24 +983,24 @@
                if (reset_output) {
                        /* There's just been an error message. Unfortunate ;) */
                        for (j = 0; j < (((i % 50) + ((i % 50) / 10)) + 7); j++)
-                               putc(' ', stdout);
+                               putc(' ', stderr);
                }
 
                if (!(i % 50)) {
                        int len = gib_list_length(filelist);
 
-                       fprintf(stdout, " %5d/%d (%d)\n[%3d%%] ",
+                       fprintf(stderr, " %5d/%d (%d)\n[%3d%%] ",
                                        i, init_len, len, ((int) ((float) i / 
init_len * 100)));
 
                } else if ((!(i % 10)) && (!reset_output))
-                       putc(' ', stdout);
+                       putc(' ', stderr);
 
                reset_output = 0;
        } else
-               fputs("[  0%] ", stdout);
+               fputs("[  0%] ", stderr);
 
-       fprintf(stdout, "%c", stat);
-       fflush(stdout);
+       fprintf(stderr, "%c", stat);
+       fflush(stderr);
        i++;
        return;
 }
@@ -1055,7 +1029,7 @@
                        imlib_image_flip_horizontal();
                } else
                        gib_imlib_image_orientate(old, op);
-               ungib_imlib_save_image_with_error_return(old,
+               gib_imlib_save_image_with_error_return(old,
                        FEH_FILE(w->file->data)->filename, &err);
                gib_imlib_free_image(old);
                if (err)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/index.c new/feh-2.13.1/src/index.c
--- old/feh-2.12.1/src/index.c  2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/index.c  2015-05-24 11:46:21.000000000 +0200
@@ -303,7 +303,7 @@
                }
        }
        if (opt.verbose)
-               putc('\n', stdout);
+               putc('\n', stderr);
 
        if (opt.title_font) {
                int fw, fh, fx, fy;
@@ -327,7 +327,7 @@
                else
                        strncpy(output_buf, opt.output_file, 1024);
 
-               ungib_imlib_save_image_with_error_return(im_main, output_buf, 
&err);
+               gib_imlib_save_image_with_error_return(im_main, output_buf, 
&err);
                if (err) {
                        feh_imlib_print_load_error(output_buf, im_main, err);
                }
@@ -336,8 +336,8 @@
 
                        tw = gib_imlib_image_get_width(im_main);
                        th = gib_imlib_image_get_height(im_main);
-                       fprintf(stdout, PACKAGE " - File saved as %s\n", 
output_buf);
-                       fprintf(stdout,
+                       fprintf(stderr, PACKAGE " - File saved as %s\n", 
output_buf);
+                       fprintf(stderr,
                                "    - Image is %dx%d pixels and contains %d 
thumbnails\n", tw, th, thumbnailcount);
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/list.c new/feh-2.13.1/src/list.c
--- old/feh-2.12.1/src/list.c   2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/list.c   2015-05-24 11:46:21.000000000 +0200
@@ -89,21 +89,33 @@
                if (feh_load_image(&im, file)) {
                        /* loaded ok */
                        if (loadable) {
+                               if (opt.verbose)
+                                       feh_display_status('.');
                                puts(file->filename);
                                feh_action_run(file, opt.actions[0]);
                        }
-                       else
+                       else {
+                               if (opt.verbose)
+                                       feh_display_status('s');
                                ret = 1;
+                       }
                        gib_imlib_free_image_and_decache(im);
                } else {
                        /* Oh dear. */
                        if (!loadable) {
+                               if (opt.verbose)
+                                       feh_display_status('.');
                                puts(file->filename);
                                feh_action_run(file, opt.actions[0]);
                        }
-                       else
+                       else {
+                               if (opt.verbose)
+                                       feh_display_status('s');
                                ret = 1;
+                       }
                }
        }
+       if (opt.verbose)
+               feh_display_status(0);
        exit(ret);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/menu.c new/feh-2.13.1/src/menu.c
--- old/feh-2.12.1/src/menu.c   2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/menu.c   2015-05-24 11:46:21.000000000 +0200
@@ -1327,7 +1327,6 @@
                                opt.keep_zoom_vp = 1;
                        else
                                opt.keep_zoom_vp = 0;
-                       winwidget_rerender_all(1);
                        break;
        }
        return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/options.c new/feh-2.13.1/src/options.c
--- old/feh-2.12.1/src/options.c        2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/options.c        2015-05-24 11:46:21.000000000 +0200
@@ -236,7 +236,7 @@
 
                        list[num - 1] = feh_string_normalize(s);
                        break;
-               } else if (*t == '\"' && last != '\\')
+               } else if (((*t == '\"') || (*t == '\'')) && last != '\\')
                        inquote = !(inquote);
                last = *t;
        }
@@ -265,6 +265,9 @@
                else if ((*s == '\"') && (last == '\\'))
                        ret[i++] = '\"';
                else if ((*s == '\"') && (last == 0));
+               else if ((*s == '\'') && (last == '\\'))
+                       ret[i++] = '\'';
+               else if ((*s == '\'') && (last == 0));
                else if ((*s == ' ') && (last == '\\'))
                        ret[i++] = ' ';
                else
@@ -272,7 +275,7 @@
 
                last = *s;
        }
-       if (i && (ret[i - 1] == '\"'))
+       if (i && ((ret[i - 1] == '\"') || (ret[i - 1] == '\'')))
                ret[i - 1] = '\0';
        else
                ret[i] = '\0';
@@ -421,6 +424,10 @@
                        break;
                case '<':
                        XParseGeometry(optarg, &discard, &discard, 
&opt.max_width, &opt.max_height);
+                       if (opt.max_width == 0)
+                               opt.max_width = UINT_MAX;
+                       if (opt.max_height == 0)
+                               opt.max_height = UINT_MAX;
                        break;
                case '>':
                        XParseGeometry(optarg, &discard, &discard, 
&opt.min_width, &opt.min_height);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/slideshow.c 
new/feh-2.13.1/src/slideshow.c
--- old/feh-2.12.1/src/slideshow.c      2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/slideshow.c      2015-05-24 11:46:21.000000000 +0200
@@ -662,9 +662,9 @@
        }
 
        if (opt.verbose)
-               printf("saving image to filename '%s'\n", tmpname);
+               fprintf(stderr, "saving image to filename '%s'\n", tmpname);
 
-       ungib_imlib_save_image_with_error_return(win->im, tmpname, &err);
+       gib_imlib_save_image_with_error_return(win->im, tmpname, &err);
 
        if (err)
                feh_imlib_print_load_error(tmpname, win, err);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/thumbnail.c 
new/feh-2.13.1/src/thumbnail.c
--- old/feh-2.12.1/src/thumbnail.c      2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/thumbnail.c      2015-05-24 11:46:21.000000000 +0200
@@ -357,7 +357,7 @@
                winwidget_render_image(winwid, 0, 1);
 
        if (opt.verbose)
-               putc('\n', stdout);
+               putc('\n', stderr);
 
        if (opt.title_font) {
                int fw, fh, fx, fy;
@@ -382,7 +382,7 @@
                        snprintf(output_buf, 1024, "%s/%s", opt.output_dir, 
opt.output_file);
                else
                        strncpy(output_buf, opt.output_file, 1024);
-               ungib_imlib_save_image_with_error_return(td.im_main, 
output_buf, &err);
+               gib_imlib_save_image_with_error_return(td.im_main, output_buf, 
&err);
                if (err) {
                        feh_imlib_print_load_error(output_buf, td.im_main, err);
                }
@@ -391,8 +391,8 @@
 
                        tw = gib_imlib_image_get_width(td.im_main);
                        th = gib_imlib_image_get_height(td.im_main);
-                       fprintf(stdout, PACKAGE " - File saved as %s\n", 
output_buf);
-                       fprintf(stdout,
+                       fprintf(stderr, PACKAGE " - File saved as %s\n", 
output_buf);
+                       fprintf(stderr,
                                        "    - Image is %dx%d pixels and 
contains %d thumbnails\n",
                                        tw, th, thumbnailcount);
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/wallpaper.c 
new/feh-2.13.1/src/wallpaper.c
--- old/feh-2.12.1/src/wallpaper.c      2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/wallpaper.c      2015-05-24 11:46:21.000000000 +0200
@@ -29,6 +29,7 @@
 #include "options.h"
 #include "wallpaper.h"
 #include <limits.h>
+#include <sys/stat.h>
 Window ipc_win = None;
 Window my_ipc_win = None;
 Atom ipc_atom = None;
@@ -450,12 +451,17 @@
                        if (home) {
                                FILE *fp;
                                char *path;
+                               struct stat s;
                                path = estrjoin("/", home, ".fehbg", NULL);
                                if ((fp = fopen(path, "w")) == NULL) {
                                        weprintf("Can't write to %s", path);
                                } else {
-                                       fprintf(fp, "%s\n", fehbg);
+                                       fprintf(fp, "#!/bin/sh\n%s\n", fehbg);
                                        fclose(fp);
+                                       stat(path, &s);
+                                       if (chmod(path, s.st_mode | S_IXUSR | 
S_IXGRP) != 0) {
+                                               weprintf("Can't set %s as 
executable", path);
+                                       }
                                }
                                free(path);
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.12.1/src/winwidget.c 
new/feh-2.13.1/src/winwidget.c
--- old/feh-2.12.1/src/winwidget.c      2015-04-08 11:21:11.000000000 +0200
+++ new/feh-2.13.1/src/winwidget.c      2015-05-24 11:46:21.000000000 +0200
@@ -408,16 +408,26 @@
 
        winwidget_setup_pixmaps(winwid);
 
-       if (!winwid->full_screen && opt.scale_down && ((winwid->w < 
winwid->im_w)
-                                                      || (winwid->h < 
winwid->im_h)) &&
+       if (!winwid->full_screen && opt.scale_down &&
                                                          (winwid->type != 
WIN_TYPE_THUMBNAIL) &&
                                                          (winwid->old_zoom == 
1.0)) {
-               D(("scaling down image %dx%d\n", winwid->w, winwid->h));
-
-               feh_calc_needed_zoom(&(winwid->zoom), winwid->im_w, 
winwid->im_h, winwid->w, winwid->h);
-               if (resize)
-                        winwidget_resize(winwid, winwid->im_w * winwid->zoom, 
winwid->im_h * winwid->zoom);
-               D(("after scaling down image %dx%d\n", winwid->w, winwid->h));
+        int max_w = winwid->w, max_h = winwid->h;
+        if (opt.geom_flags & WidthValue) {
+            max_w = opt.geom_w;
+        }
+        if (opt.geom_flags & HeightValue) {
+            max_h = opt.geom_h;
+        }
+        D(("max: %dx%d, size: %dx%d\n", max_w, max_h, winwid->im_w, 
winwid->im_h));
+        if (max_w < winwid->im_w || max_h < winwid->im_h) {
+            D(("scaling down image %dx%d\n", max_w, max_h));
+
+            feh_calc_needed_zoom(&(winwid->zoom), winwid->im_w, winwid->im_h,
+                    max_w, max_h);
+            if (resize)
+                winwidget_resize(winwid, winwid->im_w * winwid->zoom, 
winwid->im_h * winwid->zoom);
+            D(("after scaling down image %dx%d\n", winwid->w, winwid->h));
+        }
        }
 
        if (!winwid->full_screen && ((gib_imlib_image_has_alpha(winwid->im))
@@ -433,7 +443,8 @@
                feh_calc_needed_zoom(&(winwid->zoom), winwid->im_w, 
winwid->im_h, winwid->w, winwid->h);
 
 
-       if (resize && (winwid->full_screen || (opt.geom_flags & (WidthValue | 
HeightValue)))) {
+       if (resize && (winwid->full_screen
+                     || (!opt.scale_down && (opt.geom_flags & (WidthValue | 
HeightValue))))) {
                int smaller;    /* Is the image smaller than screen? */
                int max_w = 0, max_h = 0;
 
@@ -827,24 +838,24 @@
        D(("   x %d y %d w %d h %d\n", attributes.x, attributes.y, winwid->w,
                winwid->h));
 
-       if (opt.geom_flags & (WidthValue | HeightValue)) {
-               winwid->had_resize = 1;
-               return;
-       }
+    if (!opt.scale_down && opt.geom_flags & (WidthValue | HeightValue)) {
+        winwid->had_resize = 1;
+        return;
+    }
        if (winwid && ((winwid->w != w) || (winwid->h != h))) {
                /* winwidget_clear_background(winwid); */
                if (opt.screen_clip) {
-                       winwid->w = (w > scr_width) ? scr_width : w;
-                       winwid->h = (h > scr_height) ? scr_height : h;
+            winwid->w = (w > scr_width) ? scr_width : w;
+            winwid->h = (h > scr_height) ? scr_height : h;
                }
                if (winwid->full_screen) {
-                       XTranslateCoordinates(disp, winwid->win, 
attributes.root,
-                                               -attributes.border_width -
-                                               attributes.x,
-                                               -attributes.border_width - 
attributes.y, &tc_x, &tc_y, &dw);
-                       winwid->x = tc_x;
-                       winwid->y = tc_y;
-                       XMoveResizeWindow(disp, winwid->win, tc_x, tc_y, 
winwid->w, winwid->h);
+            XTranslateCoordinates(disp, winwid->win, attributes.root,
+                        -attributes.border_width -
+                        attributes.x,
+                        -attributes.border_width - attributes.y, &tc_x, &tc_y, 
&dw);
+            winwid->x = tc_x;
+            winwid->y = tc_y;
+            XMoveResizeWindow(disp, winwid->win, tc_x, tc_y, winwid->w, 
winwid->h);
                } else
                        XResizeWindow(disp, winwid->win, winwid->w, winwid->h);
 



Reply via email to