[MPlayer-dev-eng] [RFC] kde screensaver stuff using system()
atlka at pg.gda.pl
Thu Feb 8 23:08:56 CET 2007
Dnia Thu, 8 Feb 2007 22:36:39 +0200
"Ivan Kalvachev" <ikalvachev at gmail.com> napisał(a):
> 2007/2/8, Adam Tlałka <atlka at pg.gda.pl>:
> > Dnia Wed, 7 Feb 2007 18:42:04 +0100
> > Reimar Döffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>
> > napisał(a):
> > > Where is there a patch?
> > Look at
> > http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2006-April/042520.html
> > IMHO the proper way is to use some Xserver or X11 extension to
> > signal that an app doesn't want screensaver or DPMS activation.
> > Xserver should notice these requests and properly cooperate with
> > registered xscreensaver program. Mentioned patch uses DBUS and is
> > gnome specific.
> > So mouse movements hack can work at once and forcing X-org people to
> > implement properly working extension and of course Gnome and KDE
> > people to use it is the future.
> Read this thread again. Xorg have such extensions. It is KDE&Gnome
> people fault that they ignore it. (however latest kde releases may
> honor it). It's called Xss (X ScreenSaver).
Right - this is the proper way.
> Anyway, I wonder if your approach would work if motion is always
> (0,0). The chance that screensavers check for motion events and not
> motion itself. Anyway, it needs testing.
I move the mouse pointer 16 pixels right then 16 pixels
left relatively to current position.
fake_move_distance = 16 and then it is negated after each move
> Just looked at the patch. Please let us remove the old screensaver
> code. Your approach must be tested (in release) before we remove all
> the other. And should not be enabled by default.
> DMPS and XGet/SetScreenSaver are "official" X extensions, so they
> should not be removed.
I've tested DPMS, xscreensaver and gnome-screensaver. It works for me.
There is no need to do anything with DPMS because if mplayer crash the
settings will stay because these are global Xserver settings.
Talking about XGet/SetScreensaver the last sets global state too.
So it is not the best solution. I think that invoking periodically
XResetScreenSaver(mDisplay) in xscreensaver_heartbeat() should do the
trick. Of course only if all screensaver programs properly cooperate
Adam Tlałka mailto:atlka at pg.gda.pl ^v^ ^v^ ^v^
More information about the MPlayer-dev-eng