69b2d3cafd
win_textwidth is no longer needed outside window.c
2017-12-07 14:19:35 +01:00
30e2356622
Remove obsolete files[].base
2017-12-07 14:16:32 +01:00
004fcd5c5b
Left bar shows file name as given by user
2017-12-07 14:08:37 +01:00
eb96c71725
Try to match a fallback font if needed
...
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-12-06 20:39:07 -03:00
f02661879f
Reject text files resembling TGA images
...
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-11-23 14:35:34 +01:00
9dabc5f988
Stable version 24
2017-10-27 17:25:56 +02:00
64b885b6a9
Fix navigating from last to previous image over invalid files
2017-10-26 22:20:39 +02:00
2d34c4b9bf
Set LC_COLLATE for -r file list sorting
...
Fixes issue #293 .
2017-10-24 21:43:36 +02:00
96445c3268
List objs in Makefile not srcs
2017-10-23 10:28:28 +02:00
79bcc2ba4a
Make clean removes all object files
2017-10-23 10:27:14 +02:00
df714376c5
Always take {C,CPP,LD}FLAGS from environment
...
Our own default values go into accompanying macros prefixed with DEF_.
2017-10-22 12:26:20 +02:00
4d2fc0b889
Back to VPATH for out-of-source builds
...
OpenBSD make supports VPATH but not pattern rules. Everything in the new
Makefile should work no matter what make program is used.
2017-10-19 13:29:25 +02:00
d2b3a18d60
Addendum to 1ace4fb0
2017-10-19 13:02:08 +02:00
1ace4fb09c
No more automatic dependency tracking
...
The new Makefile should work with the make programs shipped with FreeBSD,
NetBSD and OpenBSD.
2017-10-16 21:19:22 +02:00
24cf812bb2
No more config.mk
2017-10-16 21:16:05 +02:00
2cf9cfc700
Small refinements in Makefile
2017-10-16 21:15:38 +02:00
148026007c
One header file for type definitions and function declarations
2017-10-16 21:10:35 +02:00
4af189e7d9
Fix dep file include in Makefile
2017-10-16 15:07:03 +02:00
a5403178e3
Zoom into mouse cursor position
2017-10-16 10:56:53 +02:00
5155d52ab1
Much more portable Makefile
...
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-12 11:00:24 +02:00
6beb8b4d71
Always include non-configurable part of CPPFLAGS
2017-10-08 22:03:05 +02:00
e3b68efadd
Move DEPFLAGS from Makefile to config.mk
2017-10-08 22:02:29 +02:00
33b5dbfa82
Mention GNU make requirement in Makefile
2017-10-08 20:24:15 +02:00
171633de32
Get rid of SRCDIR macro, VPATH on make cmd line suffices
2017-10-08 20:23:16 +02:00
2bf8f2ac42
Add missing description for Button3 to man page
2017-10-06 10:26:15 +02:00
8081cbebf3
Improve mouse support
...
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-06 10:15:43 +02:00
ee908ca0a1
Simplify cursor reset in image mode
...
No need to give cursor name. reset_cursor() is now the only place to decide
what cursor to fall back to.
2017-10-05 13:49:11 +02:00
d81442f55d
Own win method for mouse cursor location
2017-10-05 13:47:02 +02:00
b8fd923e74
Simplify cursor handling
2017-10-05 12:30:31 +02:00
e310136e02
Mouse drag translates pointer position to image area
...
This makes mouse panning more direct and faster.
2017-10-04 18:22:43 +02:00
9b6acc781e
Fix linker command line
2017-09-11 17:09:26 +02:00
5b5dc74195
Only use targets in build messages
2017-09-11 17:08:38 +02:00
ecc363ec10
Add -p flag to disable writing of cache and temporary files
...
Closes #285 .
2017-09-08 22:04:44 +02:00
20009c240b
Move special targets to bottom of Makefile
2017-09-08 21:15:59 +02:00
a1b2fd2774
Non-verbose build
...
Verbose when build with `V=1'.
2017-09-08 16:51:47 +02:00
a46006f527
Support out-of-source builds
...
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-08 16:20:05 +02:00
e46b1fa609
Simplify config.mk
2017-09-08 16:03:05 +02:00
ad9955a9cf
Move configuration parts from Makefile into config.mk
2017-09-06 20:12:09 +02:00
ec545a6b6c
Make pan fraction configurable
2017-09-06 19:39:22 +02:00
30e9ec8970
Add Max Voit to list of contributors
2017-09-06 19:28:50 +02:00
c2560f8d0b
Add key-handler action to copy image to clipboard
...
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-09-02 22:19:00 +02:00
52c57f5d61
Adapt inotify_nop to API changes
2017-05-17 20:39:30 +02:00
c027122c5f
Update copyright notice in autoreload_inotify.c
2017-05-17 20:38:34 +02:00
caec32d257
Merge branch 'autoreload'
...
Pull request #278 .
Fixes issue #29 and issue #199 .
2017-05-17 20:22:23 +02:00
a20173a42d
Detect all file overwrites in autoreload_inotify
...
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-17 20:20:39 +02:00
de3d7827ce
Compiler independent buffer alignment
2017-05-17 20:15:35 +02:00
0e1a85d224
Read all available inotify events
...
Loop reading from inotify fd in arl_handle(); requires non-blocking inotify fd.
2017-05-17 20:14:36 +02:00
6695cd4c34
Simplify inotify cleanup
2017-05-17 20:14:20 +02:00
8bce80fdae
Revised error reporting in autoreload_inotify
...
No repeated error messages after failed initialization. No error messages on
failed inotify_rm_watch().
2017-05-17 20:13:32 +02:00
9ac8fc62df
Fix code-style in autoreload_inotify.c
2017-05-17 20:12:22 +02:00