glsnake(6)
π 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 theRESOURCE_MANAGERproperty.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 π
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
- alpine 3.24: xscreensaver-doc 6.15-r0 Β· GPL-2.0-or-later GPL-3.0-or-later 0BSD MIT
- arch rolling: xscreensaver 6.15-1 Β· LicenseRef-XScreenSaver
- nixpkgs unstable: xscreensaver 6.15
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms