jigglypuff(6x)

πŸ’– jigglypuff πŸ’–

bestie. welcome to the jigglypuff zone, a little slice of the XScreenSaver manual that exists purely to ruin your retinas in the cutest possible way ✨


✨ NAME ✨

jigglypuff β€” save your screen by tormenting your eyes. yes that's literally the actual job description and i'm obsessed 🫢


πŸŽ€ SYNOPSIS πŸŽ€

jigglypuff [--display host:display.screen] [--visual visual] [--window]
[--root] [--window-id number] [-delay number] [-cycles number]
[-wireframe] [-fps] [-color colorspec] [-spooky] [-complexity n] [-speed n]
[-spherism n] [-hold n] [-distance n] [-damping n]

okay so like, that's a LOT of flags. don't panic. we're getting through all of them together, hand in hand 🧚


πŸ¦‹ DESCRIPTION πŸ¦‹

this thing draws all manners of obscene, spastic, puffy, vaguely ball-shaped objects orbiting lazily about the screen. orbiting. lazily. like they have nowhere to be and no thoughts in their little round heads πŸ’€

and it does this with a dizzying array of mostly pointless options. the manpage said that. the original said that. i'm just the messenger and honestly? iconic self-awareness. periodt πŸ‘‘


🌸 OPTIONS 🌸

  • --visual visual β€” pick which visual to use. legal values are either the name of a visual class, or the id number of a specific visual (decimal or hex, both fine bestie).
  • --window β€” draw on a newly-created window. this is the default, so like. you already had it πŸ’…
  • --root β€” draw on the root window.
  • --window-id number β€” draw on the window you specify. your choice, your rules.
  • --delay number β€” per-frame delay, measured in microseconds. default: 20000 (that's 0.02 seconds, if numbers aren't your thing).
  • --wireframe β€” render in wireframe instead of solid. default: render solid.
  • --fps β€” display the current frame rate, CPU load, and polygon count. the little stats girlies stay winning πŸ“Š
  • -tetra | -no-tetra β€” whether to start the shape in the form of a tetrahedron. the default is to start as a sphere. so like, if you want the pointy version you gotta ask.
  • -color colorspec β€” the available options for colorspec are: cycle, flowerbox, clownpuke, chrome, and #xxxxxx (i.e. an (old-style) X color specification). default: cycle.
  • -spooky n β€” controls a kind of interesting effect you get by using unnormalized normal vectors in OpenGL (how's that for an oxymoron? i screamed). a value of zero disables the effect. other values vary the lengths of the normals proportionally. okay, so it's not very spooky. sue me. default: 0.
  • -complexity n β€” valid options are 1, 2, and 3. everything else is treated as though it were 2, which is the default. this controls the number of polygons in the 'thing'. a value of 1 yields 1024, and the values go up in powers of 4. (i.e. 4096, 16384.)
note: there is an inherent lack of stability at lower complexity, which can cause the shape to devolve into a 'flying snotrag'. 😭 you have been warned.
  • -speed n β€” controls how fast the blob moves around the screen. default: 500.
  • -spherism, -hold, -distance, -damping β€” these options control the 'jigglyness'. and honestly the best way to explain them is to explain how jigglypuff works, so buckle up:

basically, the shape is a tetrahedron whose faces are subdivided into a number of triangles, forming a mesh. each of the vertices of the mesh has two different forces applied to it: one proportional to its distance from the surface of a sphere, and one proportional to the difference of the distance to each of its neighbors in the mesh to a given ideal distance. in short, one tries to move the points into the configuration of a sphere, and the other tries to push them back into a tetrahedron. the catch is that the points have inertia, so they always overshoot their target, and hence they oscillate.

the magnitudes of the two forces is controlled by the options spherism and hold; distance specifies the distance the vertices seek to keep from their neighbors, with 500 corresponding to the size of the start tetrahedron. e.g. if you were to give the options -tetra -spherism 0 -distance 500, you would end up with a stable tetrahedron. the damping option can help to keep the blob from collapsing or flying apart. the option specifies the speed at which damping starts, hence lower values mean more damping.

defaults: spherism: 75; hold: 800; distance: 100; damping: 500.

  • -random β€” probably the only parameter you'l ever need. (yes, that's the original's spelling, love that for it.) it overrides almost all of the parameters with random values. the values affected are: speed, spherism, hold, distance, damping, spooky, color, wireframe and tetra. default: off.

🌈 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 πŸ‘‘


Copyright Β© 2003 by Keith Macleod. 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.


πŸ“ AUTHOR πŸ“

by Keith Macleod β€” a real one, fr fr 🫢


okay that's the whole page, you made it, i'm so proud of you πŸ₯Ή this was X Version 11, 6.17-1.fc44, dated 13-Oct-2026 β€” and that's on periodt, bestie. go forth and orbit some vaguely ball-shaped objects πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from