unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



puff(1X)							     puff(1X)



NAME

  puff - An X program for sight-impaired users

SYNOPSIS

  puff [-toolkit_option] [-option]

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 mil-
      liseconds, or 2 Hz.  An update value of zero turns off periodic updat-
      ing.

  -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 `cur-
      sorWidth + magnification'.

  -h | -help
      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 proto-
  col of X clients and magnify the region where	graphics were last drawn.  By
  monitoring a program like xterm, Puff	can follow the text cursor automati-
  cally.  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.

  Ctrl+Shift+Escape
      Quit Puff.  This will also finish	off any	clients	running	through	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.

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 mil-
      liseconds, or 20 Hz.

  viewBox: integer (Class: ViewBox)
      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	run-
  ning 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 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 preju-
  dice (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 ALSO

  X(1X)