Age | Commit message (Collapse) | Author |
|
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.
|
|
Fixes issue #295
The imlib2 TGA loader returns an imlib image handle without any actual data
when given a text file like this:
T
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.
|
|
|
|
|
|
Fixes issue #293.
|
|
|
|
|
|
Our own default values go into accompanying macros prefixed with DEF_.
|
|
OpenBSD make supports VPATH but not pattern rules. Everything in the new
Makefile should work no matter what make program is used.
|
|
|
|
The new Makefile should work with the make programs shipped with FreeBSD,
NetBSD and OpenBSD.
|
|
|
|
|
|
|
|
|
|
|
|
The config.mk 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]
[1] http://austingroupbugs.net/view.php?id=330
[2] http://austingroupbugs.net/view.php?id=523
[3] http://austingroupbugs.net/view.php?id=513
[4] http://austingroupbugs.net/view.php?id=333
[5] http://austingroupbugs.net/view.php?id=518
|
|
|
|
|
|
|
|
|
|
|
|
None of the mouse mappings uses a keyboard modifier, making it possible to
access the most basic features by only using the mouse.
Next/previous image with left button depending on cursor position, middle
button for dragging, right button for switching to thumnail mode and wheel for
zooming.
Users can keep the old behaviour by simply not adapting the changes to the
buttons array in config.def.h to their config.h file.
|
|
No need to give cursor name. reset_cursor() is now the only place to decide
what cursor to fall back to.
|
|
|
|
|
|
This makes mouse panning more direct and faster.
|
|
|
|
|
|
Closes #285.
|
|
|
|
Verbose when build with `V=1'.
|
|
Fixes issue #167. Long after closing this issue (kind of wontfix) we have switched to
GNU make and can thus use its features like VPATH.
|
|
|
|
|
|
|
|
|
|
Thanks ploth for coming up with this:
https://github.com/muennich/sxiv/issues/247#issuecomment-321316306
Replaces optional dependency on xsel(1) to xclip(1) as it supports this.
Fixes issue #247
|
|
|
|
|
|
Pull request #278.
Fixes issue #29 and issue #199.
|
|
mv(1) inside the same filesystem was not detected.
Supporting this case made it necessary to always watch the directory. Turns out
the logic and state keeping between arl_setup() and arl_handle() is easier,
when using different watch descriptors for the file and the directory and not
using a oneshot descriptor for the file.
Requiring an absolute canonical path for arl_setup() simplifies dir and base
name splitting. No need for dirname(3) and basename(3) anymore.
|
|
|
|
Loop reading from inotify fd in arl_handle(); requires non-blocking inotify fd.
|
|
|
|
No repeated error messages after failed initialization. No error messages on
failed inotify_rm_watch().
|
|
|
|
|
|
Make the header only contain the public interface and nothing from the
implementation. All functions get a handle to their self object, like the img_
and tns_ and win_ functions. All necessary data (file path) is also passed as
an argument, so that no extern redeclarations are needed.
Make arl_setup_dir() private, it's not called outside the module.
Make arl_handle() return true if the file has changed, so that the reloading of
the file can be done by the caller.
|
|
|