glsnake(6)

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

πŸ’– glsnake(6) β€” the OpenGL Rubik's Snake situation

ok so picture this: it's giving XScreenSaver manual energy, and the main character is glsnake. Buckle up bestie, we're going in 🐍✨


πŸ¦‹ 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 whole vibe. It's a cyclewaster and it knows it πŸ’…


✨ OPTIONS ✨

glsnake accepts the following options, and yes you're gonna read all of them because I said so:

  • --window β€” draws on a newly-created window. This is the default, so if you do nothing, congrats, you already did it πŸŽ€
  • --root β€” draws on the root window instead.
  • --window-id number β€” draws on the specific window you point at. very "you, specifically, this one" of you.
  • --install β€” installs a private colormap for the window.
  • --visual visual β€” picks which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual. no cap.
  • --fps β€” displays the current frame rate, CPU load, and polygon count. numbers!! πŸ“Š
  • --wireframe β€” displays the snake in wireframe mode, rather than the default solid mode. skeleton snake era 🦴
  • --altcolour β€” uses the alternate colour scheme for the snake. heads up though: shape identification using colour will be disabled. so pretty but lowkey confusing, iykyk πŸ™ˆ
  • -angvel angular β€” changes the speed at which the snake morphs to a new shape.
  • -explode distance β€” changes the distance between the nodes of a snake.
  • --statictime milliseconds β€” changes the time between morphs.
  • --yangvel angle β€” changes the angle of rotation around the Y axis per frame.
  • --zangvel angle β€” changes the angle of rotation around the Z axis per frame.

🌈 ENVIRONMENT 🌈

the vibes are set by these, bestie:

  • 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 the sacred texts: https://spacepants.org/src/glsnake/


πŸ’€ BUGS πŸ’€

  • The snake will happily intersect itself while morphing. this is not a bug. it's a lifestyle. it's slaying through itself and we respect it πŸπŸ’…
  • The rotation/camera position sucks. that's it, that's the bug report. iconic honesty fr fr.

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. shoutout the whole squad, absolute legends πŸŽ€


and that's the whole page bestie!! brought to you by X Version 11, version 6.15, dated 30-Mar-2026 β€” go forth and morph responsibly πŸ’–βœ¨πŸ

πŸ“¦ where this page comes from