From 57c6fb6355a50a3158ca652911259d240dca8ed6 Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Fri, 14 Jun 2024 21:34:35 +0200 Subject: [PATCH] ScreenSaver: Consistently prefer the event message over the default message i.e., we do *NOT* want to see the default "Sleeping" message shown *in conjunction* with the "reboot/poweroff" overlay messages. Re: https://github.com/koreader/koreader/issues/12009#issuecomment-2167176139 --- frontend/ui/screensaver.lua | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/frontend/ui/screensaver.lua b/frontend/ui/screensaver.lua index cd97b120c..801ae97a8 100644 --- a/frontend/ui/screensaver.lua +++ b/frontend/ui/screensaver.lua @@ -587,23 +587,21 @@ function Screensaver:show() local message_height if self.show_message then -- Handle user settings & fallbacks, with that prefix mess on top... - local screensaver_message + local screensaver_message = self.default_screensaver_message if G_reader_settings:has(self.prefix .. "screensaver_message") then screensaver_message = G_reader_settings:readSetting(self.prefix .. "screensaver_message") - else - if G_reader_settings:has("screensaver_message") then - screensaver_message = G_reader_settings:readSetting("screensaver_message") - else - -- In the absence of a custom message, use the event message if any, barring that, use the default message. - if self.event_message then - screensaver_message = self.event_message - -- The overlay is only ever populated with the event message, and we only want to show it once ;). - self.overlay_message = nil - else - screensaver_message = self.default_screensaver_message - end + elseif G_reader_settings:has("screensaver_message") then + screensaver_message = G_reader_settings:readSetting("screensaver_message") + end + -- If the message is set to the defaults (which is also the case when it's unset), prefer the event message if there is one. + if screensaver_message == self.default_screensaver_message then + if self.event_message then + screensaver_message = self.event_message + -- The overlay is only ever populated with the event message, and we only want to show it once ;). + self.overlay_message = nil end end + -- NOTE: Only attempt to expand if there are special characters in the message. if screensaver_message:find("%%") then screensaver_message = self:expandSpecial(screensaver_message, self.event_message or self.default_screensaver_message)