You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Does your feature request involve difficulty completing a task? Please describe.
It takes approximately 15 seconds from pressing the power button to having text on the screen. PocketBook settings allows selecting "Current Page" as the boot logo, which could shorten that time to 5 seconds.
Describe the solution you'd like
KOReader needs to call inkview.PageSnapshot() in the onSuspend hook, and that automatically saves the current screen contents as the "Current Page" boot logo.
Additionally, KOReader needs to delay the initial repaint until after the book is loaded. Otherwise the following happens:
power button pressed
after a few seconds, the boot logo (current page) is shown on screen
after a few more seconds, the device finishes booting and starts KOReader
the current page boot logo is replaced with blank screen and an "Opening file …" window
another few seconds pass before the book loads
A video demonstrating the difference between just doing PageSnapshot (left) and doing that and also patching UIManager.forceRePaint to skip the first repaint (right):
Additional context #14985 was merged recently which seems to set the cover image as the boot logo instead. I'm not sure that's what everybody wants though — PocketBook's settings have several options for the boot logo: PocketBook logo, Book Cover, Current Page, or Random logo. Possibly a followup that takes user preferences into account might be needed? Or maybe I'm misunderstanding what that PR does?
Does your feature request involve difficulty completing a task? Please describe.
It takes approximately 15 seconds from pressing the power button to having text on the screen. PocketBook settings allows selecting "Current Page" as the boot logo, which could shorten that time to 5 seconds.
Describe the solution you'd like
KOReader needs to call
inkview.PageSnapshot()in the onSuspend hook, and that automatically saves the current screen contents as the "Current Page" boot logo.Additionally, KOReader needs to delay the initial repaint until after the book is loaded. Otherwise the following happens:
A video demonstrating the difference between just doing
PageSnapshot(left) and doing that and also patchingUIManager.forceRePaintto skip the first repaint (right):koreader-bootlogo-small.mp4
Describe alternatives you've considered
This is now implemented by pocketbooksync.koplugin: ckilb/pocketbooksync.koplugin@74d7f65 including a patch to delay the initial paint, but since
PageSnapshotwas added to koreader-base recently, this seems to be relatively easy to support in upstream KOReader. The only difficulty is the initial repaint delay, which I'm not sure how to do in a non-hacky way. Ideas welcome! 👍Additional context
#14985 was merged recently which seems to set the cover image as the boot logo instead. I'm not sure that's what everybody wants though — PocketBook's settings have several options for the boot logo: PocketBook logo, Book Cover, Current Page, or Random logo. Possibly a followup that takes user preferences into account might be needed? Or maybe I'm misunderstanding what that PR does?