ifs(6)

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

πŸ’« ifs β€” bestie, it's giving spinning math art

okay so real talk: this is ifs, and it lives in the XScreenSaver manual (yes, that whole legendary screensaver situation 🫢). It draws spinning, colliding iterated-function-system images, and honestly? iconic behavior. 🌈


✨ NAME ✨

ifs β€” draws spinning, colliding iterated-function-system images πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

ifs [--display host:display.screen] [--visual visual] [--window]
[--root] [--window-id number] [--no-db] [--delay number] [--detail
number] [--colors number] [--functions number] [--iterate | --recurse]
[--no-rotate] [--no-scale] [--no-translate] [--fps]

πŸ¦‹ DESCRIPTION πŸ¦‹

So the ifs program draws spinning, colliding iterated-function-system images. That's the whole vibe. It's fractal-adjacent math chaos and it's gorgeous, no cap. ✨


πŸ’– OPTIONS πŸ’–

  • --visual visual β€” tells it which visual to use. Legal values are either the name of a visual class, or the id number (decimal or hex) of a specific visual. pick your fighter πŸŽ€
  • --window β€” draw on a newly-created window. this one is the default, so like, it's already doing it bestie.
  • --root β€” draw on the root window instead. main character energy, whole desktop.
  • --window-id number β€” draw on the specified window. you point, it paints. 🫢
  • --no-db β€” disable double-buffering. (just so you know, that's the thing that usually stops the flickering ✨)
  • --delay number β€” per-frame delay, in microseconds. Default: 20000
  • --colors number β€” number of colours to use. Default: 200
  • --detail number β€” the chaos dial, and it means different things depending on mode: in --iterate mode it's the number of times to randomly iterate the functions, in thousands. In --recurse mode it's the number of times to apply functions (recursion depth) before drawing each point. Default: 9
  • --functions number β€” number of functions to be iterated. Default: 3
  • --iterate β€” calculate by iteratively applying the functions in a random order, usually faster than --recurse. This is the default. speed queen behavior πŸ”₯
  • --recurse β€” calculate by recursively applying all combinations of the functions. This is the historical behavior and may produce neater output than --iterate. vintage but still ate πŸ’œ
  • --no-rotate β€” disable the rotation component of the functions. no spinning, we sit still 🧚
  • --no-scale β€” disable the scaling component of the functions. no growing/shrinking.
  • --no-translate β€” disable the varying translation component of the functions. no sliding around.
  • --no-multi β€” turn off multi-coloured mode, so only one colour is used to colour the whole set. monochrome moment πŸ–€
  • --fps β€” display the current frame rate and CPU load. numbers on screen, we love data πŸ“Š

🌸 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), ifs(6)


Copyright Β© Chris Le Sueur and Robby Griffin, 2005-2006

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

ok so that's the legal bit, but pls actually read it, the warranty disclaimer is very much real 😭

🌈 AUTHOR 🌈

This version by Chris Le Sueur <thefishface@gmail.com>, Feb 2005. Many improvements by Robby Griffin <rmg@terc.edu>, Mar 2006.


and that's the whole page, bestie πŸ’… this edition is X Version 11, version 6.15 (30-Mar-2026) β€” go make some spinning colliding math art, you earned it πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from