2
0
mirror of https://github.com/koreader/koreader synced 2024-11-10 01:10:34 +00:00
Go to file
Marek Veselý 4c4cfa2db0
Kindle: add wifi selector (#12056)
* Kindle: Implement a NetworkMgr backend loosely based on WpaClient in order to allow feature-parity with hasWifiManager platforms. This involves dealing with the native wifid over lipc (the native IPC system, based on DBus), through custom Lua bindings (https://github.com/notmarek/openlipclua), since the stock ones lack support for the needed hasharray data type.
* NetworkMgr: Clear up leftover hallucinations from #10669, making `enableWifi` much simpler (and much more similar to `turnOnWifiAndWaitForConnection`).
* NetworkMgr: Made it clearer that `turnOnWifi` implementations *must* deal with `complete_callback`, as part of the aforementioned changes mean that it's *always* wrapped in a connectivity check, and we need that for proper event signaling.
* Android, Emu: Run `complete_callback` properly in `turnOnWifi`.
* Kindle: Support `powerd:isCharged()` on the PW2 (yes, this is random, it just happened to be my test device :D).
* NetworkMgr:disableWifi: Properly tear down any potential ongoing connection attempt (e.g., connectivity check).
* NetworkMgr:promptWifi: Make the "wifi enabled but not connected" popup clearer if there's an ongoing connection attempt, and gray out the "Connect" button in this case (as it would only lead to another "connection already in progress" popup anyway).
* NetworkMgr:reconnectOrShowNetworkMenu: Make *total* scanning failures fatal (they will lead to an immediate wifi teardown).
* NetworkMgr:reconnectOrShowNetworkMenu: Clear up the long-press behavior (which *always* shows the network list popup) so that it doesn't weirdly break all the things (technical term!).
* NetworkMgr:reconnectOrShowNetworkMenu: When we manage to connect to a preferred network on our own *before* showing the network list, make sure it is flagged as "connected" in said list.
* NetworkMgr:reconnectOrShowNetworkMenu: Make connection failures fatal in non-interactive workflows (they'll lead to a wifi teardown).
* NetworkSetting (the aforementioned network list widget): Clear NetworkMgr's "connection pending" flag on dismiss when nothing else will (i.e., when there's no connectivity check ticking).
2024-06-25 21:17:36 +02:00
.ci ci: fix shellchecks helper 2024-06-15 23:02:52 +02:00
.circleci ci: update build directory trimming before caching 2024-05-29 22:02:06 +02:00
.github Update bug_report.md with new location of verbose logging toggle (#12042) 2024-06-17 15:35:17 +02:00
base@a9e32ffc7c Kindle: add wifi selector (#12056) 2024-06-25 21:17:36 +02:00
doc doc: update building documentation (#11961) 2024-06-14 14:00:48 +02:00
frontend Kindle: add wifi selector (#12056) 2024-06-25 21:17:36 +02:00
l10n@76f8b999c8 Update translations for v2024.04 (#11726) 2024-04-27 23:19:13 +02:00
make Add kindlehf target (#11986) 2024-06-11 18:34:03 +02:00
metadata update tool to generate metadata translations (#11869) 2024-05-26 20:10:12 +02:00
platform Bump android-luajit-launcher (#12084) 2024-06-24 21:12:51 +02:00
plugins VocabBuilder: fix and improve non-touch device experience (#12030) 2024-06-16 13:10:37 +02:00
resources Collections: add collection mark to books (#11868) 2024-05-26 08:18:44 +03:00
spec/unit mupdf: update to 1.24.2 (#11940) 2024-06-01 13:22:02 +02:00
test@86eeb0b43d
tools tweaks for new build system 2024-05-29 22:02:06 +02:00
.busted
.codecov.yml
.editorconfig
.gitignore Add macOS target 2020-07-11 01:29:49 +02:00
.gitmodules l10n: mark git submodule for shallow updates 2024-04-16 18:58:45 +02:00
.luacheckrc Cleanup various varargs shenanigans (#9624) 2022-10-12 19:59:48 +02:00
.luacov
.luarc.json Add a config file for the Lua LSP (#10611) 2023-06-25 16:14:01 +02:00
.shellcheckrc [CI] Add curly braces check (#5809) 2020-02-02 20:35:21 +01:00
COPYING
datastorage.lua SDL: add flatpak flavor (#11833) 2024-05-18 13:21:59 +02:00
defaults.lua ImageViewer: menu to invert rotations and set auto rotation (#11206) 2023-12-12 13:24:31 +01:00
kodev lint: fix issues reported by newer shellcheck / shfmt 2024-06-15 23:02:52 +02:00
Makefile tweaks for new build system 2024-05-29 22:02:06 +02:00
reader.lua Reader: use existing module instances on start (#11485) 2024-02-24 09:24:50 +02:00
README.md Remove bountysource from README (#11385) 2024-03-03 14:02:52 +01:00
setupkoenv.lua tweaks for new build system 2024-05-29 22:02:06 +02:00

KOReader

KOReader is a document viewer primarily aimed at e-ink readers.

AGPL Licence Latest release Gitter Mobileread Build Status Coverage Status Weblate Status

DownloadUser guideWikiDeveloper docs

Main features

  • portable: runs on embedded devices (Cervantes, Kindle, Kobo, PocketBook, reMarkable), Android and Linux computers. Developers can run a KOReader emulator in Linux and MacOS.

  • multi-format documents: supports fixed page formats (PDF, DjVu, CBT, CBZ) and reflowable e-book formats (EPUB, FB2, Mobi, DOC, RTF, HTML, CHM, TXT). Scanned PDF/DjVu documents can also be reflowed with the built-in K2pdfopt library. ZIP files are also supported for some formats.

  • full-featured reading: multi-lingual user interface with a highly customizable reader view and many typesetting options. You can set arbitrary page margins, override line spacing and choose external fonts and styles. It has multi-lingual hyphenation dictionaries bundled into the application.

  • integrated with calibre (search metadata, receive ebooks wirelessly, browse library via OPDS), Wallabag, Wikipedia, Google Translate and other content providers.

  • optimized for e-ink devices: custom UI without animation, with paginated menus, adjustable text contrast, and easy zoom to fit content or page in paged media.

  • extensible: via plugins

  • fast: on some older devices, it has been measured to have less than half the page-turn delay as the built in reading software.

  • and much more: look up words with StarDict dictionaries / Wikipedia, add your own online OPDS catalogs and RSS feeds, over-the-air software updates, an FTP client, an SSH server, …

Please check the user guide and the wiki to discover more features and to help us document them.

Screenshots

Installation

Please follow the model specific steps for your device:

AndroidCervantesKindleKoboLinuxPocketbookreMarkable

Development

Setting up a build environmentCollaborating with GitBuilding targetsPortingDeveloper docs

Support

KOReader is developed and supported by volunteers all around the world. There are many ways you can help:

Right now we only support liberapay donations.

Contributors

Last commit Commit activity