f954c18935276713cf1846bb9015576b01bf7d8b
[xscreensaver] / hacks / phosphor.man
1 .de EX          \"Begin example
2 .ne 5
3 .if n .sp 1
4 .if t .sp .5
5 .nf
6 .in +.5i
7 ..
8 .de EE
9 .fi
10 .in -.5i
11 .if n .sp 1
12 .if t .sp .5
13 ..
14 .TH XScreenSaver 1 "30-Oct-99" "X Version 11"
15 .SH NAME
16 phosphor - simulates an old terminal with long-sustain phosphor
17 .SH SYNOPSIS
18 .B phosphor
19 [\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
20 [\-visual \fIvisual\fP] [\-font \fIfont\fP] [\-scale \fIint\fP]
21 [\-ticks \fIint\fP] [\-delay \fIusecs\fP] [\-program \fIcommand\fP]
22 [\-meta] [\-esc] [\-bs] [\-del]
23 .SH DESCRIPTION
24 The \fIphosphor\fP program draws text on the screen in a very large 
25 pixelated font that looks like an old low resolution dumb tty.  The
26 pixels flare and fade out as if the phosphor was very
27 long-sustain.  It is also a fully functional vt100 terminal emulator.
28 .SH OPTIONS
29 .I phosphor
30 accepts the following options:
31 .TP 8
32 .B \-window
33 Draw on a newly-created window.  This is the default.
34 .TP 8
35 .B \-root
36 Draw on the root window.
37 .TP 8
38 .B \-install
39 Install a private colormap for the window.
40 .TP 8
41 .B \-visual \fIvisual\fP\fP
42 Specify which visual to use.  Legal values are the name of a visual class,
43 or the id number (decimal or hex) of a specific visual.
44 .TP 8
45 .B \-font \fIfont-name\fP
46 The X font to use.  Phosphor can take any font and scale it up to pixelate
47 it.  The default is \fIfixed\fP.
48 .TP 8
49 .B \-scale \fIint\fP
50 How much to scale the font up: in other words, the size in real pixels of
51 the simulated pixels.  Default 6.
52 .TP 8
53 .B \-ticks \fIint\fP
54 The number of colors to use when fading to black.  Default 20.
55 .TP 8
56 .B \-delay \fIusecs\fP
57 The speed of the terminal: how long to wait between drawing each character.
58 Default 50000, or about 1/20th second.
59 .TP 8
60 .B \-pty
61 Launch the sub-program under a PTY, so that it can address the screen
62 directly.  This is the default.
63 .TP 8
64 .B \-pipe
65 Launch the sub-program at the end of a pipe: do not let it address the
66 screen directly.
67 .TP 8
68 .B \-program \fIsh-command\fP
69 The command to run to generate the text to display.  This option may
70 be any string acceptable to /bin/sh.  The program will be run at the
71 end of a pty or pipe, and any characters that it prints to \fIstdout\fP
72 will be printed on phosphor's window.  The characters will be printed
73 artificially slowly, as per the \fI\-delay\fP option above.  If the
74 program exits, it will be launched again after 5 seconds.
75
76 For example:
77 .EX
78 phosphor -program 'cat /usr/src/linux*/README'
79 phosphor -program 'ping localhost'
80 phosphor -program 'ps -e'
81 phosphor -program 'od -txC -w6 /dev/random'
82 phosphor -scale 2 -geom =1280x1024 -program 'top'
83 phosphor -scale 4 -geom =1280x1024 \\
84          -program 'mtr www.kernel.org'
85 phosphor -program 'xemacs -nw -q -f life'
86 phosphor -scale 5 -geom =1280x1024 \\
87          -program 'xemacs -nw -q --eval "(hanoi 5)"'
88 .EE
89 You can also use \fIphosphor\fP as a lo-fi replacement for the
90 .BR xterm (1)
91 and
92 .BR gnome-terminal (1)
93 terminal emulators:
94 .EX
95 phosphor -delay 0 -program tcsh
96 .EE
97 .TP 8
98 .B \-esc
99 When the user types a key with the Alt or Meta keys held down, send an
100 ESC character first.  This is the default.
101 .TP 8
102 .B \-meta
103 When Meta or Alt are held down, set the high bit on the character instead.
104 .TP 8
105 .B \-del
106 Swap Backspace and Delete.  This is the default.
107 .TP 8
108 .B \-bs
109 Do not swap Backspace and Delete.
110 .SH TERMINAL EMULATION
111 By default, \fIphosphor\fP allocates a pseudo-tty for the sub-process to
112 run under.  This has the desirable side effect that the program will be
113 able to use
114 .BR ioctl (2)
115 to fetch information about terminal parameters and window size, which
116 many programs (such as
117 .BR top (1))
118 need to run properly. \fIphosphor\fP will also set the environment
119 variable \fITERM\fP to \fIvt100\fP in the child process.
120
121 Any characters typed on the phosphor window will be passed along to
122 the sub-process.  (Note that this only works when running in "window"
123 mode, not when running in \fI\-root\fP mode under xscreensaver.)
124 .SH ENVIRONMENT
125 .PP
126 .TP 8
127 .B DISPLAY
128 to get the default host and display number.
129 .TP 8
130 .B XENVIRONMENT
131 to get the name of a resource file that overrides the global resources
132 stored in the RESOURCE_MANAGER property.
133 .TP 8
134 .B TERM
135 to inform the sub-process of the type of terminal emulation.
136 .SH SEE ALSO
137 .BR xscreensaver (1),
138 .BR fortune (1),
139 .BR apple2 (1),
140 .BR starwars (1),
141 .BR fontglide (1),
142 .BR ljlatest (1),
143 .BR dadadodo (1),
144 .BR webcollage (1),
145 .BR driftnet (1)
146 .BR EtherPEG ,
147 .BR EtherPeek ,
148 .BR console_codes (4).
149 .SH COPYRIGHT
150 Copyright \(co 1999 by Jamie Zawinski.  Permission to use, copy, modify, 
151 distribute, and sell this software and its documentation for any purpose is 
152 hereby granted without fee, provided that the above copyright notice appear 
153 in all copies and that both that copyright notice and this permission notice
154 appear in supporting documentation.  No representations are made about the 
155 suitability of this software for any purpose.  It is provided "as is" without
156 express or implied warranty.
157 .SH AUTHOR
158 Jamie Zawinski <jwz@jwz.org>, 27-Apr-99.
159 Pty and vt100 emulation by Fredrik Tolf <fredrik@dolda2000.com>.