pipes(6)
π pipes(6) β like, the XScreenSaver manual page for pipes π
okay bestie, this one's from the XScreenSaver manual and it's genuinely one of the iconic ones. sit down, we're talking about pipes. π«Ά
β¨ NAME β¨
pipes β fill the screen with a plumbing system.
yes. that's the whole pitch. a plumbing system. on your screen. slay.
π¦ SYNOPSIS π¦
pipes [--display host:display.screen] [--visual visual] [--window]
[--root] [--window-id number] [-count 0] [-count 1] [-cycles number]
[-size number] [-factory number] [-delay number] [-no-fisheye]
[-tightturns] [-db] [-fps]
(and yes, the flags really are written like that in the synopsis β -count 0 / -count 1 with one dash, the rest with two. i don't make the rules, i just report them π
)
πΈ DESCRIPTION πΈ
so like, if you've ever been in the same room as a Windows NT machine, you've probably seen this GL hack. it fills the screen with a plumbing system. that's it. that's the vibe. no cap.
it's giving "somebody's dad built this in 1998 and honestly it ate". π₯
π OPTIONS π
--visual visualβ picks which visual to use. legal values are the name of a visual class, or the id number (decimal or hex, bestie) of a specific visual.--windowβ draw on a newly-created window. this is the default, so it's the main character here. π--rootβ draw on the root window.--window-id numberβ draw on the specified window. you pick the window, you own the window.--count 0β Curved Pipes.--count 1β Ball Joints.--cycles numberβ number of pipe systems to draw at once. default:5.--size numberβ length of each pipe system. default:500.--factory numberβ how much gadgetry to create. useful range is0-10. default:2.--delay numberβ how long (in microseconds) to sleep between frames. default:10000.--fisheye|--no-fisheyeβ whether to use a fisheye lens.--tightturns|--no-tightturnsβ whether to allow tight turns.--db|--no-dbβ whether to double-buffer.--fpsβ display the current frame rate, CPU load, and polygon count. ty for your service. π
π§ 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 theRESOURCE_MANAGERproperty.XSCREENSAVER_WINDOWβ the window ID to use with--root.
π SEE ALSO π
X(1), xscreensaver(1)
π₯ COPYRIGHT π₯
Copyright Β© 2002 by Marcelo Vianna. 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.
(^^ the actual legal text, keep it as-is, it's doing its job. the "as is" with no warranty bit is real, so like... don't come for anybody if your pipes act up π)
π AUTHOR π
Marcelo Vianna.
and that's the whole page, bestie! π this one's from X Version 11, and the page is dated 6.15 (30-Mar-2026) β so go forth, render some plumbing, and remember: --fps is right there if you want to watch your polygon count do its little thing. πβ¨π«Ά
π¦ 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