XPenguins(1) | General Commands Manual | XPenguins(1) |
xpenguins - cute little penguins that walk along the tops of your windows
xpenguins [-option ...]
XPenguins is a program for animating cute cartoons/animals in your root window. By default it will be penguins - they drop in from the top of the screen, walk along the tops of your windows, up the side of your windows, levitate, skateboard, and do other similarly exciting things. Be careful when you move windows as the little guys squash easily. If you send the program an interrupt signal (such as by hitting Ctrl-C) they will burst. XPenguins is now themeable, so it is easy to select something else to animate instead of penguins, or even (with a little artistic talent) define your own; see the THEMES section below.
In all the following cases a double dash can be replaced by a single dash.
The system themes are usually kept in /usr/share/xpenguins/themes, and these can be augmented or overridden by the user's themes in $HOME/.xpenguins/themes. Each theme has its own subdirectory which to be valid must contain a file called config. The name of the theme is taken from the directory name, although because many install scripts choke on directory names containing spaces, all spaces in a theme name are represented in the directory name by underscores. Any directory name containing spaces is inaccessible by xpenguins.
In addition to the config file, the theme directory contains the toon images that make up the theme in the form of xpm image files. Additionally, there should be an about file which gives information on the creator of the theme, the license under which it is distributed and various other things. This file is principally for use by xpenguins_applet, an applet for GNOME that allows different themes to be selected at the click of a button.
The config file has a reasonably straightforward format. You can either read this rather terse description of it or you can have a look at the config file for the default Penguins theme, which is usually installed at /usr/share/xpenguins/themes/Penguins/config, and is reasonably well commented. We'll first establish some simple terminology. Say you have a Farmyard theme with cows and sheep. The cows and sheep are types of toon, while the various things they get up to (walking, mooing and so on) are termed activities. Each activity has its own xpm image file, in which the frames of the animation are laid out horizontally. Some activities (notably walking) use different images depending on the direction the toon is moving in. In this case the frames for the two directions are laid out one above the other in the image.
As in shell scripts, comments are initiated with the # character and hide the remainder of the line. The format is entirely free except that there is an arbitrary limit on the length of a line of 512 characters. Spaces, tabs and newlines all count equally as white space. Data is entered as a sequence of key value pairs, all separated by white space. Neither the keys nor the values are case sensitive, except where the value is a filename. The following keys are understood:
Some notes regarding the various activities. If you design a new theme, feel free to make the splatted, squashed, zapped and exit animations as gory and bloody as you like, but please keep the explosion activity nice and tame; that way those of a nervous disposition can employ the --no-blood option which replaces all these violent deaths with a tasteful explosion that wouldn't offend your grandmother. Xpm images files are a factor of two smaller if you can limit the number of colours in the image such that only one character need be used to represent each colour; this also makes XPenguins start up much more rapidly. Rarely are more than 64 colours required.
So that's about it for the config file, now for the about file. This is very simple. Again comments are initialised by a #. An entry consists of a key at the start of a line, followed by the corresponding value which is read up to the next newline. The following keys are understood, although none are compulsory.
Please test any about files you create by looking at how the information is displayed by the xpenguins_applet program.
Robin Hogan <R.J.Hogan@reading.ac.uk>.
Inspiration provided by Rick Jansen <rick@sara.nl> in the form of the classic xsnow. Most penguin images were taken from Pingus, a free lemmings clone that can be found at <http://pingus.seul.org/>; these images were designed by Joel Fauche <joel.fauche@wanadoo.fr> and Craig Timpany <timpany@es.co.nz>. Additional images in version 2 by Rob Gietema <tycoon@planetdescent.com> and Robin Hogan.
XPenguins can load an X server and/or network (although the CPU time used is small), and if a large number of penguins are spawned then they may begin to flicker, depending on the speed of the X server.
The xpenguins homepage is located at:
http://xpenguins.seul.org/
A new feature since version 2.1 is the ability to draw to windows other than the root window in situations where the window manager or desktop environment places a large window over the root window that would otherwise obscure the toons. Currently XPenguins can draw to the KDE Desktop (KDE 2.0 and 2.1), Enlightenment desktops greater than 0 (E16), the Nautilus desktop and the virtual root window of certain window managers like amiwm. Of course, simpler window managers that don't mess around like this will still work (sawfish, blackbox and countless others). It cannot work with CDE and probably never will. Future versions of KDE, Enlightenment and Nautilus may not work; the classic symptom of this is that XPenguins sits there as if it's doing something, but no toons are visible. If this happens, try running the program with one of the simpler window manager listed above, or visit the XPenguins web site and download the latest version. If there are icons drawn on the root window then the toons will erase them when they walk over them, although an expose event will be sent to the window every 100 frames to redraw them.
$HOME/.xpenguins/themes/*
/usr/share/xpenguins/themes/*
/proc/loadavg
1 October 2001 | XPenguins 2.2 |