Hello community,

here is the log from the commit of package feh for openSUSE:Factory checked in 
at 2017-12-29 18:52:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/feh (Old)
 and      /work/SRC/openSUSE:Factory/.feh.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "feh"

Fri Dec 29 18:52:31 2017 rev:17 rq:560480 version:2.23

Changes:
--------
--- /work/SRC/openSUSE:Factory/feh/feh.changes  2017-11-08 15:15:53.741427805 
+0100
+++ /work/SRC/openSUSE:Factory/.feh.new/feh.changes     2017-12-29 
18:52:49.351931415 +0100
@@ -1,0 +2,16 @@
+Fri Dec 29 01:07:11 UTC 2017 - jeng...@inai.de
+
+- Ensure neutrality of description.
+
+-------------------------------------------------------------------
+Thu Dec 28 21:45:30 UTC 2017 - avin...@opensuse.org
+
+- update to 2.23
+  * Fix broken thumbnail/index windows when using --scale-down
+  * Use Imlib2 as in-memory image cache (default size: 4MiB)
+    noticable performance improvements, especially in small
+    slideshows
+  * Add --cache-size option to set Imlib2 image cache size
+- rebase feh-makefile_optflags.patch
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ feh.spec ++++++
--- /var/tmp/diff_new_pack.lDQVU2/_old  2017-12-29 18:52:50.159699416 +0100
+++ /var/tmp/diff_new_pack.lDQVU2/_new  2017-12-29 18:52:50.163698268 +0100
@@ -17,9 +17,9 @@
 
 
 Name:           feh
-Version:        2.22.2
+Version:        2.23
 Release:        0
-Summary:        Fast and Lightweight Image Viewer
+Summary:        X11 image viewer
 License:        MIT AND LGPL-2.0+
 Group:          Productivity/Graphics/Viewers
 Url:            http://feh.finalrewind.org/
@@ -48,11 +48,12 @@
 Requires(postun): hicolor-icon-theme
 
 %description
-feh is a versatile and fast image viewer using imlib2, the
-premier image file handling library. feh has many features,
-from simple single file viewing, to multiple file modes using
-a slideshow or multiple windows. feh supports the creation of
-montages as index prints with many user-configurable options.
+feh is an X11 image viewer aimed mostly at console users. It does not
+have a fancy GUI, but simply displays images. It is controlled via
+commandline arguments and configurable key/mouse actions. feh has
+multiple file modes using a slideshow or multiple windows. It
+supports the creation of montages as index prints with many
+user-configurable options.
 
 %prep
 %setup -q

++++++ feh-2.22.2.tar.bz2 -> feh-2.23.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/ChangeLog new/feh-2.23/ChangeLog
--- old/feh-2.22.2/ChangeLog    2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/ChangeLog      2017-12-28 19:28:35.000000000 +0100
@@ -1,3 +1,11 @@
+Thu, 28 Dec 2017 19:26:29 +0100
+
+* Release v2.23
+    * Fix broken thumbnail/index windows when using --scale-down
+    * Use Imlib2 in-memory image cache (default cache size: 4MiB). This allows
+      for significant performance improvements especially in small slideshows
+    * Add --cache-size option to set Imlib2 image cache size
+
 Tue, 07 Nov 2017 17:36:26 +0100  Daniel Friesel <derf+...@finalrewind.org>
 
 * Release v2.22.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/config.mk new/feh-2.23/config.mk
--- old/feh-2.22.2/config.mk    2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/config.mk      2017-12-28 19:28:35.000000000 +0100
@@ -1,5 +1,5 @@
 PACKAGE ?= feh
-VERSION ?= 2.22.2
+VERSION ?= 2.23
 
 app ?= 0
 cam ?= 0
@@ -37,6 +37,9 @@
 CFLAGS ?= -g -O2
 CFLAGS += -Wall -Wextra -pedantic
 
+# Settings for glibc >= 2.19 - may need to be adjusted for other systems
+CFLAGS += -std=c11 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500
+
 ifeq (${curl},1)
        CFLAGS += -DHAVE_LIBCURL
        LDLIBS += -lcurl
@@ -76,7 +79,7 @@
        MAN_EXIF = disabled
 endif
 
-MAN_DATE ?= November 07, 2017
+MAN_DATE ?= December 28, 2017
 
 # Uncomment this to use dmalloc
 #CFLAGS += -DWITH_DMALLOC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/man/feh.pre new/feh-2.23/man/feh.pre
--- old/feh-2.22.2/man/feh.pre  2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/man/feh.pre    2017-12-28 19:28:35.000000000 +0100
@@ -205,6 +205,16 @@
 .
 Create borderless windows.
 .
