molecule(6)

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

πŸ’… molecule(6) β€” the XScreenSaver manual, but make it cute

okay so bestie, welcome to molecule(6), straight out of the XScreenSaver manual. this is the glow-up version. same facts, way more sparkle ✨


🌸 NAME 🌸

molecule β€” draws 3D molecular structures. yes, actual molecules. in 3D. rotating. on your screen. iconic behavior fr 🧚


πŸŽ€ SYNOPSIS πŸŽ€

molecule [--display host:display.screen] [--window] [--root]
[--window-id number] [--visual visual] [--delay microseconds] [--wander]
[--no-wander] [--spin axes] [--no-spin] [--timeout seconds] [--labels]
[--no-labels] [--titles] [--no-titles] [--atoms] [--no-atoms] [--bonds]
[--no-bonds] [--shells] [--no-shells] [--molecule file-or-directory]
[--verbose] [--wireframe] [--fps]

πŸ¦‹ DESCRIPTION πŸ¦‹

so molecule draws several different representations of molecules. some common molecules are built in, and it can also read PDB (Protein Data Base) files as input. that's it, that's the whole vibe. chemistry but make it screensaver πŸ”₯


✨ OPTIONS ✨

molecule accepts the following options β€” buckle up, there's a whole list:

  • --window β€” Draw on a newly-created window. This is the default. πŸ‘‘
  • --root β€” Draw on the root window. main character energy, right on your desktop backdrop.
  • --window-id number β€” Draw on the specified window. you pick the window, it does the art.
  • --install β€” Install a private colormap for the window. fancy colors, all yours.
  • --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. no cap.
  • --fps β€” Display the current frame rate, CPU load, and polygon count. stats girlies rise πŸ™ˆ
  • --verbose β€” Print debugging info on stderr about files being loaded, etc. it will literally tell you what's happening.
  • --wander β€” Move the molecules around the screen. they roam πŸ¦‹
  • --no-wander β€” Keep the molecule centered on the screen. This is the default.
  • --spin β€” Which axes around which the molecule should spin. the default is "XYZ", meaning rotate it freely in space. "--spin Z" would rotate the molecule in the plane of the screen while not rotating it into or out of the screen; etc. so many flavors of rotation πŸ’«
  • --no-spin β€” Don't spin it at all: the same as --spin "".
  • --labels β€” Draw labels on the atoms (or the spot where the atoms would be.) This is the default.
  • --no-labels β€” Do not draw labels on the atoms.
  • --titles β€” Print the name of the molecule and its chemical formula at the top of the screen. science + graphic design, we love to see it.
  • --no-titles β€” Do not print the molecule name.
  • --atoms β€” Represent the atoms as shaded spheres of appropriate sizes. This is the default.
  • --no-atoms β€” Do not draw spheres for the atoms: only draw bond lines.
  • --bonds β€” Represent the atomic bonds as solid tubes of appropriate thicknesses. This is the default.
  • --no-bonds β€” Do not draw the bonds: instead, make the spheres for the atoms be larger, for a "space-filling" representation of the molecule.
  • --shells β€” Draw transparent electron shells around the atoms. This only works if bonds are also being drawn. (no bonds, no shells, that's the rule 🫢)
  • --no-shells β€” Do not draw electron shells. This is the default.
  • --shell-alpha β€” When drawing shells, how transparent to make them. Default 0.4.
  • --wireframe β€” Draw a wireframe rendition of the molecule: this will consist only of single-pixel lines for the bonds, and text labels where the atoms go. This will be very fast. lowkey the speedrun mode ⚑
  • --timeout seconds β€” When using the built-in data set, change to a new molecule every this-many seconds. Default is 20 seconds.
  • --molecule file-or-directory β€” Instead of using the built-in molecules, read one from the given file. This file must be in PDB (Protein Data Base) format. (Note that it's not uncommon for PDB files to contain only the atoms, with no (or little) information about the atomic bonds.) β€” and yes, this can also be a directory, in which case, all of the .pdb files in that directory will be loaded. A new one will be displayed at random every few seconds (as per the --timeout option.) πŸ’–
⚠️ heads up bestie: when the molecule is too large (bigger than about 30 angstroms from side to side), the --label option will be automatically turned off, because otherwise, the labels would overlap and completely obscure the display. it's not being dramatic, it's being honest 😭
πŸ”₯ also: when the molecule is around 150 angstroms from side to side, wireframe mode will be turned on (because otherwise it would be too slow.) it's called self-care.

🌈 ENVIRONMENT 🌈

  • DISPLAY β€” to get the default host and display number. classic.
  • 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)

Documentation on the PDB file format:

https://web.archive.org/web/20070108054535/https%3A//www.wwpdb.org/docs.html
https://web.archive.org/web/19990819134547/https%3A//www.rcsb.org/pdb/docs/format/pdbguide2.2/guide2.2_frame.html

A good source of PDB files:

https://www.umass.edu/microbio/rasmol/whereget.htm

go get your molecules, bestie. iykyk πŸ“


Copyright Β© 2001-2005 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.


🫢 AUTHOR 🫢

Jamie Zawinski <jwz@jwz.org>


and that's the whole page, periodt πŸ’… β€” brought to you by X Version 11, version 6.15 (30-Mar-2026). screenshot it, cite it, send it to the group chat, slay 🌟

πŸ“¦ where this page comes from