- Package:
- xscreensaver
- Source:
- xscreensaver
- Description:
- Screensaver daemon and frontend for X11
- Submitter:
- Klaus Ethgen
- Date:
- 2023-02-11 19:21:03 UTC
- Severity:
- normal
With this version, DPMS is not working anymore. The screen always is on and does not go to sleep anymore. When I use the settings dialog, the setting is disabled. Enabling it and restart settings and it is disabled again. As it is very important for xscreensaver to go to DPMS sleep after some time (especially on laptops), this is a major problem.
Hi, thanks for your report. Which version did you use before? It looks like I can reproduce this. I enable settings in the GUI and: $ grep ^dpms ~/.xscreensaver dpmsEnabled: True dpmsQuickOff: False dpmsStandby: 0:01:00 dpmsSuspend: 0:02:00 dpmsOff: 0:03:00 It stays the same after closing the settings. After opening the settings GUI again, it stays "True" in the file until I switch to the "Advanced" tab, where I find it disabled again. $ grep ^dpms ~/.xscreensaver dpmsEnabled: False dpmsQuickOff: False dpmsStandby: 0:01:00 dpmsSuspend: 0:02:00 dpmsOff: 0:03:00 It looks like opening the Advanced panel forces the "Power Management Enabled" to off. Best regards, Tormod
With debug logging below. At 14:49:27 I click to select the Advanced Tab, without changing anything. However the logs says "dpms_enabled_p: 1 => 0". In any case, as I understand it, DPMS will stay enabled as long as you don't go looking at the Advanced tab. Tormod $ grep ^dpms ~/.xscreensaver dpmsEnabled: True dpmsQuickOff: False dpmsStandby: 0:01:00 dpmsSuspend: 0:02:00 dpmsOff: 0:03:00 tormod@susam:~/MAINT/debian-xscreensaver/build/xscreensaver-6.06$ xscreensaver-settings --debug xscreensaver-settings: 14:49:21: DISPLAY=:0 xscreensaver-settings: 14:49:21: added "/usr/libexec/xscreensaver" to $PATH xscreensaver-settings: 14:49:21: pref changed: GtkSpinButton xscreensaver-settings: 14:49:21: pref changed: GtkSpinButton xscreensaver-settings: 14:49:21: pref changed: GtkSpinButton xscreensaver-settings: 14:49:21: pref changed: GtkSpinButton xscreensaver-settings: 14:49:21: pref changed: GtkSpinButton xscreensaver-settings: 14:49:21: pref changed: GtkSpinButton xscreensaver-settings: 14:49:21: pref changed: GtkSpinButton xscreensaver-settings: 14:49:21: pref changed: GtkCheckButton xscreensaver-settings: 14:49:21: pref changed: GtkCheckButton xscreensaver-settings: 14:49:21: pref changed: GtkCheckButton xscreensaver-settings: 14:49:21: pref changed: GtkRadioButton xscreensaver-settings: 14:49:21: pref changed: GtkRadioButton xscreensaver-settings: 14:49:21: list selection changed xscreensaver-settings: 14:49:21: scheduling preview "squirtorus --root" xscreensaver-settings: 14:49:21: reading /usr/share/xscreensaver/config/squirtorus.xml... xscreensaver-settings: 14:49:21: scheduling preview "squirtorus --root" xscreensaver-settings: 14:49:21: restore origin: 3120,438 xscreensaver-settings: 14:49:21: reading /usr/share/xscreensaver/config/squirtorus.xml... xscreensaver-settings: 14:49:21: scheduling preview "squirtorus --root" xscreensaver-settings: 14:49:21: select list elt 210 xscreensaver-settings: 14:49:21: scheduling preview "squirtorus --root" xscreensaver-settings: 14:49:21: reading /usr/share/xscreensaver/config/squirtorus.xml... xscreensaver-settings: 14:49:21: scheduling preview "squirtorus --root" xscreensaver-settings: 14:49:21: xscreensaver-gl-visual says the GL visual is 0x21. xscreensaver-settings: 14:49:21: using non-default visual 0x21 xscreensaver-settings: 14:49:21: restore origin: 643,429 xscreensaver-settings: 14:49:21: saved screenshot 0x2a00011 4480x1440 for window 0x2a00010 403x226+444+107 xscreensaver-settings: 14:49:21: geom: 643,429 3120,438 => 633,419 3120,438 xscreensaver-settings: 14:49:22: forked 225128 (squirtorus) xscreensaver-settings: 14:49:22: scheduling check xscreensaver-settings: 14:49:22: XSCREENSAVER_WINDOW=0x2A0012A xscreensaver-settings: 14:49:27: tab changed xscreensaver-settings: 14:49:27: pref changed: GtkNotebook xscreensaver-settings: 14:49:27: dpms_enabled_p: 1 => 0 xscreensaver-settings: 14:49:27: wrote /home/tormod/.xscreensaver xscreensaver-settings: 14:49:27: command: DEACTIVATE xscreensaver-settings: no screensaver is running on display :0 xscreensaver-settings: 14:49:27: scheduling preview death xscreensaver-settings: 14:49:28: pid 225132 died xscreensaver-settings: 14:49:28: killed pid 225128 (squirtorus) xscreensaver-settings: 14:49:38: quit menu
This line changes p2->dpms_enabled_p to zero when the Advanced windows is opened the first time: CHECKBOX (p2->dpms_enabled_p, dpms_button); (line 1324 in driver/demo-Gtk.c, in flush_dialog_changes_and_save)
Maybe this fixes it?--- a/driver/demo-Gtk.c +++ b/driver/demo-Gtk.c @@ -1677,6 +1677,7 @@ switch_page_cb (GtkNotebook *notebook, GtkWidget *page, state *s = &win->state; if (s->debug_p) fprintf (stderr, "%s: tab changed\n", blurb()); + populate_prefs_page (s); pref_changed_cb (GTK_WIDGET (notebook), user_data); /* If we're switching to page 0, schedule the current hack to be run.
Yes, many thanks, that seems to fix it. Tormod