tessellimage(6)
π« tessellimage(6) π«
okay so first things first, bestie: this is a page from the XScreenSaver manual, and the program is tessellimage. yes we're doing manual pages now. it's giving "study date at the library" and honestly? kind of iconic. π
β¨ NAME β¨
tessellimage β converts an image to triangles using Delaunay tessellation. that's it, that's the whole thing, and it's gorgeous. π¦
πΈ SYNOPSIS πΈ
tessellimage [--display host:display.screen] [--visual visual]
[--window] [--root] [--window-id number] [--delay number] [--duration
number] [--duration2 number] [--max-depth number] [--max-resolution
pixels] [--no-outline] [--no-fill-screen] [--fps]
lowkey a lot of brackets but we move. π
π DESCRIPTION π
so here's the vibe: tessellimage converts an image to triangles using Delaunay tessellation, and then it animates the result at various depths. main character energy fr fr. π₯
the smart part? it gives more triangles to the visually complex parts of the image. the boring flat parts get barely any. it's literally allocating attention based on who deserves it. periodt.
and the way it does this β this is the part that ate β is by first computing the first derivative of the image: the distance between each pixel and its neighbors. then the Delaunay control points get chosen by selecting those pixels whose distance value is above a certain threshold. those are the pixels that have the largest change in color/brightness. so basically: where the picture gets loud, the triangles get loud too. no cap. β¨
π OPTIONS π
bestie, we have receipts. every single one:
--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.--windowβ draw on a newly-created window. this is the default, so if you don't say anything, this is what you get. π«Ά--rootβ draw on the root window.--window-id numberβ draw on the specified window.--delay numberβ per-frame delay, in microseconds. default:30000(0.03seconds).--duration numberβ length of time until loading a new image. default: 2 minutes.--duration2 numberβ length of time until increasing or decreasing the triangulation depth. default:0.4seconds.--max-depth numberβ the maximum number of triangles to render. default:40000. that's a lot of little guys. π--max-resolution pixelsβ the size of the loaded image will be constrained to this width or height, to reduce the number of pixels examined. think of it as an initial low-pass filter. default1024.--outline|--no-outlineβ whether to outline the triangles.--fill-screen|--no-fill-screenβ whether to zoom in on the image to completely fill the screen, or to center it.--fps|--no-fpsβ whether to show a frames-per-second display at the bottom of the screen.
π ENVIRONMENT π
the env vars are here too, and they matter:
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 π¦
go read these too, i'm obsessed with cross-referencing:
X(1)xscreensaver(1)
π COPYRIGHT π
Copyright Β© 2014-2018 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.
okay that's a lot of legal words but bestie they're load-bearing β don't skip them, don't paraphrase them, and definitely don't lose the warranty disclaimer. it's giving "read the fine print" and the fine print is right there. πΈ
β AUTHOR β
Jamie Zawinski. legend behavior, honestly. π«Ά
aaaand that's the page!! mwah π if you got all the way here you're literally a Unix scholar now, iykyk. this was X Version 11, 6.15 (30-Mar-2026), and it's still tessellimage(6) β same icon, same date, same version, slay π
β¨π
π¦ 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