distort(6x)

✨ distort(6x) β€” the XScreenSaver manual's most chaotic girlie ✨

okay bestie, sit DOWN, because this is distort, a member of the XScreenSaver manual family, and she is absolutely unhinged in the best way πŸ’…


πŸŒ€ NAME πŸŒ€

distort β€” distorts the content of your screen in interesting ways. yes. that's the whole job. and she ate. πŸ’–


🫢 SYNOPSIS 🫢

distort [--root] [--window-id number][--window] [--mono] [--install]
[--noinstall] [--visual visual] [--window-id window-id] [--delay usecs]
[--duration secs] [--radius pixels] [--speed int] [--number int]
[--swamp] [--bounce] [--reflect] [--vortex] [--magnify] [--blackhole]
[--slow] [--shm] [--no-shm] [--fps]

(and yes, --window-id shows up twice in there β€” that's literally how the page is written, I'm not the one who decided that, I'm just the messenger 🫑)


🌈 DESCRIPTION 🌈

So here's the vibe: distort takes an image and lets circular zones of distortion just… wander around it randomly, messing up whatever's underneath them. it's giving "magnifying glass dropped in a swimming pool." πŸ¦‹

And the tea? you can influence both the mode of distortion AND the overall behaviour of the zones in a bunch of different ways. so many knobs, so little time. ✨

Now, the image she manipulates gets grabbed from one of three places, and honestly it's a little pick-me about it:

  • the portion of the screen underlying the window
  • the system's video input
  • a random file on disk

which one you get is decided by the grabDesktopImages, grabVideoFrames, and chooseRandomImages options in your ~/.xscreensaver file. see xscreensaver-settings(1) for more details, iykyk πŸ’œ


πŸ‘‘ OPTIONS πŸ‘‘

distort accepts the following options β€” and bestie, she accepts all of them:

  • --root β€” draw on the root window. main character energy, whole screen is hers.
  • --window-id number β€” draw on the specified window. πŸͺŸ
  • --window β€” draw on a newly-created window. this is the default, so she'll do it unless you say otherwise πŸ’…
  • --mono β€” if you're on a color display, pretend we're on a monochrome display. delulu but make it grayscale πŸ–€
  • --install β€” install a private colormap for the window.
  • --noinstall β€” don't install a private colormap for the window. (yes these two are just beefing with each other, that's normal)
  • --visual visual β€” specify which visual to use. legal values are the name of a visual class or the id number of a specific visual, in decimal or hex πŸ”’
  • --window-id window-id β€” specify which window id to use. (hi again, --window-id, we love a two-entry icon)
  • --delay usecs β€” specify the delay between subsequent animation frames, in microseconds. tiny tiny time units, we're being precise ✨
  • --duration seconds β€” how long to run before loading a new image. default is 120 seconds ⏳
  • --radius pixels β€” specify the radius of the distortion zone, in pixels 🎯
  • --speed int β€” specify the speed at which the distortion zone moves. 0 is slow, higher numbers are faster, and 10 is pretty fast πŸƒβ™€οΈπŸ’¨
  • --number int β€” specify the number of distortion zones. more zones = more chaos, your call 🫢
  • --swamp β€” instead of letting zones wander around, let small zones pop up like bubbles in a swamp and leave permanent distortion.
⚠️ WARNING: this option uses a colossal amount of memory. keep --radius small when you're using --swamp. I am being so serious rn, this is not a drill πŸ’€
  • --bounce β€” let zones wander around and bounce off the window border. this is the default, she likes to stay in her lane (literally) πŸŽ€
  • --reflect β€” distortion mode that resembles reflection by a cylindrical mirror.
  • --vortex β€” whirlpool-shaped distortion. way cool. their words, not mine, but also correct
  • --magnify β€” this mode of distortion looks like a magnifying glass πŸ”
  • --blackhole β€” suck your pixels beyond the event horizon 🌌 favourite mode of Dr Stephen Hawking. no cap.
  • --slow β€” make the zone wander slower 🐌
  • --shm β€” use the shared memory extension.
  • --no-shm β€” don't use the shared memory extension. (again, sibling rivalry, it's fine)
  • --fps β€” display the current frame rate and CPU load πŸ“Š

🌸 ENVIRONMENT 🌸

  • DISPLAY β€” to get the default host and display number.
  • XENVIRONMENT β€” to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.
  • XSCREENSAVER_WINDOW β€” the window ID to use with --root. πŸͺŸ

πŸ¦‹ SEE ALSO πŸ¦‹

X(1), xscreensaver(1), xscreensaver-settings(1), xscreensaver-getimage(6x)

go read your siblings, they're iconic too πŸ’–


Copyright Β© 1998 by Jonas Munsin and 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.

(translation: free to use, go feral, but credit where credit's due and no promises that it won't do wild stuff 🫢)


🧚 AUTHORS 🧚

Jonas Munsin <jmunsin@iki.fi> and Jamie Zawinski <jwz@jwz.org>. This manual page by Matthias Warkus <mawa@iname.com>, 17-Oct-1999.


ok that's the whole page, bestie. every flag, every default, every warning, every last --no- sibling. no details were harmed in the making of this rewrite πŸ’…

and that's a wrap on this little XScreenSaver manual moment β€” X Version 11, 6.17-1.fc44, dated 13-Oct-2026 πŸŽ€βœ¨ love u, go distort something πŸ¦‹

πŸ“¦ where this page comes from