Bert Münnich
919ada1123
Align compile-time color options with X resource colors
...
Two colors are more than enough!
2019-01-23 21:21:15 +01:00
Bert Münnich
9d244da512
Simplify X resource retrieval
...
Also makes the color names in config.def.h constant again.
2019-01-23 20:13:25 +01:00
Bert Münnich
f7fc6637f3
Support X resource entries with Sxiv class name
2019-01-23 20:04:17 +01:00
Bert Münnich
e4fb084f26
Fix code style of merged code
2019-01-23 20:00:18 +01:00
Bert Münnich
b83d4fa1bf
Add rawtherapee entry to key-handler
2019-01-01 13:47:46 +01:00
Bert Münnich
71c5766d89
Copy to primary buffer and clipboard
...
The file names are separated with newlines in the primary and with spaces in
the clipboard.
2019-01-01 13:45:26 +01:00
Bert Münnich
04950162ea
Remove tags from image-info
2019-01-01 13:44:59 +01:00
Bert Münnich
2fb8a8d5fe
Remove tagging from key-handler
2018-12-31 15:16:25 +01:00
Bert Münnich
6a662ae5e0
Document undocumented "-" behavior
2018-12-29 19:03:34 +01:00
Bert Münnich
674f69f2c9
Fix file list indexes when deleting last image
...
Fixes issue #331
2018-12-29 18:51:14 +01:00
Bert Münnich
0bf3265430
Set window title only once at startup
...
Putting image info in the title predates the info bar; it no longer seems
necessary.
Fixes issue #318 .
2018-10-15 15:29:39 +02:00
Bert Münnich
971f5d6694
Revise Makefile
...
Use uppercase for externally defined macros and lowercase for macros defined in
the makefile.
Also simplify generation of version.h.
2018-10-11 13:41:45 +02:00
Bert Münnich
1613b42411
Simplify cg_mark_range further
2018-06-10 12:39:23 +02:00
Bert Münnich
1de5f06f83
Set global markidx whenever a single img is (un)marked
...
This also sets *markidx* when using the right mouse button in thumbnail mode.
2018-06-09 14:07:13 +02:00
Bert Münnich
5367b75867
(Un)mark thumbnails while holding Button3 down
2018-06-09 13:18:18 +02:00
Bert Münnich
87a1ace8a1
(Un)mark single image through generic function
2018-06-09 13:12:46 +02:00
Bert Münnich
1892ed9fd7
Simplify cg_mark_range
2018-06-09 12:17:03 +02:00
Bert Münnich
a1165df878
Rename variable toggledidx to markidx
2018-06-09 11:57:42 +02:00
Bert Münnich
1e5cc7e382
Fix cg_mark_range after removing images from file list
2018-06-09 11:55:20 +02:00
Bert Münnich
cc476be7cc
Remove unnecessary special cases in cg_mark_range
2018-06-09 11:52:48 +02:00
Bert Münnich
7efcf55a5f
Change default key-bindings of mark commands
...
*Shift-m* feels much more natural for *mark_range* and *Ctrl-u* is decent
enough for *unmark_all*.
2018-06-09 11:51:03 +02:00
Bert Münnich
8bf1adcd9a
New version scheme
...
VERSION string between releases is last release suffixed with '+'.
Additionally, use output of git-describe instead of VERSION string, if it is
not empty.
2018-06-09 11:33:30 +02:00
Bert Münnich
b78aaee9d7
Initialize window bar buffers to empty string
...
Fixes issue #308 .
2018-04-11 09:55:28 +02:00
Bert Münnich
09b04d7aef
Revise waiting for child processes
2018-02-18 14:51:46 +01:00
Bert Münnich
762420cdf1
Close image-info explicitly
2018-02-18 14:12:41 +01:00
Bert Münnich
4124857137
Skip imlib cache when reloading due to inotify event
2018-02-18 14:12:41 +01:00
Bert Münnich
48e0b70ad3
Ignore outdated inotify events
2018-02-18 14:12:41 +01:00
Bert Münnich
6d1e00627b
Do not limit fit-to-win to smallest zoom level
...
Related to issue #303
2018-01-22 10:48:56 +01:00
Bert Münnich
727939b3e6
Make zoomdiff compare impact on image dimensions
...
Before that zoomdiff was a merely heuristic.
Related to issue #303
2018-01-22 10:37:10 +01:00
Bert Münnich
4c294011a9
Use float for ox/oy compare values
...
Fixes issue #302
2018-01-22 10:18:32 +01:00
Bert Münnich
8017b75de4
Refactoring
2018-01-09 19:37:56 +01:00
Bert Münnich
8a9e3ea43e
Separate bar fields only by spaces
2017-12-07 21:44:59 +01:00
Bert Münnich
e63843d369
Simplify drawing of bar text
...
Non-fitting text is truncated by simply cutting it off.
win_textwidth() has been replaced by a simple macro wrapper around
win_draw_text() with a maximum width of zero, which results in a dry-run that
still calculates the number of pixels used by the text, much like snprintf(3)
with a buffer length of zero.
2017-12-07 21:29:44 +01:00
Bert Münnich
3c7d6f3528
Replace utf8codepoint with Chris Wellons' utf8_decode
...
Code under a different license should be kept in a separate file. This
implemention is a single header file with ~65 lines, so it better fits this
requirement.
2017-12-07 21:19:53 +01:00
Bert Münnich
69b2d3cafd
win_textwidth is no longer needed outside window.c
2017-12-07 14:19:35 +01:00
Bert Münnich
30e2356622
Remove obsolete files[].base
2017-12-07 14:16:32 +01:00
Bert Münnich
004fcd5c5b
Left bar shows file name as given by user
2017-12-07 14:08:37 +01:00
Bert Münnich
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
Bert Münnich
9dabc5f988
Stable version 24
2017-10-27 17:25:56 +02:00
Bert Münnich
64b885b6a9
Fix navigating from last to previous image over invalid files
2017-10-26 22:20:39 +02:00
Bert Münnich
2d34c4b9bf
Set LC_COLLATE for -r file list sorting
...
Fixes issue #293 .
2017-10-24 21:43:36 +02:00
Bert Münnich
96445c3268
List objs in Makefile not srcs
2017-10-23 10:28:28 +02:00
Bert Münnich
79bcc2ba4a
Make clean removes all object files
2017-10-23 10:27:14 +02:00
Bert Münnich
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
Bert Münnich
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
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