Overview
It is possible to add or change some provided features in KOReader by user patches (introduced in https://github.com/koreader/koreader/pull/9104).
For implementing or applying such patches only limited support might be given by the KOReader developers.
Installation
It is necessary to create a subfolder named patches
in the koreader
folder. (On Android this folder is located on the SD-card.)
The patch can than be put into a file in koreader\patches
. The content of the file has to be Lua
code and the extension of the file as to be .lua
The name of a patch has to start witch a number followed by a minus (1234-name-of-the-patch.lua
).
The execution time of a patch is determined by the first digit of the number in the patch name. If there are several patches starting with the same digit, the execution order is the natural order (1
<10
<11
<12
<13
<...<109
<...<10010
).
Names starting with:
0
are executed very early and only once after an update,1
are executed very early on every start of KOReader (but after0
if applicable),2
are executed after UIManager is ready on every start of KOReader,3-7
reserved8
are executed before exit and before settings get saved,9
are executed right before exit.
Known limitations
- On Android user patches don't work in the FDroid version of KOReader. The package id for such version is
org.koreader.launcher.fdroid
and it is installed either from FDroid application or using the apk file available at the mentioned page. You have to manually install the release version that has the package idorg.koreader.launcher
Available_patches
(https://github.com/koreader/koreader/issues?q=+label%3A%22User+patch+available%22+)
The following list will show available patches with their name
; function
; comments
Device independent
- 2-TOC-title-patch.lua; adds a button in the table of contents to toggle between the book name and
Table of contents
; the selection is book specific, this was the origin of developing user-patches (thanks to @poire-z). - 2-overlap_arrow_32.lua; How can I modify arrow of page overlap function? #9181; download and remove the
.txt
extension. - 2-no-jump-in-flipping-mode.lua; Is it possbile to disable touch (navigate) property of the progress bar ? #9277; download and remove the
.txt
extension. - 2-dict-auto-copy-current-definition.lua; Possibility to share and/or copy into the clipboard dictionary definitions. #9336; download and remove the
.txt
extension. - 2-translator-http-override.lua.txt; Translation has not been available in China since about one day ago #9574; download and remove the
.txt
extension. - 2-movable-not-movable.lua.txt; Disable floating window movement? #9646; download and remove the
.txt
extension. - 2-touchmenu-update-clock.lua; Enable updating clock and battery state in the touchmenu every minute; download.
- 2-no-keyboard-shortcuts.lua; Disable keyboard shortcuts on devices with keyboard (like the emulator); download.
- 2-limit-crashlog-size.lua; Limits the size of the
crash.log
file (if available on the platform), can be of interest when verbose debugging is enabled; download. - 2-custom-sort.lua; An example of what you can do with custom file sorting algorithms; download.
Device specific
Kobo
- 2-toggle-usbnet.lua; adds an entry in the
Network
menu to toggle usbnet. - 2-disable-hw-invert.lua; disables hardware inversion for nightmode, in case it's unreliable on your device (generally, really old devices).