puff(1X)puff(1X)NAMEpuff - An X program for sight-impaired users
SYNOPSISpuff [-toolkit_option] [-option]
OPTIONS
Have Puff's false server listen at a different display number. By
default, Puff listens to display number 1. Set the magnification fac‐
tor. The magnification is constrained to be an integer greater than
zero. The default is 6. Specify in milliseconds how often to update
the Puff window in the absence of pointer of graphics activity. For
example, to update every second, use a value of 1000. The default
update rate is 500 milliseconds, or 2 Hz. An update value of zero
turns off periodic updating. Specify the size of the pointer cursor
block in the Puff window. The actual dimension of the block is '2 *
cursorWidth * magnification'. The default cursor width is 3. The width
of the view box outline is `cursorWidth + magnification'. Display a
short command summary.
DESCRIPTION
Puff (puff) is intended for people who need text and graphics displayed
at a high magnification factor. Typically users will want both the
pointer and text to be tracked as they work.
Puff follows the pointer (also known as the mouse), magnifying a part
of the screen under the cursor. In addition, Puff can monitor the X11
protocol of X clients and magnify the region where graphics were last
drawn. By monitoring a program like xterm, Puff can follow the text
cursor automatically. Puff switches focus between the pointer and
graphics, depending on which was last active.
In order to track the protocol of X clients, Puff sets up a false
server on the machine that it is executed on. This server is, by
default, at display number 1. Any X clients connecting with this false
server are connected to the same X server that Puff is connected to.
Puff is transparent to X clients.
Puff draws a box around the location being magnified, which makes it
easier to track the cursor and see where Puff is focusing its atten‐
tion. The view box flashes on each update.
INTERFACE
Puff is controlled via the keyboard. The following keys have these
actions: Change the magnification factor to 2-18, 20, 25, and 30,
respectively. Toggle showing the view box. Quit Puff. This will also
finish off any clients running through Puff.
The following arrow key commands make it easier to scan text and graph‐
ics: Move the magnification window up by 1/4 the window height. Move
the magnification window down by 1/4 the window height. Move the mag‐
nification window right by 1/4 the window width. Move the magnifica‐
tion window left by 1/4 the window width. Return to the point of
interest.
ADDITIONAL RESOURCES
The following resources apply to the Puff widget, of class puff: Set
the magnification factor in the horizontal direction. The resource
value must be a positive integer. Set the magnification factor in the
vertical direction. The resource value must be a positive integer.
Graphics and pointer activity are accumulated for delayMin milliseconds
before Puff updates to avoid overwhelming the X server. To decrease
Puff's impact, increase delayMin. The default value is 50 millisec‐
onds, or 20 Hz. If the viewBox resource is nonzero, the view box will
be drawn.
EXAMPLES
In practice, Puff is used on the top half of the screen, with clients
running on the bottom half. A sample file might read:
#!/bin/csh xrdb -load $HOME/.Xdefaults xclock -geometry -10-10 & puff-geometry 1280x500+0+0 & xterm -display :1 -geometry 80x32+5-5 & twm
For an example of how Puff follows the display, enter the following
command after starting Puff:
xclock -display :1 -u 1
CAVEATS
If run over a network, Puff can consume a good portion of an Ethernet's
bandwidth. To be a good citizen, run Puff on the same workstation as
the X server whenever possible.
If available, Puff will use the MIT Shared Memory X server extension,
which greatly improves performance. However, if terminated with
extreme prejudice (that is, kill -9), the program will not have a
chance to release the shared memory segments it was using. The ipcrm
program can be used to free up Puff's mess.
Puff will grab all Ctrl arrow-key events, depriving other clients.
This obnoxious behavior should be made an option.
AUTHOR
AHPCRC (Army High Performance Computing Research Center)
SEE ALSOX(1X)puff(1X)