Update dependencies
[xfishtank.git] / README.Linux
CommitLineData
2ac45f02
MG
1All I did to compile it was add: '|| defined(linux)' to the end of line 49
2of xfish.c, and added: '#ifdef linux signal(SIGUSR1, toggle_secure); #else'
3at line 1469 followed by '#endif /* LINUX */' at line 1495.
4
5I didn't figure this out for myself either, I just looked at the port of
6xfishtank1.0 at sunsite /pub/Linux/X11/demos/xfishtank.tar.Z
7done by: Dave Black dlbb0@amdahl.com
8
9I included the source and 'stripped' binary compiled with gcc2.2.2d7 and the
10jump4.1 libs under linux-0.99 and Xfree86v1.1
11
12I've been using it for months now without any problems. Much improved over
13xfishtank1.0, there are loads of new 'way cool' fish which posess the ability
14to swim on top of gifs!!
15
16One last note, the current Makefile was generated by my Xfree86v1.1 xmkmf
17and uses a -m486 CCOPTION, I don't know if this would cause it to not work
18on other machines or not (the binary, if it doesn't work try changing it to
19-m386, and recompiling) ???
20
21I'm uploading it to sunsite.unc.edu /pub/Linux/X11/Incoming
22
23Here is the README:
24
25 ********************** FUN WITH FISH *********************
26
27There are lots of programs for lots of platforms to make fish swim in the
28background of your screen. This is a modification of an old one called
29xfish (also called Xaquarium), that I have added more features to.
30
31To not confuse you (or confuse you more) I will call this modified xfish
32"xfishtank". ['A rose by any other name...' and all that]
33
34
35How is this different? I started with you basic xfish, and I kept the
36bubbles (actually I re-wrote some of the bubble code, but it LOOKS the same).
37I changed the rest of the code to allow any number of multicolored fish to
38swim around. Each fish can have up to 255 colors, but on startup the program
39takes all the colors from all the fish, and squeezes them down to all fit
40into the default colormap as best it can. Any fish can be any size in
41width and height. To make them look more like they are swimming, fish are
42animated (Very simple 2 frame animation) [I got this idea from watching
43the AfterDark fish on the Mac]. Fish CANNOT swim over each other, they
44will turn around if they are about to collide. I had a version that
45had fish swiming over each other, it was WAY to slow to be something to run
46on your background while working, so I deleted it.
47
48xfishtank -help to see the command line options.
49
50
51 ********************** NEW FUN WITH FISH *********************
52
53Since the original version, I have received various comments and bug fixes.
54This version I know runs on SGIs running 4.0, Sparcs running 4.1,
55Decstations running 4.1, and RS6000s running 3.1. However, there were mongo
56memory leaks in the X server distributed with the RS6000, so I had to compile
57the X11R5 server and use that.
58
59As you add more fish (especially very colorful fish) the total color use set
60becomes quite large (greater than 255). I added 2 new options to help you
61deal with this. By default xfishtank would find the total color use set
62for all the fish you requested, and then start allocating out of the default
63colormap until it filled up, it would then match the rest of the colors to
64whatever colors it could get. This first come first serve color allocation
65can give really bad results for large color sets. I added the -m option
66to allow you to specify that the program should cut the color use set down
67to the number you specify with the -m option before starting to allocate
68out of the default colormap. The algorithm used by -m is considerably better
69than first come first serve. Also, having xfishtank use ALL the available
70cells in the default colormap can be bad. The -C options lets you limit how
71many cells xfishtank will take out of the default colormap.
72In the first come first serve senario colors are allocated for the fish,
73in the order of appearance in the FishList file, and then from the backgound
74picture if one exists.
75
76Finally, due to popular demand, I put back in my clipmask code. By setting
77the -d option (for Do clipping), xfishtank will swim its fish over whatever
78you already have on your root window. WARNING: This will slow down your
79machine! The reason I took this code out originally was it slowed my
80machine down too much for me to comfortably work. But if you think you have
81a really spiffy fast workstation, go ahead and give it a try.
82
83If you use the -d option and notice some flicker (which I expect you will),
84this is because xfishtank is just doing an XClearArea, and letting the root
85redraw its background. If you know what you want your background picture to
86be, use -p <image_file> instead of -d. The image_file needs to be a gif
87image. Since xfishtank now knows what your background is, xfishtank with
88the -p option should have much less flicker. However, it suffers the
89disadvantage that you can't change the background picture without restarting
90xfishtank.
91
92The intrepid explorer of the source code will notice that there are some
93options not described in xfishtank -help. In particular -o -and -D. These
94options aren't described because they were stuff I was fussing with and couldn't
95get to work. I left them in on this release so that if someone else wanted
96to try and get them to work, they could see what I had already tried. The -o
97option lets fish try and swim on top of each other. It looks ugly no matter
98how I do it, if you can fix it, great. -D is a special option that is only
99active if you have also specified -d and -p. Normally you never want to specify
100both -d and -p because it doesn't make the animation any better, and it
101slightly messes up fish to bubble intersections. However, if you specify
102-d -D -o -p you will get as close as I could get to proper fish intersections.
103And when you see how crumby these are, and how slow it makes your machine
104you will know why I gave up.
105
106Ok, I'll fess up, I'm lying, I did actually get good fish to fish intersections
107but only by writing a completely different version of xfishtank that has
108each fish be a shaped override-redirect window, that moves itself, and changes
109its shape-mask to animate. This looks REALLY COOL, but grinds any and all
110X servers to a complete standstill.
111
112
113 ********************** NEW FISH PICTURES *********************
114
115This release contains a grand total of 29 fish! These fish were carefully
116created through lots of hard work, and the help of many many people who
117sent me pictures of fish, non-copyrighted gifs of fish, and allowed me to
118borrow their scanners. I'm not going to try and name them all here, there
119are lots of you, and I'm afraid I may miss someone. You all know who you are,
120and you have my heartfelt thanks, I couldn't have done this without you.
121
122
123 ********************** TROUBLE WITH FISH *********************
124
125There is a scarcity of good fish pictures in the world, and they are all
126protected by lawyers. Here is the solution I propose.
127
128Any of you with talent can edit up any pictures you want, somehow get them
129into GIF format, and import them into your xfishtank. The program
130"giftofish" that I am supplying here takes as input any 2 GIF files,
131and creates a xfishtank header file for that fish. The 2 files must have
132the same width and height, and must both have the same background color.
133The pictures are assumed to be the two frames of an animated fish swiming right.
134Put this new header file into your fishmaps directory, edit the FishList
135file to add the prefix of that header file, and increment the total fishcount
136on the first line of that file. Now recompile xfishtank, and your new fish
137will be used. Also, the program fishtogif will extract the two gifs from
138any fish header file so you can touch up what you already have.
139
140Other fish sources:
141 The AfterDark fish on the Mac are beautiful. If you
142have already shelled out the money to Berkely Systems Software to buy those
143fish, and you also want to see them on your UNIX box, here is what you do.
144If you can transfer the Mac fish files to UNIX, run the "gofish" program
145supplied here, it will write out the fish into two intermediate files.
146The files will look strange, they are my own format, just feed them to the
147giftofish program (which understands that format), and it will create a
148fish header file for you.
149 OpenWindows 3.0 comes with some fish pictures. If you have purchased
150Openwindows, and want to use those pictures, the program "rasttofish"
151supplied here will read one of their sun raster fish pictures, and produce
152a xfishtank header file for it. Note, the Openwindows fish are only one
153frame, so the won't be animated.
154 There is apparently a PC Windows program with some swimming fish.
155The individual fish are stored in .fsh files. The program pcfshtofish
156will turn one of these .fsh files into an xfishtank header file.
157
158
159 ********************** THANKS *********************
160
161A really big thanks to well over 100 wonderful people who after downloading
162the last version of xfishtank took the time to send me such pleasant,
163complimentary, and supportive e-mail. This version was never planned, but
164all of you have made me feel better about writing this code than anything
165that any employer has ever paid me for.
166
167
168As usual, mail any problems, questions, complaints, reccommendations, and
169cookies to me.
170
171Eric Bina
172508 E. Michigan, #35
173Urbana, IL 61801
174
175ebina@ncsa.uiuc.edu
176
177(217)344-9101
178Work(217)244-6133
179
180
This page took 0.02025 seconds and 4 git commands to generate.