Skip to content

Make any program into a screensaver

As described in issue #139 , the general goal is to enable the use of the graphical output of xeyes or mpv video player or any other arbitrary command. My personal use case is the mpv video player, because I want to play a video on loop as my screensaver.

This behavior is supported by xscreensaver:

"XScreensaver can run any command as screensaver and will put its locker over it (if password-locking is enabled)." https://indigo.re/posts/2020-01-05-xscreensaver-mpv.html

"Play any video as a screensaver with mpv and xscreensaver trick/hack" https://www.linuxquestions.org/questions/linux-desktop-74/play-any-video-as-a-screensaver-with-mpv-and-xscreensaver-trick-hack-4175615234/

"I want to make my video to be a screensaver." https://askubuntu.com/questions/21608/use-video-file-as-a-screensaver

@Tamaranch has informed me that "you can't just execute a command and expect the graphical content it produces to be displayed in the screensaver. You need to use a protocol specific to the windowing environment used for this (in this case, X11's XEmbed protocol)." And also that "simplest way to achieve this is probably to follow the example of the themes already implemented in this directory (I won't go into further detail here):" https://gitlab.xfce.org/apps/xfce4-screensaver/-/tree/master/savers

I am not the creator of mpv or xscreensaver and I am not an expert C programmer with knowledge of the XEmbed protocol etc. I am just a user trying to play a video as my screensaver.

Why can xscreensaver do this but xfce4-screensaver can't???

Thanks in advance!

Edited by William N. Braswell, Jr.