1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
XPENGUINS - cool little penguins walking along the tops of your windows
Copyright (C) 1999-2001 Robin Hogan
Version: 2.2 (1 October 2001)
INTRODUCTION
XPenguins is a program for animating cute cartoons/animals in your
root window. By default it will be penguins - they fall from the top
of the screen, walk along the top of windows, up the side of windows
and do various other stuff. Other themes in the base package are "Big
Penguins" (50% bigger), "Classic Penguins" (reproducing XPenguins
version 1.2), "Turtles", and "Bill". More themes can be downloaded
from the XPenguins web site (http://xpenguins.seul.org/) - version 0.9
of the xpenguins_themes package contains "The Simpsons", "Sonic the
Hedgehog", "Lemmings" and "Winnie the Pooh".
To run the program, type "xpenguins" at the console. Type "xpenguins
--help" to see the available options, or read the man page (type "man
xpenguins"). If you want to make your own theme, read the THEMES
section of the man page and have a look at the config file for the
default theme (which is usually installed in
/usr/share/xpenguins/themes/Penguins/config). You may also find the
gimp scripts "lay-out-frames.scm" and "resize-frames.scm" useful - the
first lays out the frames of an animated gif side by side in a way
that can be used by XPenguins, and the second resizes an XPenguins
image frame by frame to avoid bleeding of colors between adjacent
frames.
INSTALLATION
Do the following:
./configure
make
make install (as root)
By default everything will be installed in /usr/local. Use
"./configure --prefix=/usr" (or similar) to install it somewhere
else. For more information, read the INSTALL file, or type "./configre
--help". If you have problems with the make process then try using
"gmake" instead of "make".
LICENSE
This program is released under the GNU general public license - see
the COPYING file. This license applies to everything in the base
distribution, including the themes "Penguins", "Classic Penguins",
"Big Penguins", "Turtles" and "Bill".
FREQUENTLY ASKED QUESTION
"The program is running but I can't see any penguins. Why?"
"KDE 2, CDE, Enlightenment 0.16 (for desktops > 0), the Nautilus file
mangler, and possibly others, all put a big X window over the root
window. In the case of KDE 2.0 and 2.1, Enlightenment and Nautilus
1.0, XPenguins should be able to find this window and draw to it
instead of drawing to the root window. It then reports "Drawing to XXX
Desktop" when it runs. Unfortunately there is no standardised way to
find the correct window, so in later versions of any of these programs
it might fail. When this happens the program looks like it's running
but no toons are visible. Also, hybrid combinations such as KDE plus
enlightenment might fail. CDE will probably never work, although
XPenguins should definitely work with simpler window managers like
sawfish and blackbox. I have had reports of problems with KDE 2.2.
This will be fixed when I get access to a machine running KDE 2.2."
TOP TIP
If you have gtk-shell installed, try this courtesy of Carles Amig. At
the end of your ~/.bashrc file add the line:
alias xpselect="xpenguins -t \`gtk-shell -l \"Select a Theme:\" -c \\\`xpenguins -l |sed s/\" \"/_/g\\\` -t xpenguins -b \"Ok\"\`"
Now from a new terminal "xpselect" will allow you to select the theme
in a handy dialog box. If you run Korn shell, put the line in your
~/.kshrc file instead. It'll probably work with csh too, but will
need some modification.
CODE GUIDE
You are welcome to modify or borrow any of this code, under the
conditions of the GNU GPL. The code is in the src directory and is
organised as follows:
The toon_*.c files contain functions for animating images on the root
(or other) window. They also hide the X calls from higher-level
code. Each function is prefixed with "Toon" - you can see which
functions are in which file by looking at the header file toon.h. One
function that might be useful in other programs is ToonGetRootWindow()
in toon_root.c; this finds the appropriate window to draw to when
Nautilus/Enlightenment/KDE and so on are running. Certainly there are
programs out there (e.g. xearth and xplanet) that sometimes don't work
properly in these environments.
The xpenguins_*.c files contain functions (prefixed with xpenguins_)
that load themes and govern the behaviour of the penguins. The header
file xpenguins.h describes briefly what each function does. The user
interface code then interprets the various user-supplied options and
implements them by calling xpenguins functions; in this way different
XPenguins front ends produce penguins that behave in the same
way. This package is the command-line version - the front-end code is
in main.c. The GNOME graphical front (the xpenguins_applet package)
uses exactly the same toon and xpenguins files. Therefore if you make
a modification to the program that you would like me to include in a
future release, please do it in such a way that it will work in all
versions.
ACKNOWLEDGEMENTS
Inspiration was provided by Rick Jansen <rick@sara.nl> in the form of
the classic "xsnow".
Many of the penguin images were taken from "Pingus", a free lemmings
clone for Linux (http://pingus.seul.org/), and were designed by Joel
Fauche <joel.fauche@wanadoo.fr> and Craig Timpany
<timpany@es.co.nz>. Rob Gietema <tycoon@planetdescent.com> provided
some new penguin images now used in the default theme.
AUTHOR
Robin Hogan <R.J.Hogan@reading.ac.uk>
The XPenguins homepage is located at http://xpenguins.seul.org/
SEE ALSO
Michael Vines <isamu@neomueller.org> has rewritten the program (as of
version 1.1) for Microsoft Windows and called it "WinPenguins" -
visit http://neomueller.org/~isamu/winpenguins/
|