vidwhacker - grab images and apply random filters to them


vidwhacker [-display host:display.screen] [-root] [-verbose] [-stdin] [-stdout] [-delay seconds] [-directory directory] [-fps]


The vidwhacker program grabs an image from disk, or from the system’s video input, then applies random image filters to it, and displays the result. The vidwhacker program does not terminate until killed.

It depends heavily on the various PBM tools (e.g., ppmrelief(1).)

Selection of random image files is done by running the xscreensaver-getimage-file(1) program. Capture of video frames (if requested) is done by running the xscreensaver-getimage-video(1) program. The options of whether to do video, and which directory to search for images, are specified in the ~/.xscreensaver file.


vidwhacker accepts the following options:
-root Draw on the root window. This is the default.
-verbose Print diagnostics.
-stdin Instead of grabbing an image from disk or video, read an image to manipulate from stdin. This image must be in ppm(5) format. The program will still perform repeated random image transformations, but it will always use this one image as its starting point.
-delay seconds
 How long to sleep between images. Default 5 seconds (the actual elapsed time is significantly longer, due to processing time.)
-stdout Instead of displaying the image on a window or on the root, write the new image on stdout, and exit.
-directory directory
 Use this directory instead of the imageDirectory specified in the ~/.xscreensaver file.
-fps Display the current frame rate and CPU load.


DISPLAY to get the default host and display number.
 to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.


It’s slow.


It might be interesting to rewrite this to use gimp(1) plugins instead of the pbm tools. It probably wouldn’t be any faster, but there would be a wider variety of effects available.


X(1), xscreensaver(1), xscreensaver-getimage-file(1), xscreensaver-getimage-video(1), xv(1), ppmtogif(1), cjpeg(1)


Copyright © 1998-2001 by Jamie Zawinski. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.


Jamie Zawinski <>, 18-Jan-98.

openSUSE Logo