jigsaw(6)

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

πŸ’… jigsaw(6) β€” like, the XScreenSaver manual, but make it make sense

okay bestie, so this is jigsaw, and it's part of the XScreenSaver manual β€” yes, the screensaver thing, we're going there, and honestly? it's kind of iconic. 🧩✨


🌈 SYNOPSIS 🌈

jigsaw [--display host:display.screen] [--delay usecs] [--speed ratio]
[--complexity ratio] [--resolution int] [--thickness float]
[--no-wobble] [--fps] [--visual visual] [--window] [--root] [--window-id
number]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so picture this: jigsaw loads up an image, carves it up into an actual jigsaw puzzle, shuffles all the pieces around, and then β€” the main character move β€” solves it. πŸ’–

and where does the image come from, you ask? it grabs it from the portion of the screen that's sitting underneath the window, or from the system's video input, or from a random file on disk β€” whichever one, it's decided by the grabDesktopImages, grabVideoFrames, and chooseRandomImages options in your ~/.xscreensaver file. more deets live in xscreensaver-settings(1), go look πŸ‘€


✨ OPTIONS ✨

jigsaw accepts the following options, and yes, we're doing all of them:

  • --delay microseconds β€” how long to wait between animation frames. default is 20000. no cap, that's just the number 🫢
  • --speed ratio β€” less than 1 makes it slower, greater than 1 makes it faster. default is 1. slay at your own pace πŸ’…
  • --complexity ratio β€” less than 1 gives you simpler puzzles (fewer pieces), greater than 1 gives you more complex puzzles (more pieces). default is 1. go off, puzzle queen πŸ‘‘
  • --resolution ratio β€” the smoothness of the edges of the pieces. less than 1 means rougher pieces (fewer polygons), greater than 1 means smoother pieces (more polygons). default is 1. it's giving very demure, very mindful edge work 🌸
  • --thickness float β€” the thickness of the puzzle pieces, relative to their width. default is 0.06. chunky, but make it proportional πŸ“
  • --no-wobble β€” keeps the display stationary instead of very slowly wobbling back and forth. for when the vibes are too much, honestly 😭
  • --fps β€” displays the current frame rate, polygon count, and CPU load. numbers!! we love numbers!! πŸ”₯
  • --window β€” draw on a newly-created window. this is the default, so it's already the moment πŸ’œ
  • --root β€” draw on the root window. periodt.
  • --window-id number β€” draw on the specified window. pick your fave, 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. iykyk 🌈

🧚 ENVIRONMENT 🧚

  • DISPLAY β€” to get the default host and display number. the classic.
  • XENVIRONMENT β€” to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property. she's the overachiever of the group chat πŸ’€
  • XSCREENSAVER_WINDOW β€” the window ID to use with --root. literally that's it 🫢

πŸ’– SEE ALSO πŸ’–

X(1), xscreensaver(1), xscreensaver-settings(1), xscreensaver-getimage(6) β€” read them, they're all part of the lore ⭐


Copyright Β© 1997 by Jamie Zawinski.

and here's the legal bit, and it's genuinely important so no skipping: 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. 🫑


🌸 AUTHOR 🌸

Jamie Zawinski <jwz@jwz.org>, 25-Nov-97. an absolute legend, fr fr πŸ™ˆ


okay that's the whole thing!! this page was brought to you by X Version 11, version 6.15, dated 30-Mar-2026 β€” mwah, love that for us πŸ’œπŸŽ€

πŸ“¦ where this page comes from