@Frenzie Frenzie released this Apr 10, 2018 · 317 commits to master since this release

Assets 10

This release significantly improves usability on non-touch devices thanks to @onde2rock. @dengste dotted the i's and crossed the t's of natural light support by implementing an automatic setting for warmth. KOReader now also supports the Pocketbook Inkpad 3 (PB740). Last but not least, this release debuts an AppImage for Linux desktop computers.

Besides the emboldened introduction, there's been a small change with big consequences. KOReader will now start in CoverBrowser view by default (#3834). If you want to change to a different view, choose the file browser menu (top left) → Display modeClassic/Mosaic/Detailed.

Automatic warmth

NB Only the Kobo Aura One and the Kobo H2Ov2 support warmth. The new automatic warmth settings look like this:

automatic_warm

So what is this “AppImage”?

Simply put, it's a portable app for Linux, which has been a long-standing request (#1417). After you download the file, you'll first need to allow it to run as a program. You can do so by right clicking in your file manager, choosing PropertiesPermissions and checking the box that reads Allow this file to run as a program or something equivalent. If you prefer to use the terminal, run chmod +x koreader-appimage-x86_64-linux-gnu-v2015.11-1644-ge39ed90_2018-04-09.AppImage.

The AppImage is a release version of what we KOReader developers call “the emulator.” It has existed since all the way back in 2011 to ease the development process. Until the past few weeks it didn't have any of the regular desktop amenities, but I've added a few over the past weeks. The improvements include dragging and dropping a file onto the window to open it, a title that indicates the currently opened file, a basic albeit imperfect form of window resizing and a filechooser dialog accessible through Ctrl + O. For now the filechooser will only work if your system has Gtk3 installed.

Because the AppImage is built on top of the emulator, you can set default window sizes and DPI through the command line. EMULATE_READER_W=2000 EMULATE_READER_H=1500 EMULATE_READER_DPI=180 ./koreader-appimage-x86_64-linux-gnu-v2015.11-1644-ge39ed90_2018-04-09.AppImage. You could also try out other debugging aids such as EMULATE_READER_FLASH=100. There's also another more practical use besides just reading documents: you could use the AppImage to verify whether a bug is specific to your device or if it's inherent in the program.

All of the improvements I mentioned above, such as dragging a file onto the window, were merely part of making the emulator easier to use. There's not much point to emulating the limitations of a Kindle or a Kobo if you're just trying to figure out why a document crashed the program! But a better emulator is also a better desktop app. What actually pushed me over the edge into creating the AppImage, which was surprisingly easy in spite of the somewhat sprawling yet vague documentation, was @onde2rock's efforts to make the program properly usable on the Kindle 4NT and other older non-touch devices.

After the program became usable without touch, I thought it'd be a fun experiment to implement game controller support (#3819). The control scheme is depicted below, and you can use it in the AppImage. It's currently equivalent to the functionality offered by the Kindle 4NT.

It might sound slightly odd, but it's rather nice to just lean back with a gamepad while having some document on your screen. I implemented it as a half joking “wouldn't it be cool if…” but it turned out to be a killer feature, at least to me. It's what made me think that having KOReader easily available as a desktop app just might be a worthwhile endeavor.

Gamepad button Action
1 Left stick & d-pad Arrow keys (menu navigation)
2 Right stick Page up & down
3 A button Press/enter (also opens bottom reader menu)
4 B button Escape/back
5 Left bumper Page up
6 Right button Page down
Start/Menu button (not shown) Open menu

We'd like to thank all contributors for their efforts. Some highlights include:

Full changelog