attraction(6x)
π attraction(6x) π
okay bestie, this is the XScreenSaver manual page for attraction(6x), and it is literally about interactions of opposing forces. no cap. π«Ά
β¨ NAME β¨
attraction β interactions of opposing forces. that's the whole name, and honestly it ate.
πΈ SYNOPSIS πΈ
attraction [--display host:display.screen] [--foreground color]
[--background color] [--window] [--root] [--window-id number][--mono]
[--install] [--visual visual] [--points int] [--threshold int] [--mode
balls | lines | polygons | splines | filled-splines | tails ] [--size
int] [--segments int] [--delay usecs] [--color-shift int] [--radius int]
[--vx int] [--vy int] [--glow] [--noglow] [--orbit] [--viscosity float]
[--walls] [--nowalls] [--maxspeed] [--nomaxspeed] [--correct-bounce]
[--fast-bounce] [--fps]
π« DESCRIPTION π«
so attraction has several visually different modes, and all of them are based on the interactions of a set of control points. these points attract each other up to a certain distance, and then they start to repel each other. the attraction/repulsion is proportional to the distance between any two particles. that's the whole lore. π
π OPTIONS π
attraction accepts the following options, bestie:
btw the synopsis also carries --display host:display.screen, --foreground color, and --background color; the original page doesn't give them their own blurbs here, so I'm not inventing any extra behavior for them. π«Ά
--windowβ draw on a newly-created window. this is the default. πͺ--rootβ draw on the root window. π--window-id numberβ draw on the specified window. π--monoβ if on a color display, pretend we're on a monochrome display. π€--installβ install a private colormap for the window. π¨--visual visualβ 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. π--points integerβ how many control points should be used, or0to select the number randomly. default0. between3and15works best. β¨--threshold integerβ the distance (in pixels) from each particle at which the attractive force becomes repulsive. default100. π₯--mode balls | lines | polygons | tails | splines | filled-splinesβ okay so this is the big vibe selector:balls(the default) β the control points are drawn as filled circles. the larger the circle, the more massive the particle. π΄linesβ the control points are connected by straight lines; the effect is something likeqix. πpolygonsβ the control points are connected by straight lines, and filled in. this is most interesting in color. πsplinesβ a closed spline is interpolated from the control points. πfilled-splinesβ the splines are filled in instead of being outlines. this is most interesting in color. π¨tailsβ the path which each particle follows is indicated by a worm-like trail, whose length is controlled by thesegmentsparameter. π
--size integerβ the size of the balls in pixels, or0, meaning to select the sizes randomly (the default). if this is specified, then all balls will be the same size. this option has an effect in all modes, since the βsizeβ of the balls controls their mass. βοΈ--segments integerβ if inlinesorpolygonsmode, how many sets of line segments or polygons should be drawn. default500. this has no effect inballsmode. ifsegmentsis0, then no segments will ever be erased (this is only useful in color). π§©--delay microsecondsβ how much of a delay should be introduced between steps of the animation. default10000, or about0.01seconds. β³--color-shift intβ if on a color display, the color of the line segments or polygons will cycle through the color map. this specifies how many lines will be drawn before a new color is chosen. (when a small number of colors are available, increasing this value will yield smoother transitions.) default3. this has no effect inballsmode. π--radiusβ the size in pixels of the circle on which the points are initially positioned. the default is slightly smaller than the size of the window. β--glowβ this is consulted only inballsmode. if this is specified, then the saturation of the colors of the points will vary according to their current acceleration. this has the effect that the balls flare brighter when they are reacting to each other most strongly. β¨- in glow mode, all of the balls will be drawn the same (random) color, modulo the saturation shifts.
- in non-glow mode, the balls will each be drawn in a random color that doesn't change. π‘
--noglowβ don't do βglowing.β this is the default. π«--vx pixelsβ initial velocity of the balls. this has no effect in--orbitmode. β‘οΈ--vy pixelsβ initial velocity of the balls. this has no effect in--orbitmode. β¬οΈ--orbitβ make the initial force on each ball be tangential to the circle on which they are initially placed, with the right velocity to hold them in orbit about each other. after a while, roundoff errors will cause the orbit to decay. πͺ--vmult floatβ in orbit mode, the initial velocity of the balls is multiplied by this; a number less than1will make the balls pull closer together, and a larger number will make them move apart. the default is0.9, meaning a slight inward pull. π§²--viscosity floatβ this sets the viscosity of the hypothetical fluid through which the control points move; the default is1, meaning no resistance. values higher than1aren't interesting; lower values cause less motion. π«§
one interesting thing to try is:
attraction -viscosity 0.8 -points 300 \
-size 10 -geometry =500x500
give it a few seconds to settle down into a stable clump, then move/drag the mouse through it to make βwavesβ. π
--nowallsβ this will cause the balls to continue on past the edge of the screen or window. they will still be kept track of and can come back. πͺ--wallsβ this will cause the balls to bounce when they get to the edge of the screen or window. this is the default behavior. π§±--maxspeedβ imposes a maximum speed (default). if a ball ends up going faster than this, it will be treated as though there were.9viscosity until it is under the limit. this stops the balls from continually accelerating (which they have a tendency to do), but also causes balls moving very fast to tend to clump in the lower right corner. ποΈ--nomaxspeedβ if this is specified, no maximum speed is set for the balls. π--fast-bounceβ uses the old, simple bouncing algorithm (default). this simply moves any ball that is out of bounds back to a wall and reverses its velocity. this works fine for most cases, but under some circumstances, the simplification can lead to annoying effects. π--correct-bounceβ uses a more intelligent bouncing algorithm. this method actually reflects the balls off the walls until they are within bounds. this can be slow if balls are bouncing a whole lot, perhaps because of-nomaxspeed. π§--graphmode none | x | y | both | speedβ for"x","y", and"both", displays the given velocities of each ball as a bar graph in the same window as the balls. for"speed", displays the total speed of each ball. default is"none". π--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 theRESOURCE_MANAGERproperty. πXSCREENSAVER_WINDOWβ the window ID to use with--root. πͺ
π SEE ALSO π
X(1), xscreensaver(1). that's the friend group. π
π COPYRIGHT π
legal tea time, exact words:
Copyright Β© 1992, 1993, 1997 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.
π AUTHOR π
Jamie Zawinski <jwz@jwz.org>, 13-aug-92.- Viscosity support by Philip Edward Cutone, III.
- Walls, speed limit options, new bouncing, graphs, and tail mode fix by Matthew Strait. 31 March 2001.
that's the whole page, bestie. X Version 11 π 6.09 (07-Jun-2024) π attraction(6x) β mwah. π
π¦ where this page comes from
- debian trixie: xscreensaver-data-extra 6.09+dfsg1-1 Β· Other_1
- opensuse-leap 16.0: xscreensaver-data-extra 6.09-bp160.1.11 Β· BSD-3-Clause AND GPL-2.0-or-later
- opensuse-leap 16.0: xscreensaver-data-extra 6.09-bp160.1.11 Β· BSD-3-Clause AND GPL-2.0-or-later
- opensuse-leap 16.0: xscreensaver-data-extra 6.09-bp160.1.11 Β· BSD-3-Clause AND GPL-2.0-or-later
- opensuse-leap 16.0: xscreensaver-data-extra 6.09-bp160.1.11 Β· BSD-3-Clause AND GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms