ICO(1)
π ico β bestie, it's giving ROTATING POLYHEDRA π
okay so real quick, this is the manual for ico, from the General Commands Manual section of your friendly neighborhood man pages. sit down, grab a strawberry, we're gonna spin some shapes πΈ
β¨ NAME β¨
ico β animate an icosahedron or other polyhedron π¦
π SYNOPSIS π
ico [-display display] [-geometry geometry] [-r] [-d pattern] [-i]
[-dbl] [-faces] [-noedges] [-sleep n] [-obj object] [-colors color-list]
ico -objhelp
ico -version
π DESCRIPTION π
So ico literally draws a wire-frame rotating polyhedron for you β and it's not messy about it, because it removes the hidden lines. or, if you'd rather, it does a solid-fill polyhedron with the hidden faces removed. either way? iconic. π
and the best part, bestie: there are a bunch of different polyhedra available, and adding a new polyhedron to the program is quite simple. no cap. β¨
π OPTIONS π
-rβ display on the root window instead of making a whole new window. main character energy, just vibing on the background π«Ά-dpattern β specify a bit pattern for drawing dashed lines for wire frames.-iβ use inverted colors for wire frames. the flip side, the remix π-dblβ use double buffering on the display. this works for either wire frame or solid fill drawings. for solid fill drawings, using this switch results in substantially smoother movement. lowkey important note tho: this requires twice as many bit planes as without double buffering. and since some colors are typically allocated by other programs, most eight-bit-plane displays will probably be limited to eight colors when using double buffering. π-facesβ draw filled faces instead of wire frames. glow-up mode π₯-noedgesβ don't draw the wire frames. typically used only when-facesis used.-sleepn β sleep n seconds between each move of the object. slow it down, let it breathe π§-objobject β specify what object to draw. if no object is specified, an icosahedron is drawn.-objhelpβ print out a list of the available objects, along with information about each object. the menu, basically π-colorscolor color ... β specify what colors should be used to draw the filled faces of the object. if less colors than faces are given, the colors are reused. β»οΈ-versionβ print program version information and exit. bye bestie π
πͺ PROGRAM TERMINATION πͺ
Pressing "q" will close a window.
if it was compiled with threads support, the program will stop only when all threads terminate β so don't panic if it lingers a sec, it's just waiting for the whole squad to finish. π«Ά
you can also close an animation window using the ICCCM delete message (depending on your window manager, you'll have a decoration button or menu to send such message).
π οΈ ADDING POLYHEDRA π οΈ
if you have the source to ico, it is very easy to add more polyhedra. here's the tea:
each polyhedron is defined in an include file by the name of objXXX.h, where XXX is something related to the name of the polyhedron. the format of the include file is defined in the file polyinfo.h. look at the file objcube.h to see what the exact format of an objXXX.h file should be, then create your objXXX.h file in that format. π
after making the new objXXX.h file (or copying in a new one from elsewhere), simply do a 'make depend'. this will recreate the file allobjs.h, which lists all of the objXXX.h files. doing a 'make' after this will rebuild ico with the new object information. periodt. β¨
π SEE ALSO π
π BUGS π
okay so, full transparency, no gatekeeping:
- Pyramids and tetrahedrons with filled faces do not display correctly. π
- A separate color cell is allocated for each name in the
-colorslist, even when the same name may be specified twice. and color allocation fails in TrueColor displays and option-facesdoes not work well. it's giving tragic, honestly. π
and that's the whole page, bestie!! this was X Version 11, ico version 1.0.6 β go spin something pretty πβ¨π¦πΈπ
π¦ where this page comes from
- debian trixie: x11-apps 7.7+11+b1
- nixos 26.05: ico 1.0.6
- opensuse-leap 16.0: ico 1.0.6-bp160.1.12 Β· MIT
- opensuse-leap 16.0: ico 1.0.6-bp160.1.12 Β· MIT
- opensuse-leap 16.0: ico 1.0.6-bp160.1.12 Β· MIT
- opensuse-leap 16.0: ico 1.0.6-bp160.1.12 Β· MIT
- ubuntu noble: x11-apps 7.7+11build3
- ubuntu questing: x11-apps 7.7+11build3
- ubuntu resolute: x11-apps 7.7+11build4
- ubuntu stonking: x11-apps 7.7+11build4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms