X_FISHTANK(1) V2.2 X_FISHTANK(1)
11 MAY 1999
NAME
xfishtank - X_Fishtank
SYNOPSIS
xfishtank
DESCRIPTION
There are lots of programs for lots of platforms to make fish swim in
the background of your screen. This is a modification of an old one
called xfish (also called Xaquarium), that I have added more features
to.
To not confuse you (or confuse you more) I will call this modified
xfish "xfishtank". ['A rose by any other name...' and all that]
OVERVIEW
Since the original version, I have received various comments and bug
fixes. This version I know runs on SGIs running 4.0, Sparcs running
4.1, Decstations running 4.1, and RS6000s running 3.1. However, there
were mongo memory leaks in the X server distributed with the RS6000,
so I had to compile the X11R5 server and use that.
As you add more fish (especially very colorful fish) the total color
use set becomes quite large (greater than 255). I added 2 new options
to help you deal with this. By default xfishtank would find the total
color use set for all the fish you requested, and then start
allocating out of the default colormap until it filled up, it would
then match the rest of the colors to whatever colors it could get.
This first come first serve color allocation can give really bad
results for large color sets. I added the -m option to allow you to
specify that the program should cut the color use set down to the
number you specify with the -m option before starting to allocate out
of the default colormap. The algorithm used by -m is considerably
better than first come first serve. Also, having xfishtank use ALL
the available cells in the default colormap can be bad. The -C
options lets you limit how many cells xfishtank will take out of the
default colormap. In the first come first serve senario colors are
allocated for the fish, in the order of appearance in the FishList
file, and then from the backgound picture if one exists.
Finally, due to popular demand, I put back in my clipmask code. By
setting the -d option (for Do clipping), xfishtank will swim its fish
over whatever you already have on your root window. WARNING: This
will slow down your machine! The reason I took this code out
originally was it slowed my machine down too much for me to
comfortably work. But if you think you have a really spiffy fast
workstation, go ahead and give it a try.
If you use the -d option and notice some flicker (which I expect you
will), this is because xfishtank is just doing an XClearArea, and
- 1 - Formatted: December 16, 2025
X_FISHTANK(1) V2.2 X_FISHTANK(1)
11 MAY 1999
letting the root redraw its background. If you know what you want
your background picture to be, use -p <image_file> instead of -d. The
image_file needs to be a gif image. Since xfishtank now knows what
your background is, xfishtank with the -p option should have much less
flicker. However, it suffers the disadvantage that you can't change
the background picture without restarting xfishtank.
FEATURES
This release contains a grand total of 29 fish! These fish were
carefully created through lots of hard work, and the help of many many
people who sent me pictures of fish, non-copyrighted gifs of fish, and
allowed me to borrow their scanners. I'm not going to try and name
them all here, there are lots of you, and I'm afraid I may miss
someone. You all know who you are, and you have my heartfelt thanks,
I couldn't have done this without you.
There is a scarcity of good fish pictures in the world, and they are
all protected by lawyers. Here is the solution I propose.
Any of you with talent can edit up any pictures you want, somehow get
them into GIF format, and import them into your xfishtank. The
program "giftofish" that I am supplying here takes as input any 2 GIF
files, and creates a xfishtank header file for that fish. The 2 files
must have the same width and height, and must both have the same
background color. The pictures are assumed to be the two frames of an
animated fish swiming right. Put this new header file into your
fishmaps directory, edit the FishList file to add the prefix of that
header file, and increment the total fishcount on the first line of
that file. Now recompile xfishtank, and your new fish will be used.
Also, the program fishtogif will extract the two gifs from any fish
header file so you can touch up what you already have.
Other fish sources: The AfterDark fish on the Mac are beautiful.
If you have already shelled out the money to Berkely Systems Software
to buy those fish, and you also want to see them on your UNIX box,
here is what you do. If you can transfer the Mac fish files to UNIX,
run the "gofish" program supplied here, it will write out the fish
into two intermediate files. The files will look strange, they are my
own format, just feed them to the giftofish program (which understands
that format), and it will create a fish header file for you.
OpenWindows 3.0 comes with some fish pictures. If you have
purchased Openwindows, and want to use those pictures, the program
"rasttofish" supplied here will read one of their sun raster fish
pictures, and produce a xfishtank header file for it. Note, the
Openwindows fish are only one frame, so the won't be animated.
There is apparently a PC Windows program with some swimming fish.
The individual fish are stored in .fsh files. The program pcfshtofish
will turn one of these .fsh files into an xfishtank header file.
- 2 - Formatted: December 16, 2025
X_FISHTANK(1) V2.2 X_FISHTANK(1)
11 MAY 1999
PROGRAM AUTHOR
Eric Bina <ebina@ncsa.uiuc.edu>
MAN PAGE
Mehdi Lavasani <lavasani@csc.liv.ac.uk>
- 3 - Formatted: December 16, 2025