aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix a potential uninitialized variableHyleus2018-01-091-2/+5
|
* Fix autoreload-nop accidentally selecting on stdinLeonardo Taccari2017-12-131-1/+1
| | | | | | | | When sxiv is built with AUTORELOAD=nop if something is feed via stdin it will start to infinitely call select() leading to a 100% CPU usage. Thanks to @sdx23 for helping in analyzing that problem! Fixes issue #297.
* Separate bar fields only by spacesBert Münnich2017-12-072-6/+8
|
* Simplify drawing of bar textBert Münnich2017-12-071-53/+34
| | | | | | | | | 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.
* Replace utf8codepoint with Chris Wellons' utf8_decodeBert Münnich2017-12-074-34/+75
| | | | | | 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.
* win_textwidth is no longer needed outside window.cBert Münnich2017-12-072-12/+8
|
* Remove obsolete files[].baseBert Münnich2017-12-072-6/+0
|
* Left bar shows file name as given by userBert Münnich2017-12-072-20/+6
|
* Try to match a fallback font if neededSquibby2017-12-065-10/+75
| | | | | | | | | | | | | | 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.
* Reject text files resembling TGA imagesBert Münnich2017-11-233-18/+26
| | | | | | | | | | | | | | | | | | | 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.
* Stable version 24Bert Münnich2017-10-272-2/+12
|
* Fix navigating from last to previous image over invalid filesBert Münnich2017-10-262-4/+5
|
* Set LC_COLLATE for -r file list sortingBert Münnich2017-10-242-1/+4
| | | | Fixes issue #293.
* List objs in Makefile not srcsBert Münnich2017-10-231-3/+2
|
* Make clean removes all object filesBert Münnich2017-10-231-2/+2
|
* Always take {C,CPP,LD}FLAGS from environmentBert Münnich2017-10-221-9/+9
| | | | Our own default values go into accompanying macros prefixed with DEF_.
* Back to VPATH for out-of-source buildsBert Münnich2017-10-191-6/+4
| | | | | OpenBSD make supports VPATH but not pattern rules. Everything in the new Makefile should work no matter what make program is used.
* Addendum to 1ace4fb0Bert Münnich2017-10-191-3/+1
|
* No more automatic dependency trackingBert Münnich2017-10-161-7/+3
| | | | | The new Makefile should work with the make programs shipped with FreeBSD, NetBSD and OpenBSD.
* No more config.mkBert Münnich2017-10-161-2/+0
|
* Small refinements in MakefileBert Münnich2017-10-161-4/+4
|
* One header file for type definitions and function declarationsBert Münnich2017-10-1618-687/+483
|
* Fix dep file include in MakefileBert Münnich2017-10-161-1/+1
|
* Zoom into mouse cursor positionBert Münnich2017-10-162-3/+10
|
* Much more portable MakefileBert Münnich2017-10-122-48/+57
| | | | | | | | | | | | | | | | | | | | 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
* Always include non-configurable part of CPPFLAGSBert Münnich2017-10-081-1/+1
|
* Move DEPFLAGS from Makefile to config.mkBert Münnich2017-10-082-1/+1
|
* Mention GNU make requirement in MakefileBert Münnich2017-10-081-0/+2
|
* Get rid of SRCDIR macro, VPATH on make cmd line sufficesBert Münnich2017-10-082-6/+2
|
* Add missing description for Button3 to man pageBert Münnich2017-10-061-0/+2
|
* Improve mouse supportBert Münnich2017-10-068-34/+52
| | | | | | | | | | | | 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.
* Simplify cursor reset in image modeBert Münnich2017-10-052-3/+3
| | | | | No need to give cursor name. reset_cursor() is now the only place to decide what cursor to fall back to.
* Own win method for mouse cursor locationBert Münnich2017-10-053-6/+16
|
* Simplify cursor handlingBert Münnich2017-10-053-32/+25
|
* Mouse drag translates pointer position to image areaBert Münnich2017-10-047-64/+40
| | | | This makes mouse panning more direct and faster.
* Fix linker command lineBert Münnich2017-09-111-1/+1
|
* Only use targets in build messagesBert Münnich2017-09-111-1/+1
|
* Add -p flag to disable writing of cache and temporary filesAntti Korpi2017-09-084-4/+16
| | | | Closes #285.
* Move special targets to bottom of MakefileBert Münnich2017-09-081-7/+6
|
* Non-verbose buildBert Münnich2017-09-081-0/+12
| | | | Verbose when build with `V=1'.
* Support out-of-source buildsBert Münnich2017-09-082-2/+6
| | | | | 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.
* Simplify config.mkBert Münnich2017-09-082-16/+21
|
* Move configuration parts from Makefile into config.mkBert Münnich2017-09-062-26/+28
|
* Make pan fraction configurablejcalve2017-09-062-3/+6
|
* Add Max Voit to list of contributorsBert Münnich2017-09-061-0/+1
|
* Add key-handler action to copy image to clipboardBert Münnich2017-09-021-1/+2
| | | | | | | | | 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
* Adapt inotify_nop to API changesBert Münnich2017-05-171-9/+8
|
* Update copyright notice in autoreload_inotify.cBert Münnich2017-05-171-1/+1
|
* Merge branch 'autoreload'Bert Münnich2017-05-175-3/+219
|\ | | | | | | | | | | Pull request #278. Fixes issue #29 and issue #199.
| * Detect all file overwrites in autoreload_inotifyBert Münnich2017-05-173-72/+51
| | | | | | | | | | | | | | | | | | | | | | | | 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.