superquadrics(6)

πŸ“¦
version 6.15 Β· 2 versions
, in alpine 3.24, arch rolling, nixpkgs unstable

✨ superquadrics β€” morphing 3d shapes πŸ’…

okay so this is superquadrics(6), straight out of the XScreenSaver manual, and bestie… it's literally morphing 3D shapes and it's iconic. πŸ¦‹


🌸 SYNOPSIS 🌸

superquadrics [--display host:display.screen] [--visual visual]
[--window] [--root] [--window-id number] [--delay number] [--spinspeed
number] [--count number] [--cycles number] [--wireframe] [--fps]

so yeah, that's the whole vibe. run it, pass it some flags, watch shapes do their thing. no cap. ✨


πŸŽ€ DESCRIPTION πŸŽ€

okay so storytime, because this is genuinely so cute: Ed Mackey reports that he wrote the first version of this program in BASIC on a Commodore 64 in 1987, as a 320x200 black and white wireframe. 😭 obsessed. the literal humble beginnings.

and now? now it's GL and it has specular reflections. glow-up of the century, fr fr. πŸ‘‘


πŸ’… OPTIONS πŸ’…

like, here's every single flag, no gatekeeping:

  • --visual visual β€” tells it which visual to use, iykyk. legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual. hex girlies rise. πŸ”₯
  • --window β€” draws on a newly-created window. and this is the default, so if you do nothing, this is what you get. main character energy. 🫢
  • --root β€” draws on the root window instead. going full desktop-background mode. 🌈
  • --window-id number β€” draws on the specified window. you pick the window, it lives there. πŸ’–
  • --delay number β€” per-frame delay, in microseconds. default: 40000 (that's 0.04 seconds, for the people who don't think in microseconds, which is fair). ⭐
  • --spinspeed number β€” range is 0.1 – 15.0. default: 5.0. spin spin spin. πŸŒ€
  • --count number β€” range is 0 – 100. default: 25. that's how many of the little guys you get. πŸ“
  • --cycles number β€” range is 0 – 100. default: 40. πŸŽ€
  • --wireframe β€” renders in wireframe instead of solid. retro C64 realness, we love to see it. πŸ’€
  • --fps β€” shows the current frame rate, CPU load, and polygon count. numbers on screen. we love stats. πŸ“Š

🧚 ENVIRONMENT 🧚

the environment variables it peeks at, bestie:

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

πŸ”₯ SEE ALSO πŸ”₯

go read these too, they're part of the lore:


Copyright Β© 2002 by Ed Mackey.

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.

ngl that's the standard "here, take it, just keep the notice" situation β€” just don't come for anyone if it breaks, because there's literally no warranty. πŸ’€

🌸 AUTHOR 🌸

Ed Mackey.


and that's the whole page, bestie. 🫢 this gem is from X Version 11, 6.15 (30-Mar-2026) β€” kiss kiss, go morph some shapes. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from