My beloved screensaver Asciiquarium is not available for KDE Plasma 5. It was previously available in KDE Plasma 3 and Plasma 4, but Plasma 5 dropped support. How can I run Asciiquarium as a screensaver in any desktop environment?
1 Answer
Asciiquarium can run in a fullscreen terminal, and the screen locked with xtrlock. However the link is short on details.
Firstlly, I prefer alock
to xtrlock
, since it provides some visual feedback on password entry, and can also hide the mouse cursor. N.B. alock
requires a single keystroke first to start entry. After the green border appears, type in your password.
The following script is used to activate the screensaver, and is located at ~/.local/bin/asciiquarium_screensaver
#!/bin/sh
xterm -fullscreen -bg black -e asciiquarium & alock -cursor none -bg none; xdotool key --clearmodifiers q
The first part launches xterm
in fullscreen, runs asciiquarium
, and places it in the background (&
). -bg black
is necessary to avoid the background of xterm showing as a border behind asciiquarium
itself.
alock
immediately runs, hiding the cursor (-cursor none
) and locking the screen transparently (-bg none
). When alock
is unlocked by the user, it quits. xdotool
then types q, which will quit asciiquarium
and hence xterm
.
Now all that remains is to automatically trigger the screensaver with something like xss-lock
. To start it automatically on login, create the following file at ~/.config/autostart/xss-lock.desktop
[Desktop Entry]
Exec=xss-lock -- /home/sparhawk/.local/bin/asciiquarium_screensaver &
Type=Application
Terminal=false
Name=asciiquarium_screensaver
To change the timeout value, use
$ xset s TIME_IN_SECONDS TIME_IN_SECONDS
replacing TIME_IN_SECONDS
with the number of seconds of idleness before you want it to activate. I don't entirely understand why you need to enter it twice, but that's what worked for me.