+.It Cm --cache-size Ar size
+.
+Set Imlib2 in-memory cache to
+.Ar size
+MiB. A higher cache size can
+significantly improve performance especially for small slide shows, however at
+the cost of increased memory consumption.
+.Ar size
+must be between 0 and 2048 MiB and defaults to 4.
+.
 .It Cm -P , --cache-thumbnails
 .
 Enable thumbnail caching in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/src/gib_hash.c new/feh-2.23/src/gib_hash.c
--- old/feh-2.22.2/src/gib_hash.c       2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/src/gib_hash.c 2017-12-28 19:28:35.000000000 +0100
@@ -26,6 +26,7 @@
 #include "gib_hash.h"
 #include "utils.h"
 #include "debug.h"
+#include <strings.h>
 
 gib_hash_node *gib_hash_node_new(char *key, void *data)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/src/help.raw new/feh-2.23/src/help.raw
--- old/feh-2.22.2/src/help.raw 2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/src/help.raw   2017-12-28 19:28:35.000000000 +0100
@@ -20,7 +20,7 @@
  -g, --geometry WxH[+X+Y]  Limit the window size to DIMENSION[+OFFSET]
  -f, --filelist FILE       Load/save images from/to the FILE filelist
  -|, --start-at FILENAME   Start at FILENAME in the filelist
- -p, --preload             Remove unlaodable files from the internal filelist
+ -p, --preload             Remove unloadable files from the internal filelist
                            before attempting to display anything
  -., --scale-down          Automatically scale down images to fit screen size
  -F, --fullscreen          Make the window full screen
@@ -94,6 +94,7 @@
      --min-dimension WxH   Only show images with width >= W and height >= H
      --max-dimension WxH   Only show images with width <= W and height <= H
      --scroll-step COUNT   scroll COUNT pixels when movement key is pressed
+     --cache-size NUM      imlib cache size in mebibytes (0 .. 2048)
 
 MONTAGE MODE OPTIONS
  -X, --ignore-aspect       Set thumbnail to specified width/height without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/src/imlib.c new/feh-2.23/src/imlib.c
--- old/feh-2.22.2/src/imlib.c  2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/src/imlib.c    2017-12-28 19:28:35.000000000 +0100
@@ -131,6 +131,8 @@
        imlib_context_set_operation(IMLIB_OP_COPY);
        wmDeleteWindow = XInternAtom(disp, "WM_DELETE_WINDOW", False);
 
+       imlib_set_cache_size(opt.cache_size * 1024 * 1024);
+
        /* Initialise random numbers */
        srand(getpid() * time(NULL) % ((unsigned int) -1));
 
@@ -254,6 +256,16 @@
                return(0);
        }
 
+       /*
+        * By default, Imlib2 unconditionally loads a cached file without 
checking
+        * if it was modified on disk. However, feh (or rather its users) should
+        * expect image changes to appear at the next reload. So we tell Imlib2 
to
+        * always check the file modification time and only use a cached image 
if
+        * the mtime was not changed. The performance penalty is usually 
negligible.
+        */
+       imlib_context_set_image(*im);
+       imlib_image_set_changes_on_disk();
+
 #ifdef HAVE_LIBEXIF
        int orientation = 0;
        ExifData *exifData = exif_data_new_from_file(file->filename);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/src/options.c new/feh-2.23/src/options.c
--- old/feh-2.22.2/src/options.c        2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/src/options.c  2017-12-28 19:28:35.000000000 +0100
@@ -27,6 +27,7 @@
 #include "feh.h"
 #include "filelist.h"
 #include "options.h"
+#include <strings.h>
 
 static void check_options(void);
 static void feh_getopt_theme(int argc, char **argv);
@@ -67,6 +68,7 @@
        opt.jump_on_resort = 1;
 
        opt.screen_clip = 1;
+       opt.cache_size = 4;
 #ifdef HAVE_LIBXINERAMA
        /* if we're using xinerama, then enable it by default */
        opt.xinerama = 1;
@@ -409,6 +411,7 @@
                {"xinerama-index", 1, 0, 239},
                {"insecure"      , 0, 0, 240},
                {"no-recursive"  , 0, 0, 241},
+               {"cache-size"    , 1, 0, 243},
                {0, 0, 0, 0}
        };
        int optch = 0, cmdx = 0;
@@ -771,6 +774,14 @@
                        break;
                case 241:
                        opt.recursive = 0;
