Commits on Apr 11, 2018
  1. Initialize window bar buffers to empty string

    muennich committed Apr 11, 2018
    Fixes issue #308.
Commits on Feb 18, 2018
  1. Close image-info explicitly

    muennich committed Feb 18, 2018
Commits on Jan 22, 2018
  1. Do not limit fit-to-win to smallest zoom level

    muennich committed Jan 22, 2018
    Related to issue #303
  2. Make zoomdiff compare impact on image dimensions

    muennich committed Jan 22, 2018
    Before that zoomdiff was a merely heuristic.
    Related to issue #303
  3. Use float for ox/oy compare values

    muennich committed Jan 22, 2018
    Fixes issue #302
Commits on Jan 9, 2018
  1. Refactoring

    muennich committed Jan 9, 2018
  2. Fix a potential uninitialized variable

    Hyleus authored and muennich committed Jan 9, 2018
Commits on Dec 13, 2017
  1. Fix autoreload-nop accidentally selecting on stdin

    iamleot authored and muennich committed Dec 13, 2017
    When sxiv is built with AUTORELOAD=nop if something is feed via stdin it
    will start to infinitely call select() leading to a 100% CPU usage.
    Thanks to @sdx23 for helping in analyzing that problem!
    Fixes issue #297.
Commits on Dec 7, 2017
  1. Simplify drawing of bar text

    muennich committed Dec 7, 2017
    Non-fitting text is truncated by simply cutting it off.
    win_textwidth() has been replaced by a simple macro wrapper around
    win_draw_text() with a maximum width of zero, which results in a dry-run that
    still calculates the number of pixels used by the text, much like snprintf(3)
    with a buffer length of zero.
  2. Replace utf8codepoint with Chris Wellons' utf8_decode

    muennich committed Dec 7, 2017
    Code under a different license should be kept in a separate file. This
    implemention is a single header file with ~65 lines, so it better fits this
Commits on Dec 6, 2017
  1. Try to match a fallback font if needed

    squibbysquibby committed Dec 6, 2017
    Fixes #276
    Instead of rendering the entire filename at once, Xft will let us do it
    character by character. This will allow sxiv to query fontconfig for
    a font that can provide any missing codepoints, if needed.
    A known issue of this patch is that the "..." dots rendering will not
    work properly for very long multibyte filenames. That is because we
    cannot easily predict the final width of the rendered filename before
    drawing it. I couldn't figure out a clean way to deal with this, so I
    ended up just truncating the offending filenames.
Commits on Nov 23, 2017
  1. Reject text files resembling TGA images

    muennich committed Nov 23, 2017
    Fixes issue #295
    The imlib2 TGA loader returns an imlib image handle without any actual data
    when given a text file like this:
        Content-Type: application/javascript
        Content-Length: 3836
        Last-Modified: Wed, 23 Sep 2015 12:25:47 GMT
        Etag: "56029a4b-efc"
        Expires: Sat, 20 Aug 2016 15:14:33 GMT
        Cache-Control: max-age=604800, public
        Accept-Ranges: bytes
    Fortunately, `imlib_image_get_data()` returns NULL in this case, so that we can
    use it as an additional check when opening files.
Commits on Oct 27, 2017
  1. Stable version 24

    muennich committed Oct 27, 2017
Commits on Oct 26, 2017
Commits on Oct 24, 2017
  1. Set LC_COLLATE for -r file list sorting

    muennich committed Oct 24, 2017
    Fixes issue #293.
Commits on Oct 23, 2017
Commits on Oct 22, 2017
  1. Always take {C,CPP,LD}FLAGS from environment

    muennich committed Oct 22, 2017
    Our own default values go into accompanying macros prefixed with DEF_.
Commits on Oct 19, 2017
  1. Back to VPATH for out-of-source builds

    muennich committed Oct 19, 2017
    OpenBSD make supports VPATH but not pattern rules. Everything in the new
    Makefile should work no matter what make program is used.
  2. Addendum to 1ace4fb

    muennich committed Oct 19, 2017
Commits on Oct 16, 2017
  1. No more automatic dependency tracking

    muennich committed Oct 16, 2017
    The new Makefile should work with the make programs shipped with FreeBSD,
    NetBSD and OpenBSD.
  2. No more

    muennich committed Oct 16, 2017
Commits on Oct 12, 2017
  1. Much more portable Makefile

    muennich committed Oct 12, 2017
    The file is now optional and only needs to be created if one wants to
    persistently overwrite default macro values.
    Features used in the Makefile that are not yet in the POSIX standard:
      - Advanced macro assignment operators '+=' and '?=' [1]
      - Special target .PHONY [2]
      - Pattern rules [3]; only needed when $srcdir != '.'. For every pattern rule
        there is an inference rule with the same effect. Hopefully, the inference
        rules get picked up by make programs not supporting pattern rules.
      - Silently including multiple possibly not exisiting files [4] [5]