starfish(6x)

πŸ’« starfish πŸ’«

ok so this is starfish, a radially-symmetric throbbing colormap-hacking graphics demo β€” and yes bestie that is the entire vibe, we are hacking colormaps and we are throbbing, it's giving 1997 screensaver excellence and we are here for it πŸ’…

this page lives in the XScreenSaver manual, section 6x, and it is genuinely iconic, no cap ✨


🌈 SYNOPSIS 🌈

starfish [--display host:display.screen] [--foreground color]
[--background color] [--window] [--root] [--window-id number][--mono]
[--install] [--visual visual] [--delay usecs] [--delay2 secs]
[--thickness pixels] [--rotation degrees] [--duration seconds] [--colors
int] [--blob] [--no-blob] [--fps]

like, copy-paste it exactly, the spacing is what it is, don't come for me 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea: starfish draws radially symmetric objects β€” and these lil guys expand, contract, rotate, and literally turn inside out 😭

then it takes those shapes and uses them to lay down a field of smooth colors, and then β€” the main character moment β€” it rotates the colormap. that's it. that's the whole bit. it's gorgeous, it's hypnotic, it ate πŸ”₯


✨ OPTIONS ✨

starfish accepts the following options, and yes we're going through all of them, stay with me bestie πŸ’–

  • --window β€” Draw on a newly-created window. This is the default, so if you just run it and don't think about it, congrats, you already picked this one πŸŽ€
  • --root β€” Draw on the root window. like, straight on your desktop background energy πŸ‘‘
  • --window-id number β€” Draw on the specified window. you pick the window, it draws there. targeted slay πŸ’…
  • --mono β€” If on a color display, pretend we're on a monochrome display. delusion as a feature, honestly iconic πŸ™ˆ
  • --install β€” Install a private colormap for the window. private. exclusive. VIP section. ✨
  • --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. both forms are legal, don't @ me 🧚
  • --delay microseconds β€” How much of a delay should be introduced between steps of the animation. Default 10000, or about 1/100th second. tiny little pause, huge little difference ⭐
  • --thickness pixels β€” How wide each color band should be. Default 0, meaning random (the chosen value will be between 0 and 15.) chaos by default, we love her πŸ’€
  • --rotation degrees β€” How quickly the objects should rotate at each step. Default 0, meaning random (the chosen value will be between 0 and 12 degrees.) again: chaos, by design, obsessed πŸ”₯
  • --colors int β€” How many colors to use. Default 200. The more colors, the smoother the transitions will be, and the nicer the resultant images. so like, more colors = more slay, mathematically 🌈
  • --duration seconds β€” How long to run before choosing a new shape. Default 30 seconds. thirty seconds of one shape and then we move on, main character rotation πŸŽ€
  • --delay2 seconds β€” When duration expires, how long to wait before starting a new run. Default 5 seconds. lil breather between eras πŸ’œ
  • --blob
  • --no-blob β€” If blob option is specified, then the raw shapes will be shown, instead of a field of colors generated from them. so you see the actual starfish skeleton instead of the pretty color soup. both are valid, both are art πŸ¦‹
  • --fps β€” Display the current frame rate and CPU load. numbers on screen, we love a stats girlie ⭐
heads up! the synopsis also mentions --display host:display.screen, --foreground color and --background color β€” those are up there in the usage line, bestie, I'm not hiding them from you 🫢

🌸 ENVIRONMENT 🌸

the environment variables, aka the behind-the-scenes girlies:

  • DISPLAY β€” to get the default host and display number. this is the classic one, you know her πŸ’…
  • XENVIRONMENT β€” to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property. yes that's the whole sentence, yes it's a lot, no I will not be shortening it 😭
  • XSCREENSAVER_WINDOW β€” The window ID to use with --root. pair it with --root and you're cooking πŸ“

πŸ”₯ SEE ALSO πŸ”₯

go read those too, iykyk πŸ‘‘


Copyright Β© 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.

ok so the legal bit is important β€” keep the notice, keep the permission notice, and no warranty, fr fr. not me being a lawyer, just being accurate πŸ’€

πŸ’œ AUTHOR πŸ’œ

Jamie Zawinski <jwz@jwz.org>, 14-Jun-97. a legend, genuinely 🌟


and that's the page!! πŸ’– this all shipped as part of X Version 11, release 6.09, dated 07-Jun-2024 β€” so go forth, run starfish, rotate that colormap, and slay πŸ¦‹βœ¨πŸŽ€

πŸ“¦ where this page comes from