togeomview(1)
NAME
togeomview - send commands or OOGL objects to geomview
SYNOPSIS
togeomview [-c] [-g] [pipename [program args ...]]
DESCRIPTION
- togeomview sends a stream of geomview commands, or OOGL
- format geometric data, to a cooperating copy of geomview. If ge
- omview is not running, it is automatically started. ('geomview'
- must be on the $PATH of the user running 'togeomview' in order
- for this to work.)
- Typical usage is:
- someprogram | togeomview (to send commands) or someprogram-generating-OOGL-data | togeomview -g (to
- send geometry)
- i.e. a program pipes geometric data into ``togeomview'';
- the data is displayed by a copy of geomview run with the -M op
- tion and a name matching the one given to togeomview.
- Togeomview uses a named pipe in the directory
- /tmp/geomview to communicate with geomview. If unspecified, the
- pipe's default name is "OOGL". When sending geometry (-g), a ge
- omview object with the same name as the pipe appears in ge
- omview's object browser.
- By default, when no suitable copy of geomview is running,
- togeomview invokes "geomview" with arguments specifying the ap
- propriate named pipe. A different command may be specified as
- in:
togeomview OOGL gv -wpos 300x300 -c- my_startup_script
- which communicates through a pipe named OOGL, and (if nec
- essary) invokes the given gv command. The pipe name is required
- if a command is specified.
- After togeomview has created it, the named pipe may be
- written as an ordinary file. For example, one could use
togeomview pipename < /dev/null- to invoke a listening copy of geomview, and then run a
- program which simply wrote to /tmp/geomview/pipename.
FILES
/tmp/geomview
BUGS
- The pipe-based communications scheme imposes several re
- strictions.
- If no copy of geomview is reading from the pipe, or if ge
- omview gets far enough behind, a program writing data to
- ``togeomview'' will be forced to block after sending a few kilo
- bytes.
- Because of the buffering in the pipe, the sender may be
- substantially ahead of the geomview display.
- If geomview exits, the sending program receives a write
- on-broken-pipe (SIGPIPE) signal, which will kill it unless mea
- sures are taken to catch or ignore that signal.
- Only one copy of geomview can read from a given pipe at a
- time. If a second copy attempts to read from it, both will prob
- ably fail. It's fine to have multiple copies of geomview reading
- from different pipes.
- Note that togeomview will invoke geomview if no extant
- copy is listening to the relevant pipe; it can't connect to an
- existing copy of geomview started by other means.
SEE ALSO
- geomview(1), oogl(5)
- Geometry Center 21 May 1993