Commit Graph

834 Commits (43fcd2e02e113a55f673f266ad28b53858500022)
 

Author SHA1 Message Date
Bert Münnich 2cf9cfc700 Small refinements in Makefile 7 years ago
Bert Münnich 148026007c One header file for type definitions and function declarations 7 years ago
Bert Münnich 4af189e7d9 Fix dep file include in Makefile 7 years ago
Bert Münnich a5403178e3 Zoom into mouse cursor position 7 years ago
Bert Münnich 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
7 years ago
Bert Münnich 6beb8b4d71 Always include non-configurable part of CPPFLAGS 7 years ago
Bert Münnich e3b68efadd Move DEPFLAGS from Makefile to config.mk 7 years ago
Bert Münnich 33b5dbfa82 Mention GNU make requirement in Makefile 7 years ago
Bert Münnich 171633de32 Get rid of SRCDIR macro, VPATH on make cmd line suffices 7 years ago
Bert Münnich 2bf8f2ac42 Add missing description for Button3 to man page 7 years ago
Bert Münnich 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.
7 years ago
Bert Münnich 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.
7 years ago
Bert Münnich d81442f55d Own win method for mouse cursor location 7 years ago
Bert Münnich b8fd923e74 Simplify cursor handling 7 years ago
Bert Münnich e310136e02 Mouse drag translates pointer position to image area
This makes mouse panning more direct and faster.
7 years ago
Bert Münnich 9b6acc781e Fix linker command line 7 years ago
Bert Münnich 5b5dc74195 Only use targets in build messages 7 years ago
Antti Korpi ecc363ec10 Add -p flag to disable writing of cache and temporary files
Closes #285.
7 years ago
Bert Münnich 20009c240b Move special targets to bottom of Makefile 7 years ago
Bert Münnich a1b2fd2774 Non-verbose build
Verbose when build with `V=1'.
7 years ago
Bert Münnich 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.
7 years ago
Bert Münnich e46b1fa609 Simplify config.mk 7 years ago
Bert Münnich ad9955a9cf Move configuration parts from Makefile into config.mk 7 years ago
jcalve ec545a6b6c Make pan fraction configurable 7 years ago
Bert Münnich 30e9ec8970 Add Max Voit to list of contributors 7 years ago
Bert Münnich 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
7 years ago
Bert Münnich 52c57f5d61 Adapt inotify_nop to API changes 7 years ago
Bert Münnich c027122c5f Update copyright notice in autoreload_inotify.c 7 years ago
Bert Münnich caec32d257 Merge branch 'autoreload'
Pull request #278.

Fixes issue #29 and issue #199.
7 years ago
Bert Münnich 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.
7 years ago
Bert Münnich de3d7827ce Compiler independent buffer alignment 7 years ago
Bert Münnich 0e1a85d224 Read all available inotify events
Loop reading from inotify fd in arl_handle(); requires non-blocking inotify fd.
7 years ago
Bert Münnich 6695cd4c34 Simplify inotify cleanup 7 years ago
Bert Münnich 8bce80fdae Revised error reporting in autoreload_inotify
No repeated error messages after failed initialization. No error messages on
failed inotify_rm_watch().
7 years ago
Bert Münnich 9ac8fc62df Fix code-style in autoreload_inotify.c 7 years ago
Bert Münnich 8aaa5c9398 Simplify autoreload backend selection in Makefile 7 years ago
Bert Münnich 3724d3fc17 Revised autoreload interface
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.
7 years ago
Max Voit edb117e3bd Add autoreload support by inotify (and dummy backend nop) 7 years ago
Bert Münnich 1fb3ec576c Properly quit when window gets closed; fixes issue #27 7 years ago
Bert Münnich e98266b148 State the purpose of CLEANUP macro 7 years ago
Bert Münnich 7e9b4cee92 Merge branch 'diogocp/patch-1' 7 years ago
Jakub Wilk c313edc0ad Fix typo 7 years ago
Bert Münnich ba4b84a8b1 Fix missing quote in key-handler from commit 5c607ad 7 years ago
Diogo Pereira 109a38e76c Add Netpbm, TGA and XPM MIME types to sxiv.desktop
These formats are also supported by imlib2.
8 years ago
Bert Münnich 5c607ad495 Pass given file names to key-handler instead of real paths
Misbehaving command lines in the key-handler that rewrite the given files and
thus replace symbolic links instead of their targets shall call realpath(1).

Fixes issue #205 and reverts commit 92e3b578.
8 years ago
Bert Münnich 1c260e701b Fix unused-variable warnings in conditionally compiled code 8 years ago
Bert Münnich 5fb5d44cff Merge vaygr/opt-dep 8 years ago
Vlad Glagolev 22436f747d Add build options for optional dependencies 8 years ago
Bert Münnich ff2ce99bf7 Merge djhejna/floatdelay 8 years ago
Bert Münnich 9a85dd41d8 Ignore button and key events while key-handler is running
Related to issue #253, which originally asked for a non-blocking key-handler.
8 years ago