glcells(6)

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

πŸ’… glcells β€” the growing-cells hack, but make it a vibe ✨

okay so bestie, welcome to glcells(6) from the XScreenSaver manual β€” yes that one. it draws cells that divide exponentially, eat, and eventually die. literally the whole circle of life in a screensaver. it's giving biology class but ✨aesthetic✨. let's get into it 🧚


🌸 NAME 🌸

glcells β€” growing cells graphics hack πŸ¦‹ (yes, that's the whole name, no notes, iconic)


⭐ SYNOPSIS ⭐

glcells [--display host:display.screen] [--window] [--root] [--window-id
number][--install] [--visual visual] [--delay num] [--pause num]
[--maxcells num] [--radius num] [--seeds num] [--quality num] [--minfood
num] [--maxfood num] [--divideage num] [--mindist num] [--keepold]
[--wireframe] [--fps]

(keep it exactly like that, spacing and all β€” do NOT retype it from memory, i'm begging πŸ™ˆ)


πŸ¦‹ DESCRIPTION πŸ¦‹

ok so glcells draws cells that divide exponentially, eat, and eventually die. that's it, that's the whole demo. exponential growth, snack time, and then death πŸ’€ β€” main character arc fr fr. lowkey obsessed with how unbothered this description is.


πŸŽ€ OPTIONS πŸŽ€

glcells accepts the following options, bestie, and there are a lot of them so stay with me 🫢

  • --window β€” draw on a newly-created window. this is the default, so if you're too lazy to pass anything you already get this πŸ’…
  • --root β€” draw on the root window instead. desktop-scenery vibes ✨
  • --window-id number β€” draw on the specified window (you give it the number of the window, mmkay)
  • --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. yes, hex counts, we love a flexible icon πŸ’œ
  • --pause num β€” specifies the pause at the end of the animation (when all cells are dead or the maximum amount of cells has been reached). unit is in frames, default 20 ⏸️
  • --maxcells num β€” specifies the maximum number of cells on screen. important caveat: dead cells also count, even if invisible πŸ‘» default is 800.
  • --radius num β€” specifies the radius of the cells. default is 40 πŸ“
  • --seeds num β€” specifies the number of cells when animation starts. default is 1 (yes, you start with a single cell, humble beginnings fr)
  • --quality num β€” specifies subdivision quality of the spheres used to draw the cells, in the range [0...5]. default is 3 ✨
  • --minfood num β€” so food is ditributed randomly on the screen (Yes, the cells need to eat). this parameter specifies the minimum amount of food per pixel. default is 5 πŸ”
  • --maxfood num β€” food is ditributed randomly on the screen (again: Yes, the cells need to eat). this parameter specifies the maximum amount of food per pixel. default is 20 πŸ•
  • --divideage num β€” specifies the minimum age in frames a cell needs to have before being able to divide. default is 20 πŸ‘Ά
  • --mindist num β€” specifies the minimum distance between cells. default 1.4 πŸ“
  • --delay num β€” how long to pause between frames. default is 20000, or 0.02 second ⏱️
  • --fps β€” display the current frame rate, CPU load, and polygon count πŸ”₯ (nerd stats, we love)
  • --wireframe β€” draw wireframe only. minimalism era πŸ•ΈοΈ
  • --keepold β€” dead cells stay on screen. haunting the narrative, spooky but make it cute πŸ’€
ngl, "ditributed" is spelled exactly like that in the original page, and i'm not about to ghost-edit the ancestors. preserving it, periodt 🫢

πŸ’œ 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), http://www.mtoussaint.de/bits.html

(go read them, iykyk πŸ’…)


Copyright Β© 2007 by Matthias Toussaint. 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: it's free to use, just keep the notice, and no promises that it'll be suitable for anything β€” as-is, no warranty, fr fr πŸ™ˆ)


🧚 AUTHOR 🧚

Matthias Toussaint <glcells@mtoussaint.de>, 17-Jun-2007 🌸


and that's the whole page, bestie! slay, you made it to the end πŸŽ‰πŸ«Ά

X Version 11 β€” 6.15 (30-Mar-2026) 🌟 mwah, go watch some cells divide exponentially, you've earned it πŸ’–

πŸ“¦ where this page comes from