[vlc-devel] [PATCH] Add dpms module to switch it off while playing

Olivier Brunel jjk at jjacky.com
Fri Oct 25 22:10:00 CEST 2013

On 10/25/13 21:42, Rémi Denis-Courmont wrote:
> Le vendredi 25 octobre 2013 21:01:06 Olivier Brunel a écrit :
>> On 10/25/13 20:51, Rémi Denis-Courmont wrote:
>>>    Hello,
>>> The DPMS extension of X11 is meant for the desktop power management
>>> component to use, not for normal applications. Changing DPMS settings via
>>> xset, Xlib or XCB would clobber the desktop settings, which is obviously
>>> *not* acceptable.
>>> Normally, the desktop should automatically disarm and rearm DPMS when the
>>> screensaver is inhibited and uninhibited respectively. If it does not,
>>> then it is a the bug in the desktop environment. There are no ways to fix
>>> this problem in VLC for lack of a proper API.
>> Well, as I said the right thing to do would have been to call
>> xdg-screensaver,
> That is what VLC already does - if D-Bus probing fails. And better yet, LibVLC 
> also does it; it does not depend on the VLC playlist.

Right, but VLC also keeps things suspended while paused, which as I said
was my main motivation for writing this.
When e.g. I pause something and go AFK for some time, I expect
DPMS/screensaver to be back on and eventually quick in. Otherwise you
could as well suspend things on startup & until VLC exits... :p

>> but for that I would have needed to send it the window
>> ID, which I don't know how to get from VLC.
> That is not true. xdg-screensaver has two modes. Only one of them, 
> suspend/resume, requires a window ID. The reset mode does not, and that is 

Yeah, that's what I meant: to use suspend/resume I'd have needed a
window ID.

> what VLC uses. In fact, reset turns out to be more reliable as suspend/resume 
> had a propensity to leave dangling processes around.

Possible, but as as Rafaël said - and as I experienced - that doesn't
prevent monitors from turning off, so not really a perfect solution.

>> And since (in my specific setup) that call would pretty much call xset,
> Your specific setup is not the setup of other people. This patch is not 
> acceptable as is and that is the end of it.

Of course not, I don't deny that & never expected the patch to be merged
as is, but surely it can be discussed/improved...

>> I did that directly. If the window ID can be obtained, calling
>> xdg-screensaver suspend/resume would be a better solution of course.
> The only theoretical advantage of suspend/resume over reset is enabling xdg-
> screensaver to keep the D-Bus connection open (which some screensavers 
> require). But since xdg-screensaver is so far a shell script, that advantage 
> remains wholly theoretical.
> On the other hand, reset has the advantage of not depending on xprop, not 
> requiring a persistent process and not being tied to X11.

More information about the vlc-devel mailing list