blitspin(6)
π« blitspin(6) β the XScreenSaver manual, but make it cute π«
okay bestie, so this is blitspin(6) from the XScreenSaver manual, and it's genuinely one of the most satisfying little programs ever. it spins a bitmap. that's it. that's the vibe. β¨
πΈ NAME πΈ
blitspin β rotates a bitmap in an interesting way π (yes that's the actual description, and honestly? iconic.)
π SYNOPSIS π
blitspin [--display host:display.screen] [--foreground color]
[--background color] [--window] [--root] [--window-id number] [--mono]
[--install] [--visual visual] [--bitmap filename] [--delay usecs]
[--delay2 usecs] [--duration secs]
π DESCRIPTION π
so like, blitspin just... repeatedly rotates a bitmap by 90 degrees, but it does it with logical operations which is the whole flex π₯. here's the tea:
- the bitmap gets chopped into quadrants, and the quadrants get shifted clockwise.
- then it does the exact same thing again, but with progressively smaller quadrants.
- BUT β and this is the best part β all sub-quadrants of a given size get rotated in parallel. main character energy fr.
so the whole thing costs O(16*log2(N)) blits of size NxN. the catch (and there's always a catch, bestie π): the image must be square, and the size must be a power of 2.
β¨ OPTIONS β¨
blitspin accepts the following options, and yes we're going through all of them, no skipping π:
--windowβ draw on a newly-created window. this is the default, so if you do nothing, this is what you get π«Ά--rootβ draw on the root window. big "i live on your desktop now" energy.--window-idnumber β draw on the specified window. you pick the window, it spins there. slay.--monoβ if you're on a color display, just pretend we're on a monochrome display π. delusion, but make it functional.--installβ install a private colormap for the window. very exclusive, very VIP π.--visualvisual β specify which visual to use. legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.--bitmapfilename β the file name of a bitmap to rotate. it need not be square: it will be padded with the background color. if unspecified or the string(default), a builtin bitmap is used.
if support for the XPM library was enabled at compile-time, the specified file may be in XPM format as well as XBM, and thus may be a color image π (color! in this economy!).
the *bitmapFilePath resource will be searched if the bitmap name is not a fully-qualified pathname.
--grab-screenβ if this option is specified, then the image which is spun will be grabbed from the portion of the screen underlying theblitspinwindow, or from the system's video input, or from a random file on disk, as indicated by thegrabDesktopImages,grabVideoFrames, andchooseRandomImagesoptions in the~/.xscreensaverfile; seexscreensaver-settings(1)for more details. π it's canon, it's in the config file, it's a whole ecosystem.--delaymicroseconds β how long to delay between steps of the rotation process, in microseconds. default is500000, one-half second β³.--durationseconds β how long to run before loading a new image. default120seconds.--delay2microseconds β how long to delay between each 90-degree rotation, in microseconds. default is500000, one-half second.DISPLAYto get the default host and display number. π« (yes, that last sentence is really sitting there in the middle of this option, no cap β that's just how the page is, we don't ask questions, we just report it faithfully.)--fpsβ display the current frame rate and CPU load π. numbers! live! on your screen!
π¦ ENVIRONMENT π¦
XENVIRONMENTβ to get the name of a resource file that overrides the global resources stored in theRESOURCE_MANAGERproperty.XSCREENSAVER_WINDOWβ the window ID to use with--root.
π SEE ALSO π
X(1), xscreensaver(1), xscreensaver-settings(1), xscreensaver-getimage(6)
π COPYRIGHT π
Copyright Β© 1992, 1993, 1997, 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.
π¨ bestie this literally means: no warranty, no promises, use at your own risk. it's giving "i am not responsible for your choices" and honestly? fair.
π AUTHOR π
Jamie Zawinski <jwz@jwz.org>, 17-aug-92.
Based on SmallTalk code which appeared in the August 1981 issue of Byte magazine π§ (a literal time capsule, we love a documented lineage).
okay that's the whole page, you're officially an expert ππ β this was X Version 11, 6.15 (30-Mar-2026), and blitspin(6) is out here still spinning bitmaps after all these years. go rotate something, bestie π«π«Ά
π¦ where this page comes from
- alpine 3.24: xscreensaver-doc 6.15-r0 Β· GPL-2.0-or-later GPL-3.0-or-later 0BSD MIT
- arch rolling: xscreensaver 6.15-1 Β· LicenseRef-XScreenSaver
- nixpkgs unstable: xscreensaver 6.15
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms