After finding a slick way to incorporate a screensaver for the console, I’m keeping my eyes open for other options in the splashy-text-thingy department.
libcaca, right now, seems to be the best runner up to my long-time favorite, cmatrix. Installing libcaca gives you four nifty screensaver-type-thingies — cacamoir, cacafire, cacaball and cacaplas.
Each one is more or less an analogue for an xscreensaver display, albeit somewhat chunky and text-built. But even at 550Mhz, it’s doing quite well in the framerate department.
One small note if you run a purely X-less machine like me: In Crux and probably in other distributions, installing libcaca can call in some packages that fall under the X umbrella. I frown upon that since I have discovered how nice it is to omit anything X-governed, but I did build the package on a machine with X installed, which is easier than trying to filter through the dependencies and make it work.
Once the package itself is built you can transplant it to an X-less machine, and the only loss of function is when the caca libraries need to display an image (like a jpg photo) translated into their text-style output. But I have fim for displaying images; I wouldn’t use caca for that anyway.
No, what I want out of caca is that cache of demo-style programs. That, coupled with cmatrix (and maybe asciiquarium, if I could ever figure out the dependencies :roll:) makes for a nice, small suite of screensavers.
Now: How about triggering them randomly from within screen?
Easier done than said, really. This is an exceedingly primitive script that creates a random number, selects a screensaver by case, and uses that as the blanker for screen.
RANGE=4 number=$RANDOM let "number %= $RANGE" case $number in 0) cmatrix -ab -u 2 ;; 1) cacaball ;; 2) cacaplas ;; 3) cacafire ;; esac
(I omitted the moire screensaver because it seems somehow exceptionally taxing. I had a hard time regaining the system’s attention when it was running.) Please feel free to improve upon this; as I have mentioned before, I have all the programming skills of a rock. As in, “Hit it with a rock, and maybe it will start working.” π
The next step is to adjust your .screenrc file to point to the script with the blankerprg option, like this:
blankerprg /home/kmandla/.scripts/screensaver.sh
or input that line directly into screen with CTRL+A : (that’s control-plus-a, followed by a colon).
Depending on your idle variable, the script should throw out a random “screensaver,” when it reaches the timeout.
In the mean time, I’m going to keep looking for more console-based autonomous screensaverish doodads. Maybe there’s a category or a list somewhere. … π
Heh, interesting. Me, I just let the screen go blank and/or shutdown. Less CPU, memory, hd taxation that way…especially important to give that older hardware a rest π
[quote]βHit it with a rock, and maybe it will start working.β :|[/quote]
oh, that’s the only way to deal with russian technical products, be it cars or some laundry machines… )
“(and maybe asciiquarium, if I could ever figure out the dependencies π )”
… ever tried to click on the read_me link on that asciiquarium site you conveniently linked to? π
Many times. The problem is finding their corresponding packages — or creating them from scratch — in Crux. It’s the one small downside of working with a sparse distribution. π
that link probably doesn’t work when you bash it with a rock π
For a bit easier maintenance you could do soemthing like the following in your script:
index=0
screensaver[$((index++))]=”cmatrix -ab -u 2″
screensaver[$((index++))]=”cacaball”
screensaver[$((index++))]=”cacaplas”
screensaver[$((index++))]=”cacafire”
sh -c “${screensaver[$((RANDOM % index))]}”
Some might argue that it would be more unixy to create small stubs in a folder, and filling the array along the lines of “for saver in folder/*”, or while read saver < $(ls folder)…
Anyway, saves you from updating the integer on each case *and* manually calculating the total number of screensavers…
-e
Ah, thanks. I was hoping someone would improve upon that. I have already replaced my gnarled version with yours … π
Hey how do you use libcaca? I am trying to experiment with these screensavers but their website doesn’t explain how to call them up on the screen. aasciquarium works pretty well on slitaz and xubuntu btw. I just installed all the stuff mentioned in the readme file with the tarball of asciiquarium. But then, I have X.
skralljt – you should just have to fire off the ‘cacafire’, ‘cacaball’ or ‘cacaplas’ command on whichever distro you’ve got libcaca installed on.
hmm i may suggest Borednomore from http://zzer.wordpress.com is lite and does work for me.
Pingback: Using figlet for a console screensaver « Motho ke motho ka botho
Pingback: A few more games for the console « Motho ke motho ka botho
Pingback: vtclock: One more console clock can’t hurt « Motho ke motho ka botho
Pingback: Five unattached ideas « Motho ke motho ka botho
Pingback: One tool, one game, one clock « Motho ke motho ka botho
Pingback: For The Love Of………. ASCII Fish??? | Hilltop Yodeler