Recently I had a flirtation with removing all the non-free software from my Debian installs. This didn’t last very long: I got annoyed that I couldn’t watch iplayer with gnash, and blodgett reminded me that I had a copy of Vista running in VirtualBox. Ooops.
However, upon reinstating the non-free repository I installed the vrms package to remind me of my failings. Blodgett suggested vrms might be better implemented as a popup character like clippy. But wait! Doesn’t xcowsay do something very similar?!
Well, xcowsay has a --cow-size
option that lets you select from small, medium, and large cow images. This actually just looks for a cow_*.png
file, so if we created a cow_rms.png
…
Here we see Richard Stallman arising from the Humber like some terrible sea monster about to wreak destruction on the propriety software industry of Hull.
If you want to use this yourself just install xcowsay, vrms, and grab these files:
- cow_rms.png – save this in
/usr/share/xcowsay
or wherever xcowsay is installed. - vrms-xcowsay – a script to invoke xcowsay with the output of vrms. Don’t forget to
chmod +x
it!
The script is very simple and looks like this:
(printf "I SEE UR USIN NON-FREE SOFTWARES :-(;\n\n"; vrms) \ | xcowsay --font=monospace --cow-size=rms $*
I’m thinking of adding a --image
option to xcowsay 1.2 to make things like this easier.
Enjoy!
UPDATE: xcowsay 1.2 now supports this via the --image
option.
this made blodgett laugh all over again :D
do want image option!
November 1, 2009 @ 5:04 pm
also mustn’t forget to chmod +x otherwise the leetle scriptee does complain :(
November 1, 2009 @ 5:09 pm
blodgett again. on my computorg, the ‘-e’ in the scriptee appear in the cow text; blodgett did delete it and it go away.
why this happen?
November 1, 2009 @ 5:13 pm
> why this happen?
Oh no! I’ve been caught out by something I read only last week in “Classic Shell Scripting”: the -e option (means “interpret escape sequences like \n”) is implemented in GNU echo, but usually this is not used as your shell has its own built-in. On Ubuntu and recent Debian /bin/sh is dash rather than bash which doesn’t support -e and just prints it.
Much more portable solution is to use printf, which I will update the script to do.
November 1, 2009 @ 9:11 pm
under xmonad on my thinkpad, i bound my ThinkVantage key to xcowsay; simply add:
((0, 0x1008ff41), spawn “xcowfortune”)
to keys in your config.
the results are assuredly delightful.
November 15, 2009 @ 2:48 am
@doik
you comment at 2 4 8
blodgett LIKE it :D
om nom nom
November 18, 2009 @ 1:59 pm
[…] this one's for you http://www.doof.me.uk/2009/10/31/an-alternative-application-of-xcowsay/ […]
January 6, 2010 @ 8:14 am
Hi! I am a longtime proud user of your fine product (check out your first comment in xcowsay from 2008! at 4 AM in the morning!)
How do I specify a larger font size? I tried “ExposureCOneRough 28” with quotes; it increased the size but the font defaulted to sans. Without quotes, the font is correct though, but it warned about the token when a newline is expected or something. Should I revert back to regular fonts like sans?
November 18, 2012 @ 6:06 pm
Looks like you’ve stumbled on a limitation of the xcowsayrc config file. There isn’t currently a way to set an option value which contains spaces! You could try –font “ExposureCOneRough 28” explicitly on the command line or alternatively use the latest version from github where I’ve fixed the problem:
https://github.com/nickg/xcowsay/commit/9e80f4d8efadab27a0f40fff835174825c957c3b
With this you should be able to do
font = “ExposureCOneRough 28”
in the config file as you expected.
November 19, 2012 @ 9:36 pm
[…] alternative non-cow images if you […]
October 13, 2014 @ 5:40 pm