Commit graph

475 commits

Author SHA1 Message Date
Harry Jeffery eb0b93b8e2 check_stdin_for_paths shouldn't be public 2017-06-06 20:35:43 +01:00
Harry Jeffery eff4ee3fb3 Switch to new implementation 2017-06-06 20:31:33 +01:00
Harry Jeffery 508e634471 Load paths from command line args 2017-06-06 20:14:59 +01:00
Harry Jeffery 973fe152b5 Fix animated gif / slideshow support 2017-06-06 20:08:46 +01:00
Harry Jeffery 2fbe6678c2 Don't mix ints and bools 2017-06-06 20:02:14 +01:00
Harry Jeffery 9dc4908ea4 Fix redraw on viewport update 2017-06-06 20:00:42 +01:00
Harry Jeffery 6c7e4b9c03 Load paths from stdin 2017-06-06 19:53:08 +01:00
Harry Jeffery 625a1c14db Add basic commands to refactor 2017-04-18 18:04:52 +01:00
Harry Jeffery 06b1620c1a Rough initial implementation of imv_run 2017-04-18 17:54:06 +01:00
Harry Jeffery 2df9da145a Implement imv_add_path 2017-04-18 17:53:20 +01:00
Harry Jeffery 202a2c8c8a Fix font_name crash 2017-04-18 17:53:12 +01:00
Harry Jeffery c67d1b529c Fix crash in imv_loader_free 2017-04-18 17:36:43 +01:00
Harry Jeffery 8d5166d69f Add window set-up logic 2017-04-18 17:24:08 +01:00
Harry Jeffery f16141f184 Start work on refactored imv 2017-04-18 17:08:30 +01:00
Harry Jeffery 0357d51086 Fix compiler warning 2017-04-15 16:40:53 +01:00
Harry Jeffery a6bb8ad100 Let commands take an arbitrary pointer 2017-04-15 10:58:31 +01:00
Harry Jeffery ec0923e5cf Fix command text input 2017-04-14 23:49:43 +01:00
Harry Jeffery b2fc7c3978 Minor clean up of main.c 2017-04-14 23:38:08 +01:00
Harry Jeffery 3900415f5b Move parse_args to end of main.c 2017-04-14 22:58:36 +01:00
Harry Jeffery a461d4f26f Move some globals back to locals 2017-04-14 22:55:54 +01:00
Harry Jeffery c5c4091524 Move rendering into its own function 2017-04-14 22:44:57 +01:00
Harry Jeffery f085f13f42 Refactor navigator poll rate limiting 2017-04-14 22:34:36 +01:00
Harry Jeffery cccb00ec0f Move event handling into its own function 2017-04-14 22:12:33 +01:00
Harry Jeffery 4fde6ea289 Refactor navigator to new style 2017-04-14 17:10:23 +01:00
Harry Jeffery e352474df0 Refactor viewport to new style 2017-04-14 17:02:28 +01:00
Harry Jeffery b9dd2cbc01 Refactor texture to new style 2017-04-14 16:56:06 +01:00
Harry Jeffery 5a8932cb21 Refactor loader to new style 2017-04-14 16:49:17 +01:00
Harry Jeffery 50759fb279 Let's not have imv_commands use hidden globals 2017-04-14 16:44:07 +01:00
Harry Jeffery 93f68f6b4c Add some aliases 2017-04-14 16:23:58 +01:00
Harry Jeffery b46385618e Add basic alias support 2017-04-14 16:23:50 +01:00
Harry Jeffery 83959687ad Add a rough command mode 2017-04-14 16:17:21 +01:00
Harry Jeffery 66e6f2edc4 Move basic functionality into commands 2017-04-12 23:10:58 +01:00
Harry Jeffery ad33be42c0 Add basic command system 2017-04-12 23:10:58 +01:00
Harry Jeffery 1ce11b6307 Add generic list container 2017-04-12 23:09:13 +01:00
Harry Jeffery cee36733b5 Merge pull request #104 from alkino/master
Add command 'X' to remove image from disk too
2017-03-08 21:16:30 +00:00
Nicolas Cornu ffffb53a1d Add command 'X' to remove image from disk too 2017-03-06 16:46:33 +01:00
Mark Oteiza f489b0363b Show image scale in window title 2017-02-09 20:29:41 +00:00
Harry Jeffery 9bf10aabad Merge pull request #100 from crasm/master
Store getopt() return in a signed variable
2016-12-28 10:39:12 +00:00
crasm 7b050c0184 Store getopt() return in a signed variable
On certain platforms [0] a char may be unsigned [1]. The loop for
getopt would loop forever because:

     (char)-1 => 255 and 255 != -1

A signed char also worked. I don't know what that would mean for
performance or portability. int feels simpler to me.

[0]: I'm using Arch Linux ARM on the Samsung Chromebook 2, which is
     armv7h. Not sure about other ARM platforms. With this fix, imv
     appears to work correctly.

     details: https://archlinuxarm.org/platforms/armv7/samsung/samsung-chromebook-2

[1]: http://stackoverflow.com/questions/2054939/is-char-signed-or-unsigned-by-default#2054941
2016-12-28 01:38:05 -05:00
Harry Jeffery 01466cc840 Fix indentation error 2016-12-23 18:06:34 +00:00
Harry Jeffery c6a811615b Merge pull request #99 from eXeC64/wall-of-text
Unconditionally echo build commands
2016-11-23 23:29:17 +00:00
Dmitrij D. Czarkoff 8febdbbd35 Simplify VERSION handling
Also, use default abbreviation length, so that abbreviated object name in
VERSION would match github's display of commit IDs.
2016-11-22 15:55:45 +01:00
Dmitrij D. Czarkoff f328300810 Unconditionally echo build commands 2016-11-22 15:50:49 +01:00
Dmitrij D. Czarkoff 9aea3f0dda Separate preprocessor flags from compiler flags, libs from linker flags
PR #98 hints that we were venturing into downstream's territory: compiler and
linker flags may be OS-specific, while preprocessor flags and libraries are our
responsibility.  Provide clean separation between these categories.

Downstreams may still need to provide "--std=c99" in CFLAGS though.
2016-11-22 15:48:04 +01:00
Dmitrij D. Czarkoff 34840c1148 Describe command "d" in manual
Fixes #97.
2016-11-17 08:42:49 +01:00
Harry Jeffery 8bf410744a Reset slideshow timer when image changed via 'x'
When the user hits left/right to change image, the time left until the
slideshow changes images is reset. If the user changes image by closing
the current image, the timer is not reset. This patch resolves that.
2016-11-16 22:32:29 +00:00
Dmitrij D. Czarkoff 6d8a963c9b Don't advertise hash sign usage with '-b' option
Most shells would interpret the hash sign as start of the comment, so command
with an unescaped hash sign will result in rather puzzling error message:

  $ imv -b #C0C0C0 files...
  Unknown argument 'b'. Aborting.

Although there is obvious workaround (detect 'b' in '?' case of getopt switch
and put more appropriate message), it generally makes more sense to suggest
plain hex values for input.
2016-10-23 03:41:47 +02:00
Dmitrij D. Czarkoff df6393be75 Simplify hex color parser
It is actually a trivial task for strtoul + some bit shifting, so there is no
need for two separate functions.
2016-10-23 03:32:58 +02:00
Harry Jeffery e59d0e9e12 Release v2.1.3 2016-10-22 12:35:20 +01:00
Dmitrij D. Czarkoff 311c35e3b9 Enable tests
Once cmocka is built, it is cached, so that subsequent builds only need to
install it and update linker configuration.
2016-10-22 12:37:43 +02:00