From 4c72ade658824d9a16a5996edad95e19806c04d4 Mon Sep 17 00:00:00 2001 From: alfrix Date: Fri, 3 May 2024 13:44:45 -0300 Subject: [PATCH] screensaver: simplify the timer logic i've seen some issues with the timing handling this should fix them --- screen.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/screen.py b/screen.py index 1aa5a6d2..17ad65c6 100755 --- a/screen.py +++ b/screen.py @@ -542,6 +542,8 @@ class KlipperScreen(Gtk.Window): logging.debug("Showing Screensaver") if self.screensaver is not None: self.close_screensaver() + if self.blanking_time == 0: + return False self.remove_keyboard() self.close_popup_message() for dialog in self.dialogs: @@ -562,9 +564,6 @@ class KlipperScreen(Gtk.Window): self.screensaver = box self.screensaver.show_all() self.power_devices(None, self._config.get_main_config().get("screen_off_devices", ""), on=False) - if self.screensaver_timeout is not None: - GLib.source_remove(self.screensaver_timeout) - self.screensaver_timeout = None return False def close_screensaver(self, widget=None): @@ -623,9 +622,7 @@ class KlipperScreen(Gtk.Window): if time == "off": logging.debug(f"Screen blanking: {time}") - if self.screensaver_timeout is not None: - GLib.source_remove(self.screensaver_timeout) - self.screensaver_timeout = None + self.blanking_time = 0 if not self.wayland: os.system("xset -display :0 dpms 0 0 0") return