aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-12-07Try to match a fallback font if neededSquibby
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.
2017-11-23Reject text files resembling TGA imagesBert Münnich
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.
2017-10-27Stable version 24v24Bert Münnich
2017-10-26Fix navigating from last to previous image over invalid filesBert Münnich
2017-10-24Set LC_COLLATE for -r file list sortingBert Münnich
Fixes issue #293.
2017-10-23List objs in Makefile not srcsBert Münnich
2017-10-23Make clean removes all object filesBert Münnich
2017-10-22Always take {C,CPP,LD}FLAGS from environmentBert Münnich
Our own default values go into accompanying macros prefixed with DEF_.
2017-10-19Back to VPATH for out-of-source buildsBert Münnich
OpenBSD make supports VPATH but not pattern rules. Everything in the new Makefile should work no matter what make program is used.
2017-10-19Addendum to 1ace4fb0Bert Münnich
2017-10-16No more automatic dependency trackingBert Münnich
The new Makefile should work with the make programs shipped with FreeBSD, NetBSD and OpenBSD.
2017-10-16No more config.mkBert Münnich
2017-10-16Small refinements in MakefileBert Münnich
2017-10-16One header file for type definitions and function declarationsBert Münnich
2017-10-16Fix dep file include in MakefileBert Münnich
2017-10-16Zoom into mouse cursor positionBert Münnich
2017-10-12Much more portable MakefileBert Münnich
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
2017-10-08Always include non-configurable part of CPPFLAGSBert Münnich
2017-10-08Move DEPFLAGS from Makefile to config.mkBert Münnich
2017-10-08Mention GNU make requirement in MakefileBert Münnich
2017-10-08Get rid of SRCDIR macro, VPATH on make cmd line sufficesBert Münnich
2017-10-06Add missing description for Button3 to man pageBert Münnich
2017-10-06Improve mouse supportBert Münnich
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.
2017-10-05Simplify cursor reset in image modeBert Münnich
No need to give cursor name. reset_cursor() is now the only place to decide what cursor to fall back to.
2017-10-05Own win method for mouse cursor locationBert Münnich
2017-10-05Simplify cursor handlingBert Münnich
2017-10-04Mouse drag translates pointer position to image areaBert Münnich
This makes mouse panning more direct and faster.
2017-09-11Fix linker command lineBert Münnich
2017-09-11Only use targets in build messagesBert Münnich
2017-09-08Add -p flag to disable writing of cache and temporary filesAntti Korpi
Closes #285.
2017-09-08Move special targets to bottom of MakefileBert Münnich
2017-09-08Non-verbose buildBert Münnich
Verbose when build with `V=1'.
2017-09-08Support out-of-source buildsBert Münnich
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.
2017-09-08Simplify config.mkBert Münnich
2017-09-06Move configuration parts from Makefile into config.mkBert Münnich
2017-09-06Make pan fraction configurablejcalve
2017-09-06Add Max Voit to list of contributorsBert Münnich
2017-09-02Add key-handler action to copy image to clipboardBert Münnich
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
2017-05-17Adapt inotify_nop to API changesBert Münnich
2017-05-17Update copyright notice in autoreload_inotify.cBert Münnich
2017-05-17Merge branch 'autoreload'Bert Münnich
Pull request #278. Fixes issue #29 and issue #199.
2017-05-17Detect all file overwrites in autoreload_inotifyBert Münnich
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.
2017-05-17Compiler independent buffer alignmentBert Münnich
2017-05-17Read all available inotify eventsBert Münnich
Loop reading from inotify fd in arl_handle(); requires non-blocking inotify fd.
2017-05-17Simplify inotify cleanupBert Münnich
2017-05-17Revised error reporting in autoreload_inotifyBert Münnich
No repeated error messages after failed initialization. No error messages on failed inotify_rm_watch().
2017-05-17Fix code-style in autoreload_inotify.cBert Münnich
2017-05-17Simplify autoreload backend selection in MakefileBert Münnich
2017-05-17Revised autoreload interfaceBert Münnich
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.
2017-05-17Add autoreload support by inotify (and dummy backend nop)Max Voit