next up previous contents index
Next: Printing from WAVE Up: WAVE and the Web Previous: Serving .xws files

Controlling a web browser from WAVE

WAVE uses a web browser to display external data associated with link annotations, and to display the on-line version of this guide. A suitable web browser must be installed on the WAVE host in order for this to work. By default, WAVE uses Netscape version 1.1 (or any later version; free copies of Netscape for academic use or for evaluation purposes may be obtained by anonymous FTP from ftp.netscape.com).

WAVE controls the web browser in the same way it controls other external programs: by running commands in the Analysis Commands window. WAVE's interface to the web browser is defined by the line beginning with the <Open URL> tag in WAVE's menu file. In the standard version of the menu file, this line reads:

  <Open URL>    urlview $URL

The program urlview is a shell script (normally installed at the same time as WAVE, and in the same directory) that handles starting the browser if necessary and instructing it to display the specified URL. The standard version of urlview does so using the command:

 ( netscape -remote 'openURL($URL)' || netscape $URL ) &

As this example illustrates, the menu variable $URL can be used to pass the selected URL from WAVE to your browser. (WAVE expands any incomplete URLs from annotation files as needed before evaluating $URL.) In this case, WAVE first uses Netscape's -remote option to instruct an already-running copy of Netscape to open the desired URL. This is a very fast operation if Netscape is already running (since Netscape is already in RAM, it is not necessary to load another in order to run the netscape -remote ... process, and the remote process efficiently delivers its message and exits immediately). If Netscape was not running, the netscape -remote command fails, and (in this case only) WAVE starts a new Netscape browser process.

To configure WAVE to use a different web browser, edit the urlview script appropriately. (You may also do this by editing the action associated with <Open URL>, but it's better to modify urlview, since WAVE also uses urlview to display some of its on-line help. If you decide to modify the action in the WAVE menu file, be careful not to change the <Open URL> tag at the beginning of the line, since WAVE uses this tag to identify the browser interface command within the menu file.) Consult the documentation for your browser to see what commands will be needed. (The -remote option is unique to Netscape; other browsers will probably require different methods.) Note that early versions of Mosaic (prior to 2.5) used a different method for remote control than current versions do. Browsers that do not support any means of remote control are best avoided (since the only way to use them is to start a new browser for each new URL, a very inefficient solution).


next up previous contents index
Next: Printing from WAVE Up: WAVE and the Web Previous: Serving .xws files

George B. Moody (george@hstbme.mit.edu)
Wed May 7 20:21:25 EDT 1997