starwars — draws a perspective text crawl, like at the beginning of the movie

Synopsis

starwars [-display host:display.screen] [-window] [-root] [-visual visual] [-delay microseconds] [-program command] [-size integer ] [-columns integer] [-wrap | -no-wrap] [-left | -center | -right] [-lines integer] [-spin float] [-steps integer] [-delay usecs] [-font xlfd] [-no-textures] [-no-smooth] [-no-thick] [-fps]

Description

The starwars program runs another program to generate a stream of text, then animates that text receeding into the background at an angle, in front of a star field.

Options

starwars accepts the following options:
-window
Draw on a newly-created window. This is the default.
-root
Draw on the root window.
-install
Install a private colormap for the window.
-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.
-program sh-command
The command to run to generate the text to display. This option may be any string acceptable to /bin/sh. The program will be run at the end of a pipe, and any characters that it prints to stdout will be printed on the starwars window. If the program exits, it will be launched again after we have processed all the text it produced.

Note that starwars is not a terminal emulator: programs that try to directly address the screen will not do what you might expect. This program merely draws the characters on the screen left to right, top to bottom, in perspective. Lines (may) wrap when they reach the right edge.

In other words, programs like fortune(1) will work, but programs like top(1) won't.

Some examples:

starwars -program 'cat /usr/src/linux*/README'
starwars -columns 30 -program 'ping www.starwars.com'
starwars -left -no-wrap -program 'ps -auxwwf'
starwars -left -no-wrap -columns 45 -program 'top -bn1'
starwars -left -columns 40 -program 'od -txC /dev/urandom'
starwars -font fixed -program 'od -txC /dev/urandom'

-size integer
How large a font to use, in points. (Well, in some arbitrary unit we're calling "points" for the sake of argument.) Default: 24.
-columns integer
How many columns of text should be visible on the bottom line of the screen. Default: 60.

Only one of -columns and -size may be specified; if both are specified, -columns takes priority.

-wrap
Word-wrap lines when they reach the rightmost column. This is the default.
-no-wrap
Do not word-wrap: just let the lines go off the right side of the screen.
-left | -center | -right
Whether to align the text flush left, centered, or flush right. The default is centered.
-lines integer
How many lines should be allowed to be on the screen before they fall off the end. The default is 125.
-spin float
The star field on the background slowly rotates. This is how fast. The default is 0.03.
-steps integer
How many steps should be used to scroll a single line. The default is 35. If the animation looks jerky to you, increase this number.
-delay usecs
The delay between steps of the animation; default is 40000 (1/25th second.)
-font font-name
The name of the font to use. For best effect, this should be a large font (at least 36 points.) The bigger the font, the better looking the characters will be. Note that the size of this font affects only the clarity of the characters, not their size on the screen: for that, use the -size or -columns options.

Default: -*-utopia-bold-r-normal-*-*-720-*-*-*-*-iso8859-1

-no-textures
Instead of texture-mapping a real font to render the text, use a built-in font composed of line segments. On graphics cards without texture support, the line-segment font will have much better performance.
-no-smooth
When using the line-segment font, turn off anti-aliasing of the lines used to draw the font. This will make the text blockier, but may improve performance.
-no-thick
When using the line-segment font, turn off use of thick lines for the characters that are close to the foreground. This will make the text appear unnaturally skinny, but may improve performance.
-fps
Display the current frame rate, CPU load, and polygon count.

Environment

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 the RESOURCE_MANAGER property.

Author

Jamie Zawinski <jwz@jwz.org> and Claudio Matauoka <claudio@helllabs.org>