1XPenguins(1) General Commands Manual XPenguins(1)
2
3
4
6 xpenguins - cute little penguins that walk along the tops of your win‐
7 dows
8
10 xpenguins [-option ...]
11
13 XPenguins is a program for animating cute cartoons/animals in your root
14 window. By default it will be penguins - they drop in from the top of
15 the screen, walk along the tops of your windows, up the side of your
16 windows, levitate, skateboard, and do other similarly exciting things.
17 Be careful when you move windows as the little guys squash easily. If
18 you send the program an interupt signal (such as by hitting Ctrl-C)
19 they will burst. XPenguins is now themeable, so it is easy to select
20 something else to animate instead of penguins, or even (with a little
21 artistic talent) define your own; see the THEMES section below.
22
24 In all the following cases a double dash can be replaced by a single
25 dash.
26
27 -a, --no-angels
28 Do not show any cherubim flying up to heaven when a toon gets
29 squashed.
30
31 -b, --no-blood
32 Do not show any gory death sequences.
33
34 -c dir, --config-dir dir
35 Look for config files and themes in this directory. The default
36 is usually /usr/share/xpenguins.
37
38 -d display, --display display
39 Send the toons to the specified X display. In the absence of
40 this option, the display specified by the DISPLAY environment
41 variable is used.
42
43 -h, --help
44 Print out a message describing the available options.
45
46
47 -i, --theme-info
48 Print out the auxiliary information about a theme and
49 exit. Use the -t option to select the theme to describe.
50
51 -l, --list-themes
52 List the available themes, one on each line, and exit.
53
54 -m delay, --delay delay
55 Set the delay between each frame in milliseconds. The
56 default is defined by the theme.
57
58 -n number, --penguins number
59 The number of toons to start, up to a maximum of 256.
60 The default is defined by the theme.
61
62 -p, --ignorepopups
63 Toons fall through `popup' windows (those with the save-
64 under attribute set), such as tooltips. Note that this
65 also includes the KDE panel.
66
67 -r, --rectwin
68 Toons regard all windows as rectangular. This option
69 results in faster calculation of window positions, but
70 if you use one of those fancy new window managers with
71 shaped windows then your toons might sometimes look like
72 they're walking on thin air.
73
74 -s, --squish
75 Enable the penguins to be squished using any of the
76 mouse buttons. Note that this disables any existing
77 function of the mouse buttons on the root window.
78
79 -t theme, --theme theme
80 Use the named theme. The default is Penguins. If the
81 theme has spaces in its name then you can use under‐
82 scores instead, or alternatively just put the name in
83 double quotes. This option can be called multiple times
84 to run several themes simultaneously.
85
86 -q, --quiet
87 Suppress the exit message when an interupt is received.
88
89 -v, --version
90 Print out the current version number and quit.
91
92 --all Load all available themes and run them simultaneously.
93
94 --id window
95 Send toons to the window with this ID, instead of the
96 root window or whichever window is appropriate for the
97 current desktop environment. Note that the ID of X
98 clients reported by xwininfo is rarely that of the fore‐
99 most visible window that should be used here.
100
101 --nice loadaverage1 loadaverage2
102 Start killing toons when the 1-min averaged system load
103 exceeds loadaverage1; when it exceeds loadaverage2 kill
104 them all. The toons will reappear when the load average
105 comes down. The load is checked every 5 seconds by look‐
106 ing in /proc/loadavg, so this option only works under
107 unices that implement this particular pseudo file (prob‐
108 ably just Linux). When there are no toons on the screen,
109 XPenguins uses only a miniscule amount of CPU time - it
110 just wakes up every 5 seconds to recheck the load.
111
113 The system themes are usually kept in /usr/share/xpen‐
114 guins/themes, and these can be augmented or overridden by the
115 user's themes in $HOME/.xpenguins/themes. Each theme has its
116 own subdirectory which to be valid must contain a file called
117 config. The name of the theme is taken from the directory name,
118 although because many install scripts choke on directory names
119 containing spaces, all spaces in a theme name are represented in
120 the directory name by underscores. Any directory name containing
121 spaces is inaccessible by xpenguins.
122
123 In addition to the config file, the theme directory contains the
124 toon images that make up the theme in the form of xpm image
125 files. Additionally, there should be an about file which gives
126 information on the creator of the theme, the license under which
127 it is distributed and various other things. This file is princi‐
128 pally for use by xpenguins_applet, an applet for GNOME that
129 allows different themes to be selected at the click of a button.
130
131 The config file has a reasonably straightforward format. You can
132 either read this rather terse description of it or you can have
133 a look at the config file for the default Penguins theme, which
134 is usually installed at /usr/share/xpenguins/themes/Pen‐
135 guins/config, and is reasonably well commented. We'll first
136 establish some simple terminology. Say you have a Farmyard theme
137 with cows and sheep. The cows and sheep are types of toon, while
138 the various things they get up to (walking, mooing and so on)
139 are termed activities. Each activity has its own xpm image
140 file, in which the frames of the animation are laid out horizon‐
141 tally. Some activities (notably walking) use different images
142 depending on the direction the toon is moving in. In this case
143 the frames for the two directions are laid out one above the
144 other in the image.
145
146 As in shell scripts, comments are initiated with the # character
147 and hide the remainder of the line. The format is entirely free
148 except that there is an arbitrary limit on the length of a line
149 of 512 characters. Spaces, tabs and newlines all count equally
150 as white space. Data is entered as a sequence of key value
151 pairs, all separated by white space. Neither the keys nor the
152 values are case sensitive, except where the value is a filename.
153 The following keys are understood:
154
155 delay delay
156 Set the recommended delay between frames in millisec‐
157 onds.
158
159 toon toon
160 Begin defining a new toon called toon. If only one type
161 of toon is present in the theme then this key may be
162 omitted.
163
164 number number
165 Set the default number of toons of the current type to
166 start.
167
168 define activity
169 Begin defining an activity for the current toon. The
170 currently understood activities are walker, faller, tum‐
171 bler, climber, floater, runner, explosion, squashed,
172 zapped, splatted, angel, exit and action?, where ? is a
173 number between 0 and 6. Once you've seen the program in
174 action you should be able to guess which is which. A
175 valid theme must contain at least walkers and fallers.
176 Additionally, you may define a default activity (with
177 define default); any properties (such as width and
178 speed) set here are then adopted by the activities
179 defined from then on, if they do not themselves explic‐
180 itly define those properties. After an activity has
181 been declared with define, the following properties may
182 be assigned:
183
184 pixmap xpmfile
185 The file containing the image data for the activity.
186 Note that you may not set a default pixmap.
187
188 width width
189 The width of each frame of the animation in pixels.
190
191 height height
192 The height of each frame of the animation in pixels.
193
194 frames frames
195 The number of frames in the animation.
196
197 directions directions
198 The number of directions for the activity (can be 1 or
199 2).
200
201 speed speed
202 The initial speed of the toon when engaged in this
203 activity, in pixels per frame.
204
205 acceleration acceleration
206 The rate at which the speed increases, in pixels per
207 frame squared. This property is not utilised by all
208 activities.
209
210 terminal_velocity terminal_velocity
211 The maximum speed in pixels per frame, again not
212 utilised by all activities.
213
214 loop loop
215 Only understood by the actions; indicates how many times
216 to repeat the action. If negative, then the probility of
217 stopping the action every time the action is complete is
218 -1/loop.
219
220 Some notes regarding the various activities. If you design a new
221 theme, feel free to make the splatted, squashed, zapped and exit
222 animations as gory and bloody as you like, but please keep the
223 explosion activity nice and tame; that way those of a nervous
224 disposition can employ the --no-blood option which replaces all
225 these violent deaths with a tasteful explosion that wouldn't
226 offend your grandmother. Xpm images files are a factor of two
227 smaller if you can limit the number of colours in the image such
228 that only one character need be used to represent each colour;
229 this also makes XPenguins start up much more rapidly. Rarely are
230 more than 64 colours required.
231
232 So that's about it for the config file, now for the about file.
233 This is very simple. Again comments are initialised by a #. An
234 entry consists of a key at the start of a line, followed by the
235 corresponding value which is read up to the next newline. The
236 following keys are understood, although none are compulsory.
237
238 artist Used to list the artist(s) who created the original
239 images.
240
241 maintainer
242 The person who compiled the images into an XPenguins
243 theme. It is useful if an email address can also be pro‐
244 vided.
245
246 date The date when the theme was last modified. My preferred
247 format is day of the month, name of the month in eng‐
248 lish, full year. For example: 24 April 2001.
249
250 icon The name of an image file that can be used as an icon
251 for the theme; XPM and PNG are suitable formats.
252
253 license The name of the license under which the theme is dis‐
254 tributed (e.g. GPL).
255
256 copyright
257 The year and holder of the copyright.
258
259 comment Any other essential information, such as the theme's web
260 site, as brief as possible.
261
262 Please test any about files you create by looking at how
263 the information is displayed by the xpenguins_applet
264 program.
265
266
268 Robin Hogan <R.J.Hogan@reading.ac.uk>.
269
271 Inspiration provided by Rick Jansen <rick@sara.nl> in the form
272 of the classic xsnow. Most penguin images were taken from Pin‐
273 gus, a free lemmings clone that can be found at <http://pin‐
274 gus.seul.org/>; these images were designed by Joel Fauche
275 <joel.fauche@wanadoo.fr> and Craig Timpany <timpany@es.co.nz>.
276 Additional images in version 2 by Rob Gietema <tycoon@planetdes‐
277 cent.com> and Robin Hogan.
278
280 XPenguins can load an X server and/or network (although the CPU
281 time used is small), and if a large number of penguins are
282 spawned then they may begin to flicker, depending on the speed
283 of the X server.
284
285 The xpenguins homepage is located at:
286
287 http://xpenguins.seul.org/
288
290 A new feature since version 2.1 is the ability to draw to win‐
291 dows other than the root window in situations where the window
292 manager or desktop environment places a large window over the
293 root window that would otherwise obscure the toons. Currently
294 XPenguins can draw to the KDE Desktop (KDE 2.0 and 2.1),
295 Enlightenment desktops greater than 0 (E16), the Nautilus desk‐
296 top and the virtual root window of certain window managers like
297 amiwm. Of course, simpler window managers that don't mess
298 around like this will still work (sawfish, blackbox and count‐
299 less others). It cannot work with CDE and probably never will.
300 Future versions of KDE, Enlightenment and Nautilus may not work;
301 the classic symptom of this is that XPenguins sits there as if
302 it's doing something, but no toons are visible. If this happens,
303 try running the program with one of the simpler window manager
304 listed above, or visit the XPenguins web site and download the
305 latest version. If there are icons drawn on the root window then
306 the toons will erase them when they walk over them, although an
307 expose event will be sent to the window every 100 frames to
308 redraw them.
309
311 $HOME/.xpenguins/themes/*
312 /usr/share/xpenguins/themes/*
313 /proc/loadavg
314
316 xsnow(1), xroach(1), xwininfo(1) pingus(6)
317
318
319
320XPenguins 2.2 1 October 2001 XPenguins(1)