+                       break;
+               case 243:
+                       opt.cache_size = atoi(optarg);
+                       if (opt.cache_size < 0)
+                               opt.cache_size = 0;
+                       if (opt.cache_size > 2048)
+                               opt.cache_size = 2048;
+                       break;
                default:
                        break;
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/src/options.h new/feh-2.23/src/options.h
--- old/feh-2.22.2/src/options.h        2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/src/options.h  2017-12-28 19:28:35.000000000 +0100
@@ -117,6 +117,9 @@
        /* signed in case someone wants to invert scrolling real quick */
        int scroll_step;
 
+       // imlib cache size in mebibytes
+       int cache_size;
+
        unsigned int min_width, min_height, max_width, max_height;
 
        unsigned char mode;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feh-2.22.2/src/winwidget.c 
new/feh-2.23/src/winwidget.c
--- old/feh-2.22.2/src/winwidget.c      2017-11-07 17:40:24.000000000 +0100
+++ new/feh-2.23/src/winwidget.c        2017-12-28 19:28:35.000000000 +0100
@@ -455,7 +455,7 @@
                                     || (winwid->has_rotated)))
                feh_draw_checks(winwid);
 
-       if (!winwid->full_screen && opt.zoom_mode
+       if (!winwid->full_screen && opt.zoom_mode && (winwid->type != 
WIN_TYPE_THUMBNAIL)
                                && (winwid->zoom == 1.0) && ! (opt.geom_flags & 
(WidthValue | HeightValue))
                                && (winwid->w > winwid->im_w) && (winwid->h > 
winwid->im_h))
                feh_calc_needed_zoom(&(winwid->zoom), winwid->im_w, 
winwid->im_h, winwid->w, winwid->h);
@@ -464,14 +464,14 @@
         * In case of a resize, the geomflags (and im_w, im_h) get updated by
         * the ConfigureNotify handler.
         */
-       if (need_center && !winwid->full_screen
+       if (need_center && !winwid->full_screen && (winwid->type != 
WIN_TYPE_THUMBNAIL)
                                && (opt.geom_flags & (WidthValue | HeightValue))
                                && ((winwid->w < winwid->im_w) || (winwid->h < 
winwid->im_h)))
                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->type != WIN_TYPE_THUMBNAIL) &&
+                       (winwid->full_screen || (opt.geom_flags & (WidthValue | 
HeightValue)))) {
                int smaller;    /* Is the image smaller than screen? */
                int max_w = 0, max_h = 0;
 
@@ -1008,7 +1008,7 @@
 void winwidget_free_image(winwidget w)
 {
        if (w->im)
-               gib_imlib_free_image_and_decache(w->im);
+               gib_imlib_free_image(w->im);
        w->im = NULL;
        w->im_w = 0;
        w->im_h = 0;

++++++ feh-makefile_optflags.patch ++++++
--- /var/tmp/diff_new_pack.lDQVU2/_old  2017-12-29 18:52:51.699257242 +0100
+++ /var/tmp/diff_new_pack.lDQVU2/_new  2017-12-29 18:52:51.703256093 +0100
@@ -3,11 +3,11 @@
  src/Makefile |    2 +-
  2 files changed, 3 insertions(+), 3 deletions(-)
 
-Index: feh-2.17.1/config.mk
+Index: b/config.mk
 ===================================================================
---- feh-2.17.1.orig/config.mk
-+++ feh-2.17.1/config.mk
-@@ -31,8 +31,8 @@ icon_dir = ${ICON_PREFIX}/hicolor
+--- a/config.mk
++++ b/config.mk
+@@ -34,8 +34,8 @@ icon_dir = ${ICON_PREFIX}/hicolor
  scalable_icon_dir = ${icon_dir}/scalable/apps
  
  # default CFLAGS
@@ -16,12 +16,12 @@
 +OPTFLAGS = -g -O2
 +CFLAGS += -Wall -Wextra -pedantic $(OPTFLAGS)
  
- ifeq (${curl},1)
-       CFLAGS += -DHAVE_LIBCURL
-Index: feh-2.17.1/src/Makefile
+ # Settings for glibc >= 2.19 - may need to be adjusted for other systems
+ CFLAGS += -std=c11 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500
+Index: b/src/Makefile
 ===================================================================
---- feh-2.17.1.orig/src/Makefile
-+++ feh-2.17.1/src/Makefile
+--- a/src/Makefile
++++ b/src/Makefile
 @@ -7,7 +7,7 @@ I_SRCS = ${shell echo *.raw}
  I_DSTS = ${I_SRCS:.raw=.inc}
  


Reply via email to