Penguin
Blame: xpenguins(1)
EditPageHistoryDiffInfoLikePages
Annotated edit history of xpenguins(1) version 1, including all changes. View license author blame.
Rev Author # Line
1 perry 1 XPenguins
2 !!!XPenguins
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 OPTIONS
7 THEMES
8 AUTHOR
9 CREDITS
10 NOTES
11 BUGS
12 FILES
13 SEE ALSO
14 ----
15 !!NAME
16
17
18 xpenguins - cute little penguins that walk along the tops of your windows
19 !!SYNOPSIS
20
21
22 __xpenguins__ [[-option ...]
23 !!DESCRIPTION
24
25
26 ''XPenguins'' is a program for animating cute
27 cartoons/animals in your root window. By default it will be
28 penguins - they drop in from the top of the screen, walk
29 along the tops of your windows, up the side of your windows,
30 levitate, skateboard, and do other similarly exciting
31 things. Be careful when you move windows as the little guys
32 squash easily. If you send the program an interupt signal
33 (such as by hitting Ctrl-C) they will burst.
34 ''XPenguins'' is now themeable, so it is easy to select
35 something else to animate instead of penguins, or even (with
36 a little artistic talent) define your own; see the
37 __THEMES__ section below.
38 !!OPTIONS
39
40
41 In all the following cases a double dash can be replaced by
42 a single dash.
43
44
45 __-a, --no-angels__
46
47
48 Do not show any cherubim flying up to heaven when a toon
49 gets squashed.
50
51
52 __-b, --no-blood__
53
54
55 Do not show any gory death sequences.
56
57
58 __-c__ ''dir''__, --config-dir__
59 ''dir''
60
61
62 Look for config files and themes in this directory. The
63 default is usually ''/usr/share/xpenguins''.
64
65
66 __-d__ ''display''__, --display__
67 ''display''
68
69
70 Send the toons to the specified X display. In the absence of
71 this option, the display specified by the __DISPLAY__
72 environment variable is used.
73
74
75 __-h, --help__
76
77
78 Print out a message describing the available
79 options.
80
81
82 __-i, --theme-info__
83
84
85 Print out the auxiliary information about a theme and exit.
86 Use the __-t__ option to select the theme to
87 describe.
88
89
90 __-l, --list-themes__
91
92
93 List the available themes, one on each line, and
94 exit.
95
96
97 __-m__ ''delay''__, --delay__
98 ''delay''
99
100
101 Set the delay between each frame in milliseconds. The
102 default is defined by the theme.
103
104
105 __-n__ ''number''__, --penguins__
106 ''number''
107
108
109 The number of toons to start, up to a maximum of 256. The
110 default is defined by the theme.
111
112
113 __-p, --ignorepopups__
114
115
116 Toons fall through `popup' windows (those with the
117 save-under attribute set), such as tooltips. Note that this
118 also includes the KDE panel.
119
120
121 __-r, --rectwin__
122
123
124 Toons regard all windows as rectangular. This option results
125 in faster calculation of window positions, but if you use
126 one of those fancy new window managers with shaped windows
127 then your toons might sometimes look like they're walking on
128 thin air.
129
130
131 __-s, --squish__
132
133
134 Enable the penguins to be squished using any of the mouse
135 buttons. Note that this disables any existing function of
136 the mouse buttons on the root window.
137
138
139 __-t__ ''theme''__, --theme__
140 ''theme''
141
142
143 Use the named theme. The default is __Penguins__. If the
144 theme has spaces in its name then you can use underscores
145 instead, or alternatively just put the name in double
146 quotes. This option can be called multiple times to run
147 several themes simultaneously.
148
149
150 __-q, --quiet__
151
152
153 Suppress the exit message when an interupt is
154 received.
155
156
157 __-v, --version__
158
159
160 Print out the current version number and quit.
161
162
163 __--all__
164
165
166 Load all available themes and run them
167 simultaneously.
168
169
170 __--id__ ''window''
171
172
173 Send toons to the window with this ID, instead of the root
174 window or whichever window is appropriate for the current
175 desktop environment. Note that the ID of X clients reported
176 by ''xwininfo'' is rarely that of the foremost visible
177 window that should be used here.
178
179
180 __--nice__ ''loadaverage1 loadaverage2''
181
182
183 Start killing toons when the 1-min averaged system load
184 exceeds ''loadaverage1''; when it exceeds
185 ''loadaverage2'' kill them all. The toons will reappear
186 when the load average comes down. The load is checked every
187 5 seconds by looking in ''/proc/loadavg'', so this option
188 only works under unices that implement this particular
189 pseudo file (probably just Linux). When there are no toons
190 on the screen, ''XPenguins'' uses only a miniscule amount
191 of CPU time - it just wakes up every 5 seconds to recheck
192 the load.
193 !!THEMES
194
195
196 The system themes are usually kept in
197 ''/usr/share/xpenguins/themes'', and these can be
198 augmented or overridden by the user's themes in
199 ''$HOME/.xpenguins/themes''. Each theme has its own
200 subdirectory which to be valid must contain a file called
201 ''config''. The name of the theme is taken from the
202 directory name, although because many install scripts choke
203 on directory names containing spaces, all spaces in a theme
204 name are represented in the directory name by underscores.
205 Any directory name containing spaces is inaccessible by
206 ''xpenguins''.
207
208
209 In addition to the ''config'' file, the theme directory
210 contains the toon images that make up the theme in the form
211 of ''xpm image files''. Additionally, there should be an
212 ''about'' file which gives information on the creator of
213 the theme, the license under which it is distributed and
214 various other things. This file is principally for use by
215 ''xpenguins_applet'', an applet for ''GNOME'' that
216 allows different themes to be selected at the click of a
217 button.
218
219
220 The ''config'' file has a reasonably straightforward
221 format. You can either read this rather terse description of
222 it or you can have a look at the config file for the default
223 __Penguins__ theme, which is usually installed at
224 ''/usr/share/xpenguins/themes/Penguins/config'', and is
225 reasonably well commented. We'll first establish some simple
226 terminology. Say you have a Farmyard theme with cows and
227 sheep. The cows and sheep are types of __toon__, while
228 the various things they get up to (walking, mooing and so
229 on) are termed __activities__. Each __activity__ has
230 its own ''xpm image file'', in which the __frames__ of
231 the animation are laid out horizontally. Some activities
232 (notably walking) use different images depending on the
233 __direction__ the toon is moving in. In this case the
234 frames for the two directions are laid out one above the
235 other in the image.
236
237
238 As in shell scripts, comments are initiated with the
239 __#__ character and hide the remainder of the line. The
240 format is entirely free except that there is an arbitrary
241 limit on the length of a line of 512 characters. Spaces,
242 tabs and newlines all count equally as white space. Data is
243 entered as a sequence of __key value__ pairs, all
244 separated by white space. Neither the __keys__ nor the
245 __values__ are case sensitive, except where the
246 __value__ is a filename. The following __keys__ are
247 understood:
248
249
250 __delay__ ''delay''
251
252
253 Set the recommended delay between frames in
254 milliseconds.
255
256
257 __toon__ ''toon''
258
259
260 Begin defining a new toon called ''toon''. If only one
261 type of toon is present in the theme then this key may be
262 omitted.
263
264
265 __number__ ''number''
266
267
268 Set the default number of toons of the current type to
269 start.
270
271
272 __define__ ''activity''
273
274
275 Begin defining an ''activity'' for the current toon. The
276 currently understood activities are __walker__,
277 __faller__, __tumbler__, __climber__,
278 __floater__, __runner__, __explosion__,
279 __squashed__, __zapped__, __splatted__,
280 __angel__, __exit__ and __action?__, where __?__
281 is a number between __0__ and __6__. Once you've seen
282 the program in action you should be able to guess which is
283 which. A valid theme must contain at least __walkers__
284 and __fallers__. Additionally, you may define a default
285 activity (with __define default__); any properties (such
286 as __width__ and __speed__) set here are then adopted
287 by the activities defined from then on, if they do not
288 themselves explicitly define those properties. After an
289 activity has been declared with __define__, the following
290 properties may be assigned:
291
292
293 __pixmap__ ''xpmfile''
294
295
296 The file containing the image data for the activity. Note
297 that you may not set a __default__ pixmap.
298
299
300 __width__ ''width''
301
302
303 The width of each frame of the animation in
304 pixels.
305
306
307 __height__ ''height''
308
309
310 The height of each frame of the animation in
311 pixels.
312
313
314 __frames__ ''frames''
315
316
317 The number of frames in the animation.
318
319
320 __directions__ ''directions''
321
322
323 The number of directions for the activity (can be 1 or
324 2).
325
326
327 __speed__ ''speed''
328
329
330 The initial speed of the toon when engaged in this activity,
331 in pixels per frame.
332
333
334 __acceleration__ ''acceleration''
335
336
337 The rate at which the speed increases, in pixels per frame
338 squared. This property is not utilised by all
339 activities.
340
341
342 __terminal_velocity__
343 ''terminal_velocity''
344
345
346 The maximum speed in pixels per frame, again not utilised by
347 all activities.
348
349
350 __loop__ ''loop''
351
352
353 Only understood by the __actions__; indicates how many
354 times to repeat the action. If negative, then the probility
355 of stopping the action every time the action is complete is
356 -1/''loop''.
357
358
359 Some notes regarding the various activities. If you design a
360 new theme, feel free to make the __splatted__,
361 __squashed__, __zapped__ and __exit__ animations as
362 gory and bloody as you like, but please keep the
363 __explosion__ activity nice and tame; that way those of a
364 nervous disposition can employ the __--no-blood__ option
365 which replaces all these violent deaths with a tasteful
366 explosion that wouldn't offend your grandmother. Xpm images
367 files are a factor of two smaller if you can limit the
368 number of colours in the image such that only one character
369 need be used to represent each colour; this also makes
370 ''XPenguins'' start up much more rapidly. Rarely are more
371 than 64 colours required.
372
373
374 So that's about it for the ''config'' file, now for the
375 ''about'' file. This is very simple. Again comments are
376 initialised by a __#__. An entry consists of a __key__
377 at the start of a line, followed by the corresponding
378 __value__ which is read up to the next newline. The
379 following __keys__ are understood, although none are
380 compulsory.
381
382
383 __artist__
384
385
386 Used to list the artist(s) who created the original
387 images.
388
389
390 __maintainer__
391
392
393 The person who compiled the images into an ''XPenguins''
394 theme. It is useful if an email address can also be
395 provided.
396
397
398 __date__
399
400
401 The date when the theme was last modified. My preferred
402 format is ''day of the month'', ''name of the month in
403 english'', ''full year''. For example: 24 April
404 2001.
405
406
407 __icon__
408
409
410 The name of an image file that can be used as an icon for
411 the theme; XPM and PNG are suitable formats.
412
413
414 __license__
415
416
417 The name of the license under which the theme is distributed
418 (e.g. GPL).
419
420
421 __copyright__
422
423
424 The year and holder of the copyright.
425
426
427 __comment__
428
429
430 Any other essential information, such as the theme's web
431 site, as brief as possible.
432
433
434 Please test any ''about'' files you create by looking at
435 how the information is displayed by the
436 ''xpenguins_applet'' program.
437 !!AUTHOR
438
439
440 Robin Hogan
441 !!CREDITS
442
443
444 Inspiration provided by Rick Jansen
445 xsnow''. Most penguin images
446 were taken from ''Pingus'', a free lemmings clone that
447 can be found at
448 ''
449 !!NOTES
450
451
452 ''XPenguins'' can load an X server and/or network
453 (although the CPU time used is small), and if a large number
454 of penguins are spawned then they may begin to flicker,
455 depending on the speed of the X server.
456
457
458 The ''xpenguins'' homepage is located at:
459
460
461 http://xpenguins.seul.org/
462 !!BUGS
463
464
465 A new feature since version 2.1 is the ability to draw to
466 windows other than the root window in situations where the
467 window manager or desktop environment places a large window
468 over the root window that would otherwise obscure the toons.
469 Currently ''XPenguins'' can draw to the KDE Desktop (KDE
470 2.0 and 2.1), Enlightenment desktops greater than 0 (E16),
471 the Nautilus desktop and the virtual root window of certain
472 window managers like amiwm. Of course, simpler window
473 managers that don't mess around like this will still work
474 (sawfish, blackbox and countless others). It cannot work
475 with CDE and probably never will. Future versions of KDE,
476 Enlightenment and Nautilus may not work; the classic symptom
477 of this is that ''XPenguins'' sits there as if it's doing
478 something, but no toons are visible. If this happens, try
479 running the program with one of the simpler window manager
480 listed above, or visit the ''XPenguins'' web site and
481 download the latest version. If there are icons drawn on the
482 root window then the toons will erase them when they walk
483 over them, although an expose event will be sent to the
484 window every 100 frames to redraw them.
485 !!FILES
486
487
488 $HOME/.xpenguins/themes/*
489 /usr/share/xpenguins/themes/*
490 /proc/loadavg
491 !!SEE ALSO
492
493
494 xsnow(1), xroach(1), xwininfo(1) pingus(6)
495 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.