Commit graph

420 commits

Author SHA1 Message Date
Harry Jeffery 11e52cb5d8 Tweak config option names & capitalisation 2017-11-28 21:59:16 +00:00
Harry Jeffery 86b7b1bf49 Simplify and refactor ini usage
Switch imv to use a more mature ini implementation, and also simplify
the ini syntax in the config files.
2017-11-28 21:39:07 +00:00
Harry Jeffery fe4d9bcf92 Update loader unit tests 2017-11-26 14:10:33 +00:00
Harry Jeffery f9b1bb2276 The irc channel is dead. Long live the irc channel. 2017-11-26 13:56:56 +00:00
Harry Jeffery 7d310e4897 Use imv_bitmap for bitmaps intead of FIBITMAP 2017-11-26 13:43:18 +00:00
Harry Jeffery 2c51ecf4ee Fix image.h header guard 2017-11-26 13:17:22 +00:00
Harry Jeffery a8eec46b5c Make imv_image interface opaque 2017-11-26 12:13:28 +00:00
Harry Jeffery 3ceb0eac65 Rename imv_texture -> imv_image 2017-11-26 12:07:23 +00:00
Harry Jeffery 92ddfe0bce Don't duplicate license text in all source files
If moving to dual-licensing, this text will be confusing. It's also
a lot of noise.
2017-11-25 12:17:57 +00:00
Harry Jeffery 8bad694c2a Remove unused variable 2017-11-24 18:18:05 +00:00
Harry Jeffery 5f8aa0e5cb Use a background thread to load paths from stdin 2017-11-24 17:55:46 +00:00
Harry Jeffery 764f2d30a4 Make the navigator interface opaque 2017-11-24 17:19:22 +00:00
Harry Jeffery f55ec6749e fixup! Update loader unit test 2017-11-24 17:11:05 +00:00
Harry Jeffery 9e4824b4a5 Make the loader interface opaque 2017-11-24 17:09:18 +00:00
Harry Jeffery b8ba7e7491 Update loader unit test 2017-11-24 17:08:02 +00:00
Harry Jeffery fedd2057a2 loader: Use event to pass image loading error to main thread 2017-11-24 16:55:53 +00:00
Harry Jeffery d5f69f2e83 Sleep for longer when displaying still images 2017-11-24 16:48:32 +00:00
Harry Jeffery bf702c3f43 loader: Use SDL event queue to return images 2017-11-24 09:34:54 +00:00
Harry Jeffery cb4ccd12db Fix clang compile error 2017-11-24 01:44:33 +00:00
Harry Jeffery 3bb94dc1a6 Require <> around all keys in a bind
This is partly for consistency, party to resolve a bug where binding [
in the config file would trick the ini parser into thinking it was
reading a section header, leading to the bind not being applied.
2017-11-23 22:34:25 +00:00
Harry Jeffery e2954b8108 Provide default global config file 2017-11-23 22:18:28 +00:00
Harry Jeffery 610a2894c0 Fall back on global config, if user has none 2017-11-23 22:18:28 +00:00
Harry Jeffery c643478ad8 Add default_binds option to prevent conflicts 2017-11-23 22:18:28 +00:00
Harry Jeffery 65c9826bab Move remaining actions to bindable commands 2017-11-23 22:18:28 +00:00
Harry Jeffery 599a48746a Move some hardcoded key bindings into new bind system 2017-11-23 21:34:11 +00:00
Harry Jeffery 7f8e941e97 Implement key binding logic
This code is *heavily* based on work I previously did for aerc. Since
I'm the author of that code, and therefore the copyright holder, I'm
able to heavily re-use logic. Of course, because of the differences
between termbox and SDL's event logic and key naming features, there's
some significant differences in how binds are handled, and how keys are
named.
2017-11-23 21:34:11 +00:00
Harry Jeffery 96c320e999 Add list_find function 2017-11-23 21:34:11 +00:00
Harry Jeffery 57eb6a9168 Remove imv_ prefix from struct imv_list
It's just bloat. No value.
2017-11-23 21:34:11 +00:00
Harry Jeffery 9167c61b60 Set $PATH for exec command 2017-11-23 21:34:11 +00:00
Harry Jeffery ab862e33ad Give commands the full arg string too 2017-11-23 21:34:11 +00:00
Harry Jeffery 6d000e5101 Add exec command 2017-11-23 21:34:11 +00:00
Harry Jeffery 4579df9114 Add support for a basic config file 2017-11-23 21:34:11 +00:00
Harry Jeffery c51dff6a4e Workaround bug where events are received incorrectly
For some reason SDL passes events to us that occurred before we
gained focus, and passes them *after* the focus gained event.
Due to behavioural quirks from such events, whenever we gain focus
we have to clear the event queue. It's hacky, but works without
any visible side effects.
2017-08-23 21:16:30 +01:00
Harry Jeffery c3f233e971 Remove year from copyright notices
It was falling out of date, and has no legal bearing to my knowledge.
2017-08-22 22:29:07 +01:00
Harry Jeffery 9587c93fd5 Reimplement -n flag 2017-08-22 21:48:40 +01:00
Harry Jeffery 39509816cf Tweak wording in man page 2017-08-22 21:35:27 +01:00
Harry Jeffery 4cf843f728 Fix imv -h opening a window 2017-08-22 21:11:46 +01:00
Harry Jeffery dd8c529370 Implement documented -l flag 2017-08-20 17:59:04 +01:00
Harry Jeffery 167f1280ce Merge pull request #112 from SirCmpwn/limit_scrolling
Prevent scrolling images indefinitely off-screen
2017-08-06 20:15:05 +01:00
Harry Jeffery cf0baaa977 Merge pull request #113 from eXeC64/fix-ci-failure
Fix failing build on gcc 4.8.4
2017-08-06 20:07:52 +01:00
Harry Jeffery 92eb3a9b9a Fix failing build on gcc 4.8.4 2017-08-06 20:04:50 +01:00
Drew DeVault 69cc94ef23 Prevent scrolling images indefinitely off-screen
With this change, if you scroll the image well beyond the viewport,
scrolling any amount in the other direction will immediately bring it
back on screen.
2017-08-06 14:53:29 -04:00
Harry Jeffery 2ffd6edea1 Merge v3 changes into master 2017-08-06 19:45:15 +01:00
Harry Jeffery 12450f3875 Support loading image data from stdin 2017-06-18 16:23:19 +01:00
Harry Jeffery 29888f9f04 Tweak default scaling mode 2017-06-06 20:46:05 +01:00
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