Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  XPYRAMINX (1)


xpyraminx - Pyramid X widget


Save Format
See Also
Bug Reports And Program Updates


/usr/games/xpyraminx [-geometry [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]] [-display [{host}]:[{vs}]] [-[no]mono] [-[no]{reverse|rv}] [-{foreground|fg} {color}] [-{background|bg} {color}] [-{border|bd} {color}] [-face{0|1|2|3} {color}] [-{size {int} | sticky}] [-{mode {int} | both}] [-[no]orient] [-[no]practice] [-username {string}]


The original puzzle has 9 triangles per face (size = 3) and has period 3 turning (i.e. the face or points turn in 120 degree intervals). The puzzle was designed by Uwe Meffert and called the Pyraminx. This has 2^5*3^8*6!/2 or 75,582,720 different comibinations.

Another puzzle Senior Pyraminx 3x3x3 exists only on paper, it has period 2 turning (i.e. edges turn with 180 degree intervals) but the corners would fall off unless it had some tricky mechanism. (This may be the same as the Master Pyraminx which has 446,965,972,992,000 different combinations).

Another puzzle (which was not widely distributed), the Junior Pyraminx (and similarly the Junior Pyraminx Star, a octahedron formed by two tetrahedra, this has 7!*3^6 or 3,674,160 different combinations), has 4 triangles (size = 2) per face and at the time I designed this computer puzzle thought that it had only period 2 turning (i.e the edges rotate). It turns out the puzzle has a period 4 turning (edges turn with 90 degree intervals) which makes it analogous to the 2x2x2 Rubik’s cube. This puzzle makes various non-tetrahedral shapes. The puzzle contained here has no period 4 turning flexability.

One is able to simulate Halpern’s Tetrahedron or Pyraminx Tetrahedron (period 3 turning and sticky mode). Also one is able to simulate one with variant turning (period 2 turning and sticky mode).


Press "mouse-left" button to move a piece. Release "mouse-left" button on a piece on the same face and in the same row (but not an adjacent piece or the move is ambiguous). The pieces will then turn towards where the mouse button was released.

Click "mouse-center", or press "P" or "p" keys to toggle the practice mode (in practice mode the record should say "practice"). One must double click on "mouse-center" if the puzzle is being worked on. This is good for learning moves and experimenting.

Click "mouse-right", or press "R" or "r" keys to randomize (this must be done first to set a new record). One must double click on "mouse-right" if the puzzle is being worked on.

Press "I" or "i" keys to increase the number of "tetras".

Press "D" or "d" keys to decrease the number of "tetras".

Press "O" or "o" keys to toggle the orient mode. One has to orient the faces in orient mode, besides getting all the faces to be the same color. To do this one has to get the lines to be oriented in the same direction, this only matters with center "tetras", if at all (i.e. those "tetras" not on a corner or edge). This does add complexity so there are 2 sets of records.

Press "2", "3", "B", or "b" keys (not the keypad 2, 3) to change modes to Period 2, Period 3, or Both.

Press "Y" or "y" to toggle sticky mode (increase/decrease is disabled here if sticky mode is on).
"Sticky" and "Period 2" turning allows only the edges to turn, and the 2 center rows turn together. It is as if the middle cut of the three cuts did not exist.
"Sticky" and "Period 3" turning allows only the faces to turn, it is as if the middle cut of the three cuts did not exist.
Beware, the "Sticky" mode is a hack and much could be done to improve its look.

"S" or "s" keys reserved for the auto-solver (unimplemented).

Press "U" or "u" keys to undo move.

Press "G" or "g" keys to get a saved puzzle.

Press "W" or "w" keys to write or save a puzzle.

Press "Q", "q", or "CTRL-C" keys to kill program.

Use the key pad, "R" keys, or arrow keys to move without mouse clicks.
Key pad is defined for Pyraminx as:
/ Counterclockwise

8 9 Up, Upper Right
4<5>6 Left, Clockwise, Right
1 2 Lower Left, Down

Use the shift keys to access "Period 3" turns from "Both" mode, otherwise it assumes "Period 2" turning. Faces and points turn in "Period 3" and edges (2 points) turn in "Period 2".

Use the control key and the left mouse button, keypad, or arrow keys to move the whole tetrahedron. This is not recorded as a turn.

The title is in the following format (non-motif version):

xpyraminx.{2|3|both<turning modes>}: {1|2|3|4|5|6|7|sticky<number of "tetras" per edge>} @ (<Number of moves>/{<Record number of moves> <username>|"NEVER noaccess"|"practice"}) - <Comment>
If there is no record of the current puzzle, it displays "NEVER noaccess".


-geometry {+|-}X{+|-}Y
  This option sets the initial position of the pyraminx window (resource name "geometry").
-display host:dpy
  This option specifies the X server to contact.
-[no]mono This option allows you to display on a color screen as if monochrome (resource name "mono").
  This option allows you to see the pyraminx window in reverse video (resource name "reverse").
-{foreground|fg} color
  This option specifies the foreground of the pyraminx window (resource name "foreground").
-{background|bg} color
  This option specifies the background of the pyraminx window (resource name "background").
-{border|bd} color
  This option specifies the border color of the tetras in the pyraminx window (resource name "borderColor").
-face{0|1|2|3} <color>
  This option allows you to change the color of a face (resource name "faceColorN"). In mono-mode, color is represented as the first letter of the color name. The faces are ordered top to bottom and left to right. If you has two colors that begin with the same letter you should have one in uppercase and one in lowercase to distinguish them in mono-mode. You can change the colors of the faces to make a stupid pyraminx (i.e. all White or in mono-mode all "W"). Unfortunately, it will not normally say its solved when its randomized. This would be cheating.
-size <int>
  This option allows you to change the number of tetras on a edge (resource name "size").
-sticky This option allows you to set the sticky mode (resource name "sticky").
-mode <int>
  This option allows you to set the turning mode (resource name "mode").
-both This option allows you to set the turning mode to both period 2 and period 3 (resource name "mode" set at 4).
  This option allows you to access the orient mode (resource name "orient").
  This option allows you to access the practice mode (resource name "practice").
-username string
  This option specifies the user name for any records made or else it will get your login name (resource name "userName").


The format is not standard. The reason for this is that this is simple to produce and the standard notation is no good for variable number of "tetras" and turning modes.

Pyraminx with default colors, not randomized:
0 B Blue
1 R Red
2 Y Yellow
3 G Green

size: 1-7 <number of triangles in the same orientation as the face per row>
mode: 2-4 <period 2 turning, period 3 turning, or both (4)>
orient: 0-1 <0 false, 1 true; if 1 then lines on "tetras" to be oriented>
sticky: 0-1 <0 false, 1 true; if 1 then some "tetras" move together>
practice: 0-1 <0 false, 1 true>
moves: 0-MAXINT <total number of moves>

startingPosition: <2 dimensional array of face "tetra" position, each face has size * size "tetras", if orient mode then orientation number follows face number: 0 up, 1 upper right, 2 right, 3 down, 4 lower left, and 5 left>

This is then followed by the moves, starting from 1.

move #: <face> <position> <direction> <control>
Each turn is with respect to a face and position.
Position is 0 to size * size - 1. Position 0 is the triangle furthest from the center, increasing clockwise.
Direction is represented 0 up, 1 upper right, 2 right, 3 down, 4 lower left, 5 left, 9 clockwise, and 15 counterclockwise.
Control is represented as 0 or 1, 1 if the whole tetrahedron is moved at once (here position does not matter), 0 if not. The xpyraminx record keeper does not count a control move as a move, but here we do.

Caution: the program may crash on corrupted input.


Mastering the Magic Pyramid by Tom Werneck, Evans Brothers Limited, London, 1981. pp 109-111.

Beyond Rubik’s Cube: spheres, pyramids, dodecahedrons and God knows what else by Douglas R. Hofstadter, Scientific American, July 1982, pp 16-31.

Magic Cubes 1996 Catalog of Dr. Christoph Bandelow.


X(1), xrubik(6), xskewb(6), xdino(6), xoct(6), xmball(6), xmlink(6), xpanex(6), xcubes(6), xtriangles(6), xhexagons(6), xabacus(1)


® Copyright 1994-99, David Albert Bagley


Send bugs (or their reports, or fixes) to the author

David Albert Bagley, <>

The latest version is currently at:

Search for    or go to Top of page |  Section 1 |  Main Index

V5.5 XPYRAMINX (6) 20 June 1999

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.