NAME¶
phosphor - simulates an old terminal with long-sustain phosphor
SYNOPSIS¶
phosphor [-display
host:display.screen] [-window] [-root]
[-install] [-visual
visual] [-font
font] [-scale
int]
[-ticks
int] [-delay
usecs] [-program
command] [-meta]
[-esc] [-bs] [-del] [-fps]
DESCRIPTION¶
The
phosphor program draws text on the screen in a very large pixelated
font that looks like an old low resolution dumb tty. The pixels flare and fade
out as if the phosphor was very long-sustain. It is also a fully functional
vt100 terminal emulator.
OPTIONS¶
phosphor 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.
- -font font-name
- The X font to use. Phosphor can take any font and scale it
up to pixelate it. The default is fixed.
- -scale int
- How much to scale the font up: in other words, the size in
real pixels of the simulated pixels. Default 6.
- -ticks int
- The number of colors to use when fading to black. Default
20.
- -delay usecs
- The speed of the terminal: how long to wait between drawing
each character. Default 50000, or about 1/20th second.
- -pty
- Launch the sub-program under a PTY, so that it can address
the screen directly. This is the default.
- -pipe
- Launch the sub-program at the end of a pipe: do not let it
address the screen directly.
- -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 pty or pipe, and any characters that it prints to
stdout will be printed on phosphor's window. The characters will be
printed artificially slowly, as per the -delay option above. If the
program exits, it will be launched again after 5 seconds.
For example:
phosphor -program 'cat /usr/src/linux*/README'
phosphor -program 'ping localhost'
phosphor -program 'ps -e'
phosphor -program 'od -txC -w6 /dev/random'
phosphor -program 'cat /dev/random'
phosphor -scale 2 -geom =1280x1024 -program 'top'
phosphor -scale 4 -geom =1280x1024 \
-program 'mtr www.kernel.org'
phosphor -program 'xemacs -nw -q -f life'
phosphor -scale 5 -geom =1280x1024 \
-program 'xemacs -nw -q --eval "(hanoi 5)"'
If you have the festival(1) text-to-speech system installed, you can
have it read the screen as phosphor prints it:
phosphor -program \
'xscreensaver-text | tee /dev/stderr | festival --tts'
You can also use phosphor as a lo-fi replacement for the
xterm(1) and gnome-terminal(1) terminal emulators:
phosphor -delay 0 -program tcsh
- -esc
- When the user types a key with the Alt or Meta keys held
down, send an ESC character first. This is the default.
- -meta
- When Meta or Alt are held down, set the high bit on the
character instead.
- -del
- Swap Backspace and Delete. This is the default.
- -bs
- Do not swap Backspace and Delete.
- -fps
- Display the current frame rate and CPU load.
TERMINAL EMULATION¶
By default,
phosphor allocates a pseudo-tty for the sub-process to run
under. This has the desirable side effect that the program will be able to use
ioctl(2) to fetch information about terminal parameters and window
size, which many programs (such as
top(1)) need to run properly.
phosphor will also set the environment variable
TERM to
vt100 in the child process.
Any characters typed on the phosphor window will be passed along to the
sub-process. (Note that this only works when running in "window"
mode, not when running in
-root mode under xscreensaver.)
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.
- TERM
- to inform the sub-process of the type of terminal
emulation.
SEE ALSO¶
xscreensaver(1),
xscreensaver-text(1),
fortune(1),
apple2(6x),
starwars(6x),
fontglide(6x),
ljlatest(6x),
dadadodo(1),
webcollage(6x),
driftnet(1) EtherPEG,
EtherPeek,
console_codes(4).
COPYRIGHT¶
Copyright © 1999 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>, 27-Apr-99. Pty and vt100 emulation by
Fredrik Tolf <fredrik@dolda2000.com>.