rework screensaver timeout should fix #992
This commit is contained in:
parent
2d61eba66b
commit
791938d733
15
screen.py
15
screen.py
@ -514,8 +514,10 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self.subscriptions.append(panel_name)
|
self.subscriptions.append(panel_name)
|
||||||
|
|
||||||
def reset_screensaver_timeout(self, *args):
|
def reset_screensaver_timeout(self, *args):
|
||||||
if not self.use_dpms and self.screensaver_timeout is not None:
|
if self.screensaver_timeout is not None:
|
||||||
GLib.source_remove(self.screensaver_timeout)
|
GLib.source_remove(self.screensaver_timeout)
|
||||||
|
self.screensaver_timeout = None
|
||||||
|
if not self.use_dpms:
|
||||||
self.screensaver_timeout = GLib.timeout_add_seconds(self.blanking_time, self.show_screensaver)
|
self.screensaver_timeout = GLib.timeout_add_seconds(self.blanking_time, self.show_screensaver)
|
||||||
|
|
||||||
def show_screensaver(self):
|
def show_screensaver(self):
|
||||||
@ -543,7 +545,9 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self.screensaver = box
|
self.screensaver = box
|
||||||
self.screensaver.show_all()
|
self.screensaver.show_all()
|
||||||
self.power_devices(None, self._config.get_main_config().get("screen_off_devices", ""), on=False)
|
self.power_devices(None, self._config.get_main_config().get("screen_off_devices", ""), on=False)
|
||||||
return False
|
if self.screensaver_timeout is not None:
|
||||||
|
GLib.source_remove(self.screensaver_timeout)
|
||||||
|
self.screensaver_timeout = None
|
||||||
|
|
||||||
def close_screensaver(self, widget=None):
|
def close_screensaver(self, widget=None):
|
||||||
if self.screensaver is None:
|
if self.screensaver is None:
|
||||||
@ -555,13 +559,12 @@ class KlipperScreen(Gtk.Window):
|
|||||||
if self.use_dpms:
|
if self.use_dpms:
|
||||||
self.wake_screen()
|
self.wake_screen()
|
||||||
else:
|
else:
|
||||||
self.screensaver_timeout = GLib.timeout_add_seconds(self.blanking_time, self.show_screensaver)
|
self.reset_screensaver_timeout()
|
||||||
for dialog in self.dialogs:
|
for dialog in self.dialogs:
|
||||||
logging.info(f"Restoring Dialog {dialog}")
|
logging.info(f"Restoring Dialog {dialog}")
|
||||||
dialog.show()
|
dialog.show()
|
||||||
self.show_all()
|
self.show_all()
|
||||||
self.power_devices(None, self._config.get_main_config().get("screen_on_devices", ""), on=True)
|
self.power_devices(None, self._config.get_main_config().get("screen_on_devices", ""), on=True)
|
||||||
return False
|
|
||||||
|
|
||||||
def check_dpms_state(self):
|
def check_dpms_state(self):
|
||||||
if not self.use_dpms:
|
if not self.use_dpms:
|
||||||
@ -596,6 +599,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
logging.debug(f"Screen blanking: {time}")
|
logging.debug(f"Screen blanking: {time}")
|
||||||
if self.screensaver_timeout is not None:
|
if self.screensaver_timeout is not None:
|
||||||
GLib.source_remove(self.screensaver_timeout)
|
GLib.source_remove(self.screensaver_timeout)
|
||||||
|
self.screensaver_timeout = None
|
||||||
os.system("xset -display :0 dpms 0 0 0")
|
os.system("xset -display :0 dpms 0 0 0")
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -616,8 +620,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
# Without dpms just blank the screen
|
# Without dpms just blank the screen
|
||||||
logging.debug("Not using DPMS")
|
logging.debug("Not using DPMS")
|
||||||
os.system("xset -display :0 dpms 0 0 0")
|
os.system("xset -display :0 dpms 0 0 0")
|
||||||
if self.screensaver_timeout is None:
|
self.reset_screensaver_timeout()
|
||||||
self.screensaver_timeout = GLib.timeout_add_seconds(self.blanking_time, self.show_screensaver)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def show_printer_select(self, widget=None):
|
def show_printer_select(self, widget=None):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user