Commit Graph
100 Commits
Author SHA1 Message Date
Bert Münnich d2b3a18d60 Addendum to 1ace4fb0 2017-10-19 13:02:08 +02:00
Bert Münnich 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
Bert Münnich 24cf812bb2 No more config.mk 2017-10-16 21:16:05 +02:00
Bert Münnich 2cf9cfc700 Small refinements in Makefile 2017-10-16 21:15:38 +02:00
Bert Münnich 148026007c One header file for type definitions and function declarations 2017-10-16 21:10:35 +02:00
Bert Münnich 4af189e7d9 Fix dep file include in Makefile 2017-10-16 15:07:03 +02:00
Bert Münnich a5403178e3 Zoom into mouse cursor position 2017-10-16 10:56:53 +02:00
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
2017-10-12 11:00:24 +02:00
Bert Münnich 6beb8b4d71 Always include non-configurable part of CPPFLAGS 2017-10-08 22:03:05 +02:00
Bert Münnich e3b68efadd Move DEPFLAGS from Makefile to config.mk 2017-10-08 22:02:29 +02:00
Bert Münnich 33b5dbfa82 Mention GNU make requirement in Makefile 2017-10-08 20:24:15 +02:00
Bert Münnich 171633de32 Get rid of SRCDIR macro, VPATH on make cmd line suffices 2017-10-08 20:23:16 +02:00
Bert Münnich 2bf8f2ac42 Add missing description for Button3 to man page 2017-10-06 10:26:15 +02:00
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.
2017-10-06 10:15:43 +02:00
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.
2017-10-05 13:49:11 +02:00
Bert Münnich d81442f55d Own win method for mouse cursor location 2017-10-05 13:47:02 +02:00
Bert Münnich b8fd923e74 Simplify cursor handling 2017-10-05 12:30:31 +02:00
Bert Münnich 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
Bert Münnich 9b6acc781e Fix linker command line 2017-09-11 17:09:26 +02:00
Bert Münnich 5b5dc74195 Only use targets in build messages 2017-09-11 17:08:38 +02:00
Bert Münnich 20009c240b Move special targets to bottom of Makefile 2017-09-08 21:15:59 +02:00
Bert Münnich a1b2fd2774 Non-verbose build
Verbose when build with `V=1'.
2017-09-08 16:51:47 +02:00
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.
2017-09-08 16:20:05 +02:00
Bert Münnich e46b1fa609 Simplify config.mk 2017-09-08 16:03:05 +02:00
Bert Münnich ad9955a9cf Move configuration parts from Makefile into config.mk 2017-09-06 20:12:09 +02:00
Bert Münnich 30e9ec8970 Add Max Voit to list of contributors 2017-09-06 19:28:50 +02:00
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
2017-09-02 22:19:00 +02:00
Bert Münnich 52c57f5d61 Adapt inotify_nop to API changes 2017-05-17 20:39:30 +02:00
Bert Münnich c027122c5f Update copyright notice in autoreload_inotify.c 2017-05-17 20:38:34 +02:00
Bert Münnich caec32d257 Merge branch 'autoreload'
Pull request #278.

Fixes issue #29 and issue #199.
2017-05-17 20:22:23 +02:00
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.
2017-05-17 20:20:39 +02:00
Bert Münnich de3d7827ce Compiler independent buffer alignment 2017-05-17 20:15:35 +02:00
Bert Münnich 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
Bert Münnich 6695cd4c34 Simplify inotify cleanup 2017-05-17 20:14:20 +02:00
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().
2017-05-17 20:13:32 +02:00
Bert Münnich 9ac8fc62df Fix code-style in autoreload_inotify.c 2017-05-17 20:12:22 +02:00
Bert Münnich 8aaa5c9398 Simplify autoreload backend selection in Makefile 2017-05-17 20:11:44 +02:00
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.
2017-05-17 20:07:32 +02:00
Bert Münnich 1fb3ec576c Properly quit when window gets closed; fixes issue #27 2017-05-17 15:51:47 +02:00
Bert Münnich e98266b148 State the purpose of CLEANUP macro 2017-05-17 15:51:11 +02:00
Bert Münnich 7e9b4cee92 Merge branch 'diogocp/patch-1' 2017-02-15 20:47:21 +01:00
Bert Münnich ba4b84a8b1 Fix missing quote in key-handler from commit 5c607ad 2017-02-13 11:20:58 +01:00
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.
2017-01-07 14:44:33 +01:00
Bert Münnich 1c260e701b Fix unused-variable warnings in conditionally compiled code 2016-12-28 19:18:16 +01:00
Bert Münnich 5fb5d44cff Merge vaygr/opt-dep 2016-12-28 19:18:16 +01:00
Bert Münnich ff2ce99bf7 Merge djhejna/floatdelay 2016-12-01 21:18:41 +01:00
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.
2016-11-30 20:48:32 +01:00
Bert Münnich c1ba841783 Merge dwminer/framerate 2016-11-28 19:10:31 +01:00
Bert Münnich 32b29e61c1 Document new -e flag 2016-10-30 19:24:55 +01:00
Bert Münnich c772d3c3f3 Use -e for X window embedding 2016-10-30 19:16:51 +01:00
Bert Münnich 878d97068c Only open regular files; fixes issue #252 2016-10-20 10:21:55 +02:00
Bert Münnich 891f389f0e Silence error messages in image-info script 2016-10-17 20:29:11 +02:00
Bert Münnich d69f39e3aa Update unstable version number 2016-08-10 21:13:14 +02:00
Bert Münnich 184d21035d Add TODO list 2016-08-08 09:34:37 +02:00
Bert Münnich c280129cef Use Xft for font loading and text drawing 2016-08-06 15:27:58 +02:00
Bert Münnich aabc2bddbd Provide image width and height to image-info script; fixes issue #159 2016-08-06 12:22:47 +02:00
Bert Münnich f32771a647 Removed usage information from README, refer to man page 2016-02-12 20:18:54 +01:00
Bert Münnich 160dd62953 Refined grouping of key/mouse mappings in man page 2016-02-12 20:13:43 +01:00
Bert Münnich 53a72c7b65 Fix option -q; commit d3a70a2 completely broke it; fixes issue #223 2015-12-28 17:00:21 +01:00
Bert Münnich f75fa78eca Make navigate_frame command respect a count prefix 2015-12-26 15:24:08 +01:00
Bert Münnich 4db3029bc6 Fix 32-bit unsigned integer shift 2015-12-26 10:14:35 +01:00
Bert Münnich 93e2d03c73 Stable version 1.3.2 2015-12-20 13:21:25 +01:00
Bert Münnich de4649fc28 Build-time option for default thumbnail size; fixes issue #207 2015-12-20 13:10:39 +01:00
Bert Münnich a7d39b0ab8 Simplified r_mkdir() 2015-10-28 23:21:12 +01:00
Bert Münnich d3a70a285d Revised error handling
- Functions warn() and die() replaced by GNU-like error(3) function
- Register cleanup() with atexit(3)
- Functions called by cleanup() are marked with CLEANUP and are not allowed to
  call exit(3)
2015-10-28 23:03:37 +01:00
Bert Münnich 851e4288c1 Prefix safe allocation functions with 'e' instead of 's_' 2015-10-28 22:29:01 +01:00
Bert Münnich b096cbd536 Removed unnecessary buffer size constants 2015-10-28 22:23:28 +01:00
Bert Münnich 9a7e97cd89 Use XSI realpath(3) 2015-10-28 21:52:41 +01:00
Bert Münnich 66c3c55759 Use POSIX.1-2008 getline(3) 2015-10-28 21:50:17 +01:00
Bert Münnich e574a6d0dd Removed feature test macro definitions from source files 2015-10-28 21:37:45 +01:00
Bert Münnich e0e96977b3 Removed overcautious parameter checks 2015-10-28 21:01:24 +01:00
Bert Münnich a3838c1984 Always run image-info script after key-handler in image mode; fixes issue #213 2015-08-19 21:29:39 +02:00
Bert Münnich d8114e841c Thumbnail cache file format depending on existance of alpha layer
Use PNG if image has alpha layer, JPG if not. Fixes issue #209
2015-07-22 21:08:00 +02:00
Bert Münnich 9264a65c19 Clarified comments in key-handler, fixes issue #206 2015-05-18 19:10:07 +02:00
Bert Münnich 01ed483b50 Round integer cast of image offset during rendering; fixes issue #197 2015-02-06 08:52:44 +01:00
Bert Münnich 92e3b57816 Pass real paths to key handler instead of the paths provided by the user
Programs called by the key handler might replace symlinks instead of their
targets.
2015-01-18 11:28:21 +01:00
Bert Münnich 5dc7993478 Simplified command arguments 2015-01-11 11:39:38 +01:00
Bert Münnich 808a10ed04 Updated documentation regarding gamma correction 2015-01-07 08:43:54 +01:00
Bert Münnich 47e6cd0669 Apply gamma value on thumbnails too; fixes issue #193 2015-01-05 20:53:04 +01:00
Bert Münnich 47af0dd7b5 Cache out of view thumbnails in the background 2015-01-04 21:24:43 +01:00
Bert Münnich 9b9294bae6 Use bit-field for boolean flags in fileinfo struct 2015-01-04 21:24:43 +01:00
Bert Münnich 216ad81b59 Pass file paths to key handler via stdin; fixes issue #187 2014-11-27 22:37:20 +01:00
Bert Münnich 51854c6148 Fixed leakage of pipe descriptors in case of failing fork 2014-11-27 22:25:27 +01:00
Bert Münnich ed030fe4d3 Enforced thumbnail reloading after key handler 2014-11-27 22:24:18 +01:00
Bert Münnich 728a2d931f Limit thumbnail selection border width to 4px 2014-11-27 22:23:14 +01:00
Bert Münnich 1439b84544 Stable version 1.3.1 2014-11-16 21:38:30 +01:00
Bert Münnich 54af451b4a Added -MP dependency generation option to compile flags 2014-11-14 18:12:18 +01:00
Bert Münnich f55d9f4283 Use and depend on GNU make...
- Use non-POSIX :=,?=,+= macro assignments, fixes issue #97
- No optimization level set in CFLAGS, expected to be set in environment
- Automatic header dependency tracking with one .d file per compilation unit
- Better fix for issue #181
2014-11-02 22:42:59 +01:00
Bert Münnich 6cee58117a Updated unstable version number 2014-11-02 11:50:36 +01:00
Bert Münnich d154b9826f Do not cache thumbnails, which are smaller than the maximum size 2014-10-31 10:41:33 +01:00
Bert Münnich eb5feb4585 Discard cached & EXIF thumbnails, which are smaller than the configured maximum size 2014-10-31 10:41:30 +01:00
Bert Münnich f5f49e7a9d Fixed leakage of resources allocated by EXIF library 2014-10-31 10:37:35 +01:00
Bert Münnich 25077ac764 Fixed segfault when run with -c 2014-10-29 14:20:54 +01:00
Bert Münnich c038283286 Stable version 1.3 2014-10-24 12:25:18 +02:00
Bert Münnich 93e2a757d4 Do not print could-not-open-warnings for files found by directory traversal 2014-10-24 11:14:01 +02:00
Bert Münnich e15dabde74 Use depend file for header build dependencies 2014-10-24 10:50:14 +02:00
Bert Münnich c33f2ad355 Corrected & refactored handling of window bar content...
Old snprintf calls could have overflowed the buffers.
2014-10-01 22:35:22 +02:00
Bert Münnich 8db3191f04 Fixed segfault on image removal with uninitialized thumbnails; fixes issue #177 2014-10-01 20:25:36 +02:00
Bert Münnich ddd028eb3e Unified file count variable for image & thumbnail mode 2014-09-30 21:54:17 +02:00
Bert Münnich b4096c59e4 Set JPEG quality for thumbnail cache files 2014-09-29 14:06:24 +02:00