glsnake(6x)

✨ NAME ✨

glsnake β€” an OpenGL-enhanced Rubik's Snake cyclewaster πŸ’– (yes bestie, it's a screensaver, it's iconic, it ate)


πŸŒ€ SYNOPSIS πŸŒ€

glsnake [--display host:display.screen] [--window] [--root] [--window-id
number] [--visual visual] [--delay microseconds] [--fps] [--wireframe]
[--altcolour] [--angvel angular] [--explode distance] [--statictime
milliseconds] [--yangvel angle] [--zangvel angle]

🌈 DESCRIPTION 🌈

Okay so glsnake is literally an imitation of Rubiks´ Snake, but make it OpenGL. That's it. That's the vibe. 🐍✨


πŸ’… OPTIONS πŸ’…

glsnake is so generous, it accepts all of these:

  • --window β€” Draw on a newly-created window. This is the default, so if you do nothing at all, this is what you get. Main character energy fr. πŸͺŸ
  • --root β€” Draw on the root window instead. Going straight onto your desktop background, no cap.
  • --window-id number β€” Draw on the specified window. You pick which one, bestie.
  • --install β€” Install a private colormap for the window. Fancy.
  • --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. πŸ‘€
  • --fps β€” Display the current frame rate, CPU load, and polygon count. Numbers on your screen, slay. πŸ“Š
  • --wireframe β€” Display the snake in wireframe mode, rather than the default solid mode. Skeleton snake moment 🦴
  • --altcolour β€” Use the alternate colour scheme for the snake. ⚠️ Careful though: shape identification using colour will be disabled. So the colours stop being a cheat code.
  • -angvel angular β€” Change the speed at which the snake morphs to a new shape.
  • -explode distance β€” Change the distance between the nodes of a snake. (It's giving ✨spaced out✨)
  • --statictime milliseconds β€” Change the time between morphs. Zone out for longer, babe.
  • --yangvel angle β€” Change the angle of rotation around the Y axis per frame.
  • --zangvel angle β€” Change the angle of rotation around the Z axis per frame.

πŸ¦‹ 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), and https://spacepants.org/src/glsnake/


πŸ’€ BUGS πŸ’€

  • The snake will happily intersect itself while morphing (this is not a bug). It's just built different. πŸ™ˆ
  • The rotation/camera position sucks. Direct quote, we don't make the rules. 😭

Copyright Β© 2001, 2002 by Jamie Wilkinson, Andrew Bennetts, and Peter Aylett.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.


🌸 AUTHOR 🌸

Jamie Wilkinson <jaq@spacepants.org>, Andrew Bennetts <andrew@puzzling.org>, and Peter Aylett <peter@ylett.com>. Ported to XScreenSaver by Jamie Wilkinson. 🫢


okay that's the whole thing bestie, every flag, every path, every env var, nothing skipped, periodt πŸ’–

And for the cute sign-off: this little love letter lives in X Version 11, specifically 6.17-1.fc44 (13-Oct-2026) in the glsnake(6x) section of the manual. Byeeee 🌈✨

πŸ“¦ where this page comes from