vidwhacker - Man Page

grab images and apply random filters to them


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


Distorts an image using a random series of filters: edge detection, subtracting the image from a rotated version of itself, etc.

Selection of random image files is done by running the xscreensaver-getimage-file(6x) program.  Capture of video frames (if requested) is done by running the xscreensaver-getimage-video(6x) program.


vidwhacker accepts the following options:


Draw on the root window.  This is the default.

--window-id number

Draw on the specified window.


Print diagnostics.


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.)


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.


Display the current frame rate and CPU load.



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.


The window ID to use with --root.


It is poorly named; originally it worked only on grabbed video frames, before being expanded to work on any image.

It requires the various PBM tools, e.g., ppmrelief(1). Though still available, the "pbmplus" suite has largely fallen out of favor these days, so it would be nice if someone were to port this script to make use of ImageMagick's convert(1) instead.  That would also probably make it faster.

See Also

X(1), xscreensaver(1), xscreensaver-getimage(6x), xscreensaver-getimage-file(6x), xscreensaver-getimage-video(6x), ppmtogif(1), convert(1)


Jamie Zawinski <>, 18-Jan-98.


6.08-2.fc40 (27-Jan-2024) X Version 11 XScreenSaver manual