aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-23Simplify hex color parserDmitrij D. Czarkoff
It is actually a trivial task for strtoul + some bit shifting, so there is no need for two separate functions.
2016-10-22Release v2.1.3Harry Jeffery
2016-10-22Enable testsDmitrij D. Czarkoff
Once cmocka is built, it is cached, so that subsequent builds only need to install it and update linker configuration.
2016-10-21Fix leak of images awaiting collection in loaderHarry Jeffery
2016-10-21Rework thread resource leakHarry Jeffery
2016-10-20Cap playback delta-time to 100 msHarry Jeffery
This prevents imv from trying to "catch up" on the time that it was asleep for by playing the gif back at high speed.
2016-10-09Be more correct in read_from_stdin()Dmitrij D. Czarkoff
From read(2) manual page on OpenBSD: Error checks should explicitly test for -1. Code such as while ((nr = read(fd, buf, sizeof(buf))) > 0) is not maximally portable, as some platforms allow for nbytes to range between SSIZE_MAX and SIZE_MAX - 2, in which case the return value of an error-free read() may appear as a negative number distinct from -1. Proper loops should use while ((nr = read(fd, buf, sizeof(buf))) != -1 && nr != 0) Distingushing between error and eof would also help for debugging.
2016-09-28Fix thread resource leak in loaderHarry Jeffery
2016-09-27Fix minor memory leak in load_font()Harry Jeffery
2016-09-27Fix GetWidth/GetHeight typo in main.cHarry Jeffery
2016-05-27Merge pull request #96 from gktrk/test-linking-fixHarry Jeffery
Fix the linking order of tests in the Makefile for --as-needed
2016-05-25Fix the linking order of tests in the Makefile for --as-neededGöktürk Yüksek
When '--as-needed' linker flag is added to LDFLAGS, linker strips out the symbols from the libraries needed for the tests due to the order in which the libraries appear on the command line. List the source files before the libraries to fix the linking issue. For more information, see: https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed#Importance_of_linking_order Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
2016-05-15Release v2.1.2Harry Jeffery
2016-05-13Fix build of imv on GNU libcDmitrij D. Czarkoff
Previously imv used -std=gnu11 flag which activated GNU "extensions" of C11 standard. This masked a portability issue in imv: strduo(3) should not have been visible in `src/loader.c` without inclusion of `<string.h>` header. This have been fixed. To remidy GNU libc's stange choice to hide X/Open interfaces in C99 code by default _XOPEN_SOURCE macro was also set. (This should have no effect on most other platforms.)
2016-05-13Remove "-std=gnu11" from .travis.ymlDmitrij D. Czarkoff
This reverts commit 9e3db8bdaad7d7752b24df5d9832b980a21f4496. The effort was futile.
2016-05-13Continue to use -std=gnu11 for TravisDmitrij D. Czarkoff
This way we may continue using strict flags for detecting issues while still allowing old compiler versions elsewhere.
2016-05-13Release v2.1.1Dmitrij D. Czarkoff
2016-05-12Fix compatibility with older gcc versionsDmitrij D. Czarkoff
2016-05-01Make imv_navigator_add() return an integer valueDmitrij D. Czarkoff
In case of error return non-zero value instead of cleaning up navigator. This way main loop may do some more cleanup, or maybe even act differently.
2016-05-01Remove buf_size from struct imv_navigatorDmitrij D. Czarkoff
Implementation details should not leak to other parts of the code. While at it, clean up initialization and destruction of navigator.
2016-04-29Fix uninitialized use of "last_time"Dmitrij D. Czarkoff
Set "last_time" to current time at declaration time, so that it holds at least something by the time it is used.
2016-04-29Remember files' modification times, not their directories'Dmitrij D. Czarkoff
2016-04-29Use single buffer for title and overlayDmitrij D. Czarkoff
This allows to drop extra printing steps and memory allocations.
2016-04-27Release v2.1.0Harry Jeffery
2016-04-26Reimplement '-x' flagDmitrij D. Czarkoff
This change effectively backs out f1737ddd06141afbe99f37af3b5c2d0f1df5fe7a, implementing the same functionality in a simpler and more correct way. Implementation details: * imv_navigator.wrapped - a new field that has value "0" by default; once navigator wraps around the list, this field recieves value "1". * imv_navigator_wrapped(&nav) - a new function that returns non-zero value iff navigator wrapped around the list. Currently just returns value of imv_navigator.wrapped. While at it, expanded "test_navigator_remove" and merged it with "test_navigator_add". Resulting test is called "test_navigator_add_remove". Fixes #94.
2016-04-26Fix segmentation violationDmitrij D. Czarkoff
When non-cycling mode prevents navigator from wrapping to the other end of list, undo change to nav->cur_path. Otherwise it will remain out-of-bounds, so that subsequent calls to navigator functions may produce unexpected results, up to segmentation violation. Fixes #93
2016-04-26Testcase for removal from navigatorDmitrij D. Czarkoff
Test that removing items leads to predictable results. Right now test is fairly incomplete, because it does not cover moving in reversed direction.
2016-04-26Fix reporting image changeDmitrij D. Czarkoff
Apparently bg_next_frame() functions marked first frames of gifs old before imv_loader_get_image() had a chance to report them to the main loop. Move unsetting of ldr->out_is_new_image to imv_loader_get_image(). Fixes #81.
2016-04-26Indent fixDmitrij D. Czarkoff
2016-04-26Add vim modelinesDmitrij D. Czarkoff
2016-04-26Conditionally ignore key repeatDmitrij D. Czarkoff
For the following actions: * reset scaling ('s'), * redraw ('r'), * scale to actual size ('a'), * center image ('c'), * remove selection ('x'), * toggle fullscreen ('f'), * toggle playing (space), * print selection ('p'), * toggle overlay ('d') repeating action when key is held does not make sense. After acting upon these events ignore them until key is released or another key is pressed.
2016-04-25Include git commit hash in version numberDmitrij D. Czarkoff
When operating in git repo, build system will include abbreviated git hash in imv version number. If there is no git repo around (eg. building from tarball), fall back to version number in Makefile. Fixes #90
2016-04-25Merge pull request #89 from czarkoff/plusHarry Jeffery
Make '+' work on all layouts
2016-04-25Make '+' work on all layoutsDmitrij D. Czarkoff
Key handling code obuses the fact that plus sign is shifted key for equals sign on US keyboard. Add '+' as a control for layouts where this is not the case.
2016-04-23Merge pull request #86 from ShanaXXII/masterHarry Jeffery
fixed comment typo in loader.h
2016-04-22fixed comment typo in loader.hShanaXXII
2016-04-03Merge pull request #85 from whatevsz/wip-cycleHarry Jeffery
Add -x switch to exit imv when reaching end of file list.
2016-04-02Add -x switch to exit imv when reaching end of file list.Hannes Koerber
2016-03-08Merge pull request #83 from czarkoff/rapid_fireHarry Jeffery
Read file list from standard input continuosly
2016-03-06Forgot "imv" in exampleDmitrij D. Czarkoff
2016-03-06Note command for viewing images from the webDmitrij D. Czarkoff
2016-03-06Read file list from standard input continuoslyDmitrij D. Czarkoff
This reduces delay before initial draw in case of slow input, opening possibilities for use cases like: $ curl -Osw "%{filename_effective}\n" "http://www.example.com/[1-10].jpg" which will download all images and start showing them once first arrives.
2016-02-25Merge pull request #82 from czarkoff/exifHarry Jeffery
Use Exif rotation for JPEG images
2016-02-25Remove duplicated "-g" flagDmitrij D. Czarkoff
2016-02-21Honour EXIF orientation tagDmitrij D. Czarkoff
2016-02-21Add test to check for EXIF rotation of JPEG imagesDmitrij D. Czarkoff
2016-02-21Fix "check" targetDmitrij D. Czarkoff
for i in "..."; do ...; done ideom guarantees single iteration with $i set to everything between "in" and ';'.
2016-02-21Force "-g" flag for testsDmitrij D. Czarkoff
2016-02-08Release imv v2.0.0Harry Jeffery
2016-02-08Remove tabsHarry Jeffery