How to configure and integrate 3rd party screen savers in UM

So you've just saw some awesome screen saver somewhere on GitHub and you want to boast it on your system? Think it's just a matter of make build and make install? Think again!

Here's how to do it on a Mantic (23.10) system:

The primary step is to download the source and build it. Building process will be explained on the source page of your download.

The next step is to move this newly built binary into /usr/libexec/xscreensavers invoking sudo.

Then you need to create the equivalent filename entry under /usr/share/applications/screensavers/. However this file needs to have .desktop appended at the end.

Now, edit this newly created file and add the following (You can also just copy an already existing file and rename it from this dir back to this same dir):

[Desktop Entry]
Name=YOURSCREENSAVERNAME
Exec=/usr/libexec/xscreensaver/YOURSCREENSAVERNAME -root
TryExec=/usr/libexec/xscreensaver/YOURSCREENSAVERNAME
Comment=SOME DESCRIPTION
StartupNotify=false
Terminal=false
Type=Application
Categories=Screensaver;
OnlyShowIn=MATE;

Then save and quit. Access Screensaver from MATE and voilà: it will now be listed.

Here is a real life example for flying-toasters:

$ sudo git clone https://github.com/torunar/flying-toasters-xscreensaver /opt/flying-toasters
$ cd /opt/flying-toasters && sudo make build
$ sudo mv /opt/flying-toasters/bin/flying-toasters /usr/libexec/xscreensavers
$ sudo vim /usr/share/applications/screensavers/flying-toasters.desktop
[Desktop Entry]
Name=Flying Toasters
Exec=/usr/libexec/xscreensaver/flying-toasters -root
TryExec=/usr/libexec/xscreensaver/flying-toasters
Comment=Classic After Dark screensaver recreation for XScreensaver.
StartupNotify=false
Terminal=false
Type=Application
Categories=Screensaver;
OnlyShowIn=MATE;
:wq
$

Hope this helps someone out-there!

4 Likes