aboutsummaryrefslogtreecommitdiff
path: root/main.c
Commit message (Collapse)AuthorAgeFilesLines
* Detect all file overwrites in autoreload_inotifyBert Münnich2017-05-171-1/+1
| | | | | | | | | | | | 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.
* Revised autoreload interfaceBert Münnich2017-05-171-11/+20
| | | | | | | | | | | | 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.
* Add autoreload support by inotify (and dummy backend nop)Max Voit2017-05-171-1/+12
|
* Properly quit when window gets closed; fixes issue #27Bert Münnich2017-05-171-1/+1
|
* Fix typoJakub Wilk2017-02-151-1/+1
|
* Pass given file names to key-handler instead of real pathsBert Münnich2017-01-071-1/+1
| | | | | | | 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.
* Merge djhejna/floatdelayBert Münnich2016-12-011-3/+7
|\
| * Support for DELAY as a floating point number including less than 1Don Hejna2016-11-271-1/+1
| | | | | | | | | | second while maintaining backward compatibiitiy with integer arguments.
* | Ignore button and key events while key-handler is runningBert Münnich2016-11-301-0/+9
|/ | | | Related to issue #253, which originally asked for a non-blocking key-handler.
* Allow opening directories non-recursivelyParide Legovini2016-09-281-5/+1
|
* Use Xft for font loading and text drawingBert Münnich2016-08-061-2/+2
|
* Provide image width and height to image-info script; fixes issue #159Bert Münnich2016-08-061-1/+4
|
* Revised error handlingBert Münnich2015-10-281-57/+44
| | | | | | | - 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)
* Prefix safe allocation functions with 'e' instead of 's_'Bert Münnich2015-10-281-5/+5
|
* Removed unnecessary buffer size constantsBert Münnich2015-10-281-7/+2
|
* Use XSI realpath(3)Bert Münnich2015-10-281-15/+0
|
* Use POSIX.1-2008 getline(3)Bert Münnich2015-10-281-4/+5
|
* Removed feature test macro definitions from source filesBert Münnich2015-10-281-3/+2
|
* Removed overcautious parameter checksBert Münnich2015-10-281-8/+3
|
* Always run image-info script after key-handler in image mode; fixes issue #213Bert Münnich2015-08-191-3/+3
|
* Pass real paths to key handler instead of the paths provided by the userBert Münnich2015-01-181-1/+1
| | | | | Programs called by the key handler might replace symlinks instead of their targets.
* Cache out of view thumbnails in the backgroundBert Münnich2015-01-041-9/+15
|
* Use bit-field for boolean flags in fileinfo structBert Münnich2015-01-041-11/+14
|
* Ignore SIGPIPE, caused by key handler exiting before all files got printed, ↵Bert Münnich2014-12-011-0/+2
| | | | fixes issue #188
* Pass file paths to key handler via stdin; fixes issue #187Bert Münnich2014-11-271-37/+48
|
* Fixed leakage of pipe descriptors in case of failing forkBert Münnich2014-11-271-8/+10
|
* Do not print could-not-open-warnings for files found by directory traversalBert Münnich2014-10-241-7/+8
|
* Corrected & refactored handling of window bar content...Bert Münnich2014-10-011-27/+39
| | | | Old snprintf calls could have overflowed the buffers.
* Fixed segfault on image removal with uninitialized thumbnails; fixes issue #177Bert Münnich2014-10-011-5/+6
|
* Unified file count variable for image & thumbnail modeBert Münnich2014-09-301-10/+7
|
* Changed image mark in thumbnail view to small rectangleBert Münnich2014-09-271-1/+1
|
* Refactored main loop; properly fixes startup issueBert Münnich2014-09-261-32/+27
|
* Fixed startup in thumbnail mode with floating windowBert Münnich2014-09-261-3/+5
|
* Revised thumbnail loading...Bert Münnich2014-09-261-20/+13
| | | | | | | - Only load the thumbnails that are currently visible in the window - Unload thumbnails that are leaving the visible area - Much less memory needed, but scrolling is now slower - This also unintentionally fixes issue #86
* Fixed segfault caused by image removal in thumbnail modeBert Münnich2014-09-111-1/+1
|
* Simplified img_frame_animateBert Münnich2014-09-011-1/+1
|
* Corrected i_alternate, fixes issue #171Bert Münnich2014-08-291-3/+5
|
* Bug #165: Deletion of unnecessary null pointer checksMarkus Elfring2014-08-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function "free" performs input parameter validation. http://pubs.opengroup.org/onlinepubs/9699919799/functions/free.html It is therefore not needed to check a passed pointer before this function call. A corresponding update suggestion was generated by the software "Coccinelle" from the following semantic patch approach. http://coccinelle.lip6.fr/ @Remove_unnecessary_pointer_checks1@ expression x; @@ -if (x != \(0 \| NULL\)) free(x); @Remove_unnecessary_pointer_checks2@ expression x; @@ -if (x != \(0 \| NULL\)) { free(x); x = \(0 \| NULL\); -} @Remove_unnecessary_pointer_checks3@ expression a, b; @@ -if (a != \(0 \| NULL\) && b != \(0 \| NULL\)) +if (a) free(b); @Remove_unnecessary_pointer_checks4@ expression a, b; @@ -if (a != \(0 \| NULL\) && b != \(0 \| NULL\)) { +if (a) { free(b); b = \(0 \| NULL\); } Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
* Further simplified thumbnail marksBert Münnich2014-08-181-1/+1
|
* Full redraw when removing files during thumbnail reloading; fixes issue #164Bert Münnich2014-08-171-0/+2
|
* Fixed wrong thumbnail-to-file mappings caused by file deletionsBert Münnich2014-08-161-4/+4
|
* Pass marked files to external key handler in thumbnail mode; fixes issue #135Bert Münnich2014-08-161-32/+49
|
* Count number of marked filesBert Münnich2014-08-161-0/+4
|
* Unified file index variable for image & thumbnail modeBert Münnich2014-08-161-26/+22
|
* Generalized thumbnail loading, allows easier reloading of thumbnails later onBert Münnich2014-08-161-8/+11
|
* Overhauled window drawing, yet again; fixes issue #155Bert Münnich2014-07-281-7/+5
| | | | | | | | - Buffer for window content is bigger than the window, minimizes artifacts when window is resized - Back to using XSetWindowBackgroundPixmap() instead of XCopyArea(), no need to handle exposure events; X server can show gray background directly after resize event before sxiv redraws the window contents
* Added support for multiple commands per key/button mapping; elegant fix for ↵Bert Münnich2014-07-231-4/+8
| | | | issue #150
* Revised command structure and key and mouse button mappingsBert Münnich2014-07-231-12/+6
|
* Show key handler status in bar while it is runningBert Münnich2014-06-151-7/+17
|
* Timeout initial redrawMiroslav Koskar2014-05-241-1/+1
|