[mythtv-commits] Ticket #8357: add xdg-screensaver support

MythTV mythtv at cvs.mythtv.org
Tue May 11 02:35:35 UTC 2010


#8357: add xdg-screensaver support
---------------------------------------------------+------------------------
 Reporter:  Johnny Walker <johnnyjboss@…>          |        Owner:  mdean  
     Type:  enhancement                            |       Status:  closed 
 Priority:  minor                                  |    Milestone:  unknown
Component:  MythTV - General                       |      Version:  0.23rc2
 Severity:  low                                    |   Resolution:  fixed  
  Mlocked:  0                                      |  
---------------------------------------------------+------------------------
Changes (by mdean):

  * status:  accepted => closed
  * resolution:  => fixed


Comment:

 (In [24559]) Add support for xdg-screensaver from xdg-utils (
 http://portland.freedesktop.org/wiki/ ).

 This adds a new class ScreenSaverXDG that provides support for
 enabling/disabling an X11 screensaver using the xdg-screensaver script
 from xdg-utils.  xdg-screensaver basically implements all of the
 functionality MythTV had implemented in ScreenSaverX11 (and more)--it
 handles making sure any supported screensaver applications do not activate
 when not wanted and handles DPMS enabling/disabling--even if no
 screensaver applications are running.  Therefore, ScreenSaverXDG is
 significantly simpler than ScreenSaverX11.  xdg-screensaver currently
 supports xscreensaver, GNOME screenaver, KDE screensaver, and support for
 other screensavers can easily be added to the script.

 The biggest benefit of using xdg-screensaver is that it is designed to
 allow safely disabling a screensaver application such that the screensaver
 state will be restored even in the event that the suspending application
 crashes.  If mythfrontend crashes after suspending the screensaver, xdg-
 screensaver will notice that the mythfrontend window no longer exists, so
 it will re-enable the screensaver.  Therefore, rather than poke the
 screensaver once every 50s during playback, as we do with xscreensaver and
 gnome-screensaver in ScreenSaverX11 (so we never have to disable the
 screensaver and risk leaving it in the wrong state after a crash), xdg-
 screensaver allows us to simply "suspend" the screensaver on playback
 startup and "resume" the screensaver on playback pause/exit/...  This
 means that users on underpowered systems or users affected by the GNOME
 screensaver issue that causes gnome-screensaver-command to take
 significant resources on every execution will no longer see playback
 issues every 50s or so if they have xdg-screensaver installed.

 Refs #7291.  Fixes #8357 with slightly modified patch from Johnny Walker.
 Thanks to Johnny for the patch and for the testing.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/8357#comment:3>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list