Content-type: text/html Manpage of PUFF

PUFF

Section: User Commands (1)
Updated: February 17, 1992
Index Return to Main Contents
 

NAME

puff - An X program for sight impaired users  

SYNOPSIS

puff [ -toolkit_option ] [ -option ]  

DESCRIPTION

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 (aka 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 attention. The view box flashes on each update.  

INTERFACE

Puff is controlled via the keyboard. The following keys have these actions:
1-9, 0, -, =
Change the magnification factor to 2-18, 20, 25 and 30 respectively.
b, B
Toggle showing the view box.
q, Q, Escape
Quit puff. This will also finish off any clients running though puff.

The following arrow key commands make it easier to scan text and graphics.

<Ctrl>Up
Move the magnification window up by 1/4 the window height.
<Ctrl>Down
Move the magnification window down by 1/4 the window height.
<Ctrl>Right
Move the magnification window right by 1/4 the window width.
<Ctrl>Left
Move the magnification window left by 1/4 the window width.
<Ctrl>Return
Return to the point of interest.
 

OPTIONS

-d | -dnum integer (resource: Puff.displayNumber)
Have puff's false server listen at a different display number. By default, puff listens to display number 1.
-m | -mag integer (resource: Puff*Mag)
Set the magnification factor. The magnification is constrained to be an integer greater than zero. The default is 6.
-u | -update integer (resource: Puff*delayMax)
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.
-c | -cwidth integer (resource: Puff*cursorWidth)
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'.
-h | -help
Display a short command summary.
 

ADDITIONAL RESOURCES

The following resources apply to the puff widget, of class Puff.
magX: integer (Class: Mag)
Set the magnification factor in the horizontal direction. The resource value must be a positive integer.
magY: integer (Class: Mag)
Set the magnification factor in the vertical direction. The resource value must be a positive integer.
delayMin: milliseconds (Class: DelayMin)
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 milliseconds, or 20 Hz.
viewBox: integer (Class: ViewBox)
If the viewBox resource is non-zero the view box will be drawn.
 

EXAMPLE

In practice puff is often used on the top half of the screen, with clients running on the bottom half. A sample .xsession 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 yucks, while puff is running try:

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 (i.e. kill -9), the program will not have a chance to release the shared memory segments it was using. The program ipcrm can be used to clean up puff's mess.

Puff will grab all <Ctrl>arrow-key events, depriving other clients. This obnoxious behavior should be made an option.  

AUTHOR

Ken Chin-Purcell, AHPCRC, Minnesota Supercomputer Center.
Mail to ken@msc.edu.


 

Index

NAME
SYNOPSIS
DESCRIPTION
INTERFACE
OPTIONS
ADDITIONAL RESOURCES
EXAMPLE
CAVEATS
AUTHOR

This document was created by man2html, using the manual pages.
Time: 10:19:19 GMT, July 06, 2010