From e64aefa30bf4ad3502ca8ca5f49c01a5d6213103 Mon Sep 17 00:00:00 2001 From: SomeGuy <97603719+Commodore64user@users.noreply.github.com> Date: Sat, 9 Mar 2024 01:03:35 +0000 Subject: [PATCH] Screensaver Reading Percentage Truncates screensaver message's reading percentage will now truncate instead of round up. addresses #11516 --- frontend/ui/screensaver.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/ui/screensaver.lua b/frontend/ui/screensaver.lua index 8c42ef778..4555592de 100644 --- a/frontend/ui/screensaver.lua +++ b/frontend/ui/screensaver.lua @@ -148,7 +148,13 @@ function Screensaver:expandSpecial(message, fallback) time_left_chapter = self:_calcAverageTimeForPages(ui.toc:getChapterPagesLeft(currentpage) or doc:getTotalPagesLeft(currentpage)) time_left_document = self:_calcAverageTimeForPages(doc:getTotalPagesLeft(currentpage)) end - percent = Math.round((currentpage * 100) / totalpages) + if currentpage == 1 then + percent = 0 + elseif ((currentpage / totalpages) * 100) < 1 then + percent = 1 + else + percent = math.floor((currentpage * 100) / totalpages) + end props = ui.doc_props elseif DocSettings:hasSidecarFile(lastfile) then -- If there's no ReaderUI instance, but the file has sidecar data, use that @@ -156,7 +162,7 @@ function Screensaver:expandSpecial(message, fallback) totalpages = doc_settings:readSetting("doc_pages") or totalpages percent = doc_settings:readSetting("percent_finished") or percent currentpage = Math.round(percent * totalpages) - percent = Math.round(percent * 100) + percent = math.floor(percent * 100) props = FileManagerBookInfo.extendProps(doc_settings:readSetting("doc_props"), lastfile) -- Unable to set time_left_chapter and time_left_document without ReaderUI, so leave N/A end