Return to Start

Bobcat Users Guide

Bobcat aspires to be a text WWW browser for users running PC's. It presently works on 8088's or better. Bobcat can be used to access information on the World Wide Web, or to build information systems intended primarily for local access. Forms are supported and Images may be viewed selectively.

Select a topic

Viewing local files with Bobcat

Bobcat can be started by entering the Bobcat command along with the name of a file to display. For example these commands could all be used to display an arbitrary ASCII text file.
Bobcat file:///myfile.txt
When executed, Bobcat will clear the screen and display as much of the specified file as will fit on the screen. Pressing a down-arrow will bring up the next screen, and pressing an up-arrow will bring up the previous screen. If no file is specified at start up, a default file will be displayed. (The default is configured in the options menu menu.)

Bobcat will also display files written in the HyperText Markup Language (HTML), if the file's name ends with the characters ".html". HTML is a file format that allows users to create a file that contains (among other things) hypertext links to other files. Several files linked together may be described as a hypertext document.

For example, these commands could be used to display files containing HTML hypertext:

Bobcat file:///myfile.html
Bobcat file:///home/my-dir/myfile.html
When Bobcat displays an HTML file, it shows links as "bold face" text, except for one link, which is shown as "highlighted" text. Whether "boldface" or "highlighted" text shows up as reverse video, boldface type, or a color change, etc. depends on the display device being used (and the way in which that device has been configured). Bobcat has no control over the exact presentation of links.

The one link displayed as "highlighted" text is the currently "selected" link. Bobcat will display the file associated with the selected link when a right-arrow or a Return key is pressed. To select a particular link, press the up-arrow or down-arrow keys until the desired link becomes "highlighted," and then press the right-arrow or Return key to view the linked information. Information included in the HTML file tells Bobcat where to find the linked file and what kind of server will provide it (i.e. HTTP, Gopher, etc.).

When a binary file is encountered Bobcat will ask the user if he/she wishes to download the file or cancel. If the user selects 'D' for download, Bobcat will transfer the file into a temporary location and present the user with a list of options. The only default option is "save file to disk". Any number of additional download methods may be defined in the lynx.cfg file. Programs like Minuet, zmodem and FTP are some possible options. ToC

Bobcat on line help

On line help is available while viewing any document. Press the '?' or 'H' key to see a list of help topics. See the section titled 'Navigating hypertext documents with Bobcat' for information on navigating through the help files. ToC

Leaving Bobcat

To exit Bobcat use the 'q' command. You will be asked whether you really want to quit. Answering 'y' will exit and 'n' will return you to the current document. Use 'Q' or CTRL-D to quit without verification. ToC

Starting Bobcat with a Remote File

If you wish to view a remote file (that is, a file residing on some computer system other than the one upon which you are running Bobcat) without first viewing a local file, you must identify that file by using a Uniform Resource Locator (URL). URL's take the general form:

PROTOCOL :// HOST / PATH / FILENAME

where
PROTOCOL
identifies the communications protocol used by the server that will provide the file. As mentioned earlier, Bobcat (and any WWW client) can interact with a variety of servers, each with its own protocol.
HOST
is the Internet address of the computer system on which the server is running, and
PATH and FILENAME
identify the directory path and file of interest.
Here are some sample URL's.
HTTP (HyperText Transfer Protocol)
http://www.sample.com/Bobcat_help/Bobcat_help_main.html
Gopher
gopher://gopher.micro.umn.edu/11/
FTP (File Transfer Protocol)
ftp://ftp2.sample.com/pub/Bobcat/README
WAIS (Wide Area Information Service protocol)
wais://cnidr.org/directory-of-servers
A URL may be specified to Bobcat on the command line, as in:
Bobcat http://kufacts.sample.com/cwis/start_kufacts.html
ToC

Starting Bobcat with Environment Variables.

Starting Bobcat using the TMP or TEMP variable set defines the location where temporary files are kept. For example, using this command in a batch file before running BOBCAT will put all temporary files created while running BOBCAT in a directory C:\TEMP
SET TMP=c:\temp or
SET TEMP=c:\temp
Starting Bobcat using the MYIP variable set defines IP address assigned at log on for use by Bobcat. This variable will override anything set in the wattcp file. GATEWAY AND NETMASK may also be set in the same manner For example, use any of the following commands in a batch file before running BOBCAT.
SET MYIP=203.123.45.32 or
SET GATEWAY=203.123.45.2 or
SET NETMASK=255.255.255.0
ToC

Navigating hypertext documents with Bobcat

The process of moving within a hypertext web, selecting and displaying links is known as "navigation." With Bobcat almost all navigation can be accomplished with the arrow keys and the numeric keypad. Bobcat's Tutorial has been prepared to assist you in the learning of these and some of the other basic commands

                                       +-------+-------+-------+
                                       | TOP   |  /|\  | Page  |
              arrow keys               | of    |   |   | UP    |
                                       | text 7|   |  8|      9|
              +---------+              +-------+-------+-------+
              | SELECT  |              |       |       |       |
              | prev /|\|              | <---  |       |  ---> |
              | link  | |              |      4|      5|      6|
    +---------+---------+---------+    +-------+-------+-------+
    |    BACK | SELECT  | DISPLAY |    | END   |   |   | Page  |
    |<-- prev | next  | | sel. -->|    | of    |   |   | DOWN  |
    |    doc. | link \|/| link    |    | text 1|  \|/ 2|      3|
    +---------+---------+---------+    +-------+-------+-------+
There are also a few other keyboard commands to aid in navigation. Some of these commands depend on the fact that Bobcat keeps a list of each file you visit called the "history list". The "backspace" or "delete" key will show you the whole history list. Any of the documents shown in the list may be revisited by selecting them from the history screen. The 'm' key command will take you back to the starting document.

The 'i' key presents an index of documents. The default index is a document pointing to The startup help menu, but the index can be changed in lynx.cfg or on the command line using the -index switch, and therefore depends on how the Bobcat program you are using was configured.

If you choose a link to a server with active access authorization Bobcat will automatically prompt for a username and a password. If you give the correct information, you will then be served the requested information. Bobcat will automatically send your username and password to the same server if it is needed again. ToC

Printing, Mailing, and Saving files to disk.

Documents may be printed using the 'p' command. After pressing the 'p' key a menu of Print Options will be displayed. The menu will vary according to several factors. First, some sites set up special accounts to let users run Bobcat to access local information systems. Typically these accounts require no passwords and do not require users to identify themselves. As a result such accounts are called "anonymous" accounts, and their users are considered "anonymous" users. In most configurations, users (including anonymous users) are able to save files to themselves and print the entire file to the screen.

Additional print options are available for users who are using Bobcat from their own accounts (that is, so-called "non-anonymous users"). In particular, the "Save to a local file" option allows you to save the document into a file on your disk space. Any number of additional print options may also be available as configured in the lynx.cfg. ToC

Bobcat searching commands

Two commands activate searching in Bobcat: "/" and "s". While viewing a normal document use the "/" command to find a word or phrase within the current document. The search type will depend on the search option setting in the options menu (see below). The search options are case sensitive and case insensitive. Some documents are designated "index documents". These documents can be searched to retrieve additional information from an index server. The "s" key allows searching of index documents. ToC

Bobcat options menu

The Bobcat Options Menu may be accessed by pressing the 'o' key. The current Bobcat Options Menu contains the following configurable options.
                      Options Menu

     E)ditor                    : emacs
     D)ISPLAY variable          : Disabled in PC version
     B)ookmark file             : home page
     F)TP sort criteria         : By Filename
     P)ersonal mail address     : myname@site.sample.com
     S)earching type            : CASE INSENSITIVE
     C)haracter set             : ISO Latin 1
     V)I keys                   : OFF
     e(M)acs keys               : OFF
     K)eypad as arrows
          or Numbered links     : Numbers act as arrows
     U)ser mode                 : Advanced
An option can be changed by entering the capital letter of the option you want to change (i.e. 'E' for Editor). For fields where text must be entered, simply enter the text by typing on the keyboard. The Backspace and Delete keys can be used to correct mistakes, and CTRL-U can be used to erase the whole line. When you are done entering a change press the Return key to get back to the Command? prompt.

For fields where you must choose from a list of choices, press any key to toggle the choices and press the Return key to finish the change.

When you are done changing options use the 'r' command to return to Bobcat or the '>' command to save the options to the LYNXRC file and return to Bobcat.

The following table describes the options available on the Options Menu:

Editor
The editor to be invoked when editing browse able files, and sending mail or comments. The full path name of the editor command should be specified when possible.
DISPLAY variable
This option is not available on PC systems
Bookmark file
This is the filename and location of your personal bookmark file. The bookmark file allows frequently travelled links to be stored in a personal easy to access file. Using the 'a' command (see below) you may save any link into your bookmark file. If the path specified does not begin with a slash then the path will reference your home directory.
FTP sort criteria
This option allows you to specify how files will be sorted within FTP listings. The current options include "By Filename", "By Size", "By Type", and "By Date".
Personal mail address
This mail address will be used to help you send files to yourself and will be included as the From: address in any mail or comments that you send. It will also be sent as the From: field in all HTTP get requests.
Searching type
Searching type has two possible values: CASE INSENSITIVE (default) and CASE SENSITIVE. The searching type effects inter-document searches only, and determines whether searches for words within documents will be done in a case-sensitive or case-insensitive manner.
VI keys
If set to ON then the lowercase h,j,k, and l keys will be mapped to left, down, up, and right arrow, respectively.
Emacs keys
If set to ON then the CTRL-P, CTRL-N, CTRL-F, and CTRL-B keys will be mapped to up, down, right, and left arrow , respectively.
Keypad as arrows or numbered links
This option gives the choice between navigating with the arrow keys or having every link numbered so that the links may be selected by numbers as well as using the arrow keys.
User Mode
There are three possible choices: Novice, Intermediate, and Advanced.
Novice
In Novice mode two lines of help are displayed at the bottom of the screen.
Intermediate
Intermediate mode turns off the help lines.
Advanced
Advanced mode displays the URL of the currently selected link at the bottom of the screen.
Local execution scripts or links
Local execution could be activated with the compiled .exe (future). If it has not been activated you will not see this option in the options menu. When a local execution script is encountered Bobcat checks the users options to see whether the script can be executed. Users have the following options:
Always off
Local execution scripts will never be executed
For Local files only
Local execution scripts will only be executed if the script to be executed resides on the local machine, and is referenced by a URL that begins with "file://local host"
Always on
All local execution scripts will be executed
If the users options permit the script to be executed Bobcat will spawn a shell and run the script. If the script cannot be executed Bobcat will show the script within the Bobcat window and inform the user that the script is not allowed to be executed and will ask the user to check his/her options. ToC

Comments and mailto: links

At any time while viewing documents within Bobcat, you may use the 'c' command to send a mail message to the owner of the current document if the author of the document has specified ownership. If no ownership is specified then comments are disabled. Certain links called "mail to:" links will also allow you to send mail to other people. Using the mail features within Bobcat is straightforward.

Once you have decided to send a comment or have selected a "mail to:" link a new screen will appear showing you who you are sending the message to. Bobcat will ask for your name, your e-mail address, and the subject of the message. If you have filled in the "personal mail address" field in the Options Menu, your e-mail address will be filled in automatically. After entering the above information, if you have an editor defined in the Options Menu and you are not an anonymous user then your specified editor will be spawned for you so that you can enter your message. If you do not have an editor defined or you are an anonymous user, a simple line mode input scheme will allow you to enter your message.

To finish sending the message, exit your spawned editor or, if you are using the simple line mode input scheme, type a "." (period) on a line by itself. You will be asked a final time whether to send the message. If you press 'y' then the message will be sent, if you press 'n' the message will be deleted. ToC

Viewing the HTML document source and editing documents

When viewing HTML documents it is possible to view the un rendered (i.e., the original HTML) source of the document by pressing the '\' (back slash) key. The document will be reloaded from the server or disk and displayed on the screen un rendered. When viewing un rendered documents you may print them as any normal document.

Selecting the "Print to a local file" option from the Print Menu, makes it possible to save the source of the document to disk so that you may have a local copy of the document.

NOTE: When saving an HTML document it is important to name the document with a ".html" extension, if you want to read it with Bobcat again later.

Bobcat can allow users to edit documents that reside on the local system. To enable editing, documents must be referenced using a "file:" URL or by specifying a plain filename on the command line as in the following two examples:

Bobcat file://localhost/FULL/PATH/FILENAME
Bobcat path/filename.html
In addition, the user must also specify an editor in the Options Menu so that Bobcat knows which editor to use. If the file is specified correctly and an editor is defined, then you may edit documents by using the 'e' command. When the 'e' command is entered your specified editor is spawned to edit the file. After changes are completed, exit your editor and you will return to Bobcat. Bobcat will reload and render the file so that changes can be immediately examined. ToC

Reloading files and refreshing the display

The CTRL-R command will reload and render the file that you are currently viewing. CTRL-L or CTRL-W will refresh or wipe the screen to remove or correct any errors that may be caused by operating system or other messages. ToC

Bobcat bookmarks

It is often useful to place a bookmark to aid in returning quickly to a document. To use the bookmark feature you must first use the Options Menu to specify a bookmark filename.

To save a bookmark to the document you wish to place in the bookmark file press the 'a' key and you will be asked

Save D)ocument or L)ink to bookmark file or C)ancel? (d,l,c):
Answer 'd' to save a link to the document you are currently viewing or 'l' to save the link that is currently selected on the page. Selecting 'c' will cancel without saving anything to your bookmark file.

Use the 'v' command to view the list of bookmarks you have saved. While viewing the bookmark list you may select a bookmark as you would any other link. ToC

List of Most Useful commands

g
The 'g' command allows any URL to be entered manually. Pressing the 'g' command will bring up a prompt asking for a URL. Type in the new URL that you wish to go to.
a
When 'a' is pressed the current URL is saved in your bookmark file
v
When 'v' is pressed you can view your bookmark file
d
When 'd' is pressed the current URL is downloaded to your computer
m
When 'm' is pressed return you to the main screen
!
When '!' is pressed you shell to Dos. When you quit or exit the shell you will return to Bobcat. (Usually 'exit' with a PC). Handy programs to be run in the shell may be configured in the downloader in lynx.cfg and called with "d"
=
The '=' command shows information about the current document and the currently selected link if there is one. The number of lines in the file, URL, title, owner, and type are shown.
z
Bobcat supports completely interrupt able I/O processes. Press the 'z' key at any time during a connect or transfer process and the process will be halted. If any data was transferred before the interrupt, it will be displayed. ToC

The Bobcat command

The basic syntax of the Bobcat command can be represented as one of the following:
Bobcat [options]
Bobcat [options] pathname
Bobcat [options] URL
where
pathname
is the name of an ASCII text file or an HTML file that enters a hypertext network.
options
can be selected from the following list, where items in all-caps indicate that a substitution must be made.
-anonymous
used to specify the anonymous account
-case
enable case-sensitive string searching
-cache=NUMBER
set the NUMBER of documents cached in memory. The default is 3.
-cfg=FILENAME
specifies a Bobcat configuration file other than the default LYNX.cfg.
-display=DISPLAY
set the display variable for X rexeced programs
-dump
dumps the formatted output of the default document or one specified on the command line to standard out. This can be used in the following way: Bobcat -dump http://info.cern.ch/default.html
-editor=EDITOR
enable edit mode using the specified EDITOR (vi, ed, emacs, etc.)
-emacskeys
enable emacs-like key movement
-exec
enable local program execution
-locexec
enable local program execution from local files only
-noexec
disable local program execution (default)
-help
print this Bobcat command syntax usage message
-index=URL
set the default index file to the specified URL
-noprint
disable print functions
-print
enable print functions (default)
-restrictions
allows a list of services to be disabled selectively and takes the following form: "Bobcat -restrictions=[default], [all], [inside_telnet], [outside_telnet], [shell], [editor], [bookmark], [option_save], [print], [file_url], [download], [exec]"
all
restricts all options.
bookmark
disallow changing the location of the bookmark file.
default
same as command line option -anonymous. Disables default services for anonymous users. Currently set to all restricted except for: inside_telnet, outside_telnet, and goto. Defaults are setable within userdefs.h.
download
disallow saving binary files to disk in the download menu.
editor
disallow editing.
exec
disable execution scripts.
file_url
disallow using G)oto to go to file: URL's.
goto
disable the 'g' (goto) command.
inside_telnet
disallow telnet for people coming from inside your domain.
options_save
disallow saving options in lynxrc.
outside_telnet
disallow telnet for people coming from outside your domain.
print
disallow most print options.
shell
disallow shell escapes.
-show cursor
If enabled the cursor will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. show cursor is the default for systems without FANCY_CURSES capabilities, and the default configuration can be changed in userdefs.h.
-source
works the same as dump but outputs HTML source instead of formatted text.
-telnet
disable recognition of embedded telnet commands completely.
-term=TERM
tell Bobcat what terminal type to assume its talking to. (This may be useful for remote execution, when, for example, Bobcat connects to a remote TCP/IP port that starts a script that, in turn, starts another Bobcat process.)
-trace
turns on WWW trace mode
-vikeys
enable vi-like key movement
-version
print version information
No options are required, nor is a starting file required. White space may be substituted for any equal sign (=) appearing in the option list above. ToC

Bobcat development history

(Written in first person by Wayne)

Bobcat started life in October 1996 as Lynx2-4-2. The reason 2-4-2 was chosen is because starting at 2-5, many files in the Lynx distribution became too big to compile out of the package targeted towards a plain DOS version. There have been many changes since 2-4-2, however, it does support many things that DOSLYNX didn't. I have also made many modifications to Bobcat's original behavior to make it more functional.

Taking the 2-4-2 base, I then added PDCurses2.2, WATTCP, SPAWNO and bits of DOSLYNX and Lynx2-6 code. I then mixed vigorously in Borland C++ 3.1 until it actually compiled. The first step, getting it to compile into an EXE, was deceptively simple. However, as many hackers know, you can get a LOT of code to compile and still not have it do anything.

After that I made personal decisions on what to support. Although it may disappoint some people, news support is not in Bobcat. It never worked correctly in DOSLYNX and I didn't feel it was a priority. Gopher and Ftp should hopefully work to some degree, but they are not the top priority either. The important thing, as far as I am concerned, is good web support. This is the reason for cutting corners on the other features. There is a new feature added to Bobcat that will allow people to define external programs for certain URLs. This product uses the SPAWNO routines by Ralf Brown to minimize memory use while shelling to DOS and running other programs. Hopefully this will help compensate for Bobcat's shortcomings.

This new Lynx for DOS is a big switch from DOSLYNX. It is Curses based, so it looks like the real Lynx. It does not have pull down menus or a multiple document interface. I prefer the real Lynx interface which is partially why I made the switch in development. Other good reasons for starting with a new code base are support for forms, numeric links, view source, history list and other features which were not available in DOSLYNX.

The first version of Bobcat has severe memory constraints because of the way the original Lynx was designed. In Un*x, programs assume they have unlimited memory and the programs are coded as such. Bobcat has yet to have memory checking added to it, so when you run out of the tiny amount of conventional memory available it will very unceremoniously drop you to the DOS prompt.

Bobcat is NOT a Lynx port. It is a work based on Lynx. This means that it can not keep up with the current Lynx development nor can Lynx patches be added to Bobcat. Hopefully, some of the forthcoming 386 and Windows ports will have this ability.

Licence and credits

The pieces of code that Bobcat is based on all have their own licence agreements and this arrangement of them should in no way revoke any of their individual licences. On top of that, the Bobcat program itself and my contributing code is copyright 1997 Wayne Buttles to be distributed freely and without charge in source and executable form.

The program can be modified and repackaged, but it must continue to be free except for nominal copying charges. Part of this "restriction" is placed on Bobcat by the original Lynx licence on which much of the code is based.

Bobcat comes with no warranty of fitness for any purpose. By using this software you are agreeing to take responsibility for any adverse consequences.

Portions copyrighted by:
(c)1996,1997 Wayne Buttles (The Bobcat entity)
(c)GNU General Public License (Lynx base code)
(c)1990,1991,1992 Ralf Brown (SPAWNO v4.10)
(c)1990,1991,1992,1993 Erick Engelke and others (WATTCP)
Other copyrights held for the PDcurses, WATTCP and WWWLIB
libraries can be found in the source distribution.

We are pretty excited about having a new variant of Lynx to play with. I hope other people will be receptive. If you have comments or suggestions you can send them to bobcat@fdisk.com or ve3lgs@bigfoot.com. Please remember that this is a hobby and we do all work solely for fun. Flames will be publicly ridiculed. No payment has been given for the work done so far and none is expected for continued use of the program. Obscene, no-strings-attached, gratuitous donations of cash will, however, be gleefully accepted *grin* but if you really have nothing better to do with your money then donate some to a thoughtfully chosen charity.

Big thanks to John Lewis for the pre release definition of requirements, hours of debugging, the help files, the program extract.exe and all the batch files which integrate the package. He truly helped make Bobcat a package rather than just a program!

LYNX development history

Lynx grew out of efforts to build a campus-wide information system at The University of Kansas. The earliest versions of Lynx provided a user-friendly, distributed hypertext interface for users connected to multi user (UN*X and VMS) systems via curses-oriented display devices. A custom hypertext format was developed to support hypertext links to local files and files on remote Gopher servers. Using Gopher servers for distributed file service allowed information providers to publish information from a wide variety of platforms (including UN*X, VMS, VM/CMS and Macintosh). In addition, Lynx became the most user-friendly Gopher client, although that was only an ancillary capability.

This distributed approach let providers retain complete control over their information, but it made communication between users and providers somewhat more difficult. Following the lead of Neal Erdwien, of Kansas State University, the Lynx hypertext format was extended to include links for including ownership information with each file. This information made it possible for users running Lynx clients to send comments and suggestions via e-mail to the providers.

This early version of Lynx was also augmented to support hypertext links to programs running on remote systems. It included the ability to open a Telnet connection, as well as the ability to start programs via rexec, inetd, or by direct socket connects. These capabilities were included to allow users to access databases or custom program interfaces.

A subsequent version of Lynx incorporated the World Wide Web libraries to allow access to the full list of WWW servers, along with the option to build hypertext documents in HTML, rather than the native Lynx format. HTML has become far more widely used, and the native format is being phased out. With the addition of the WWW libraries, Lynx became a fully-featured WWW client, limited only by the display capabilities offered in the curses environment.

At The University of Kansas, Lynx is used in several different ways to give users access to the campus wide information system. First, it is run on several local clients from a script named "kufacts" that points to the starting file located on a local server. Second, it runs whenever a user logs into an account called "kufacts" on a system named kufacts.sample.com. Users without a local account may use this system to explore the KU CWIS and experiment with Lynx.

Lynx was designed by Lou Montulli, Charles Rezac and Michael Grobe of Academic Computing Services at The University of Kansas. Lynx was implemented by Lou Montulli and is now maintained by Garrett Arch Blythe.

Lynx has incorporated code from a variety of sources along the way. The earliest versions of Lynx included code from Earl Fogel of Computing Services at the University of Saskatchewan, who implemented HYPERREZ in the UN*X environment. Those versions also incorporated libraries from the UN*X Gopher clients developed at the University of Minnesota, and the later versions of Lynx rely on the WWW client library code developed by Tim Berners-Lee (and others) and the WWW community.

Lynx is presently available via anonymous FTP from ftp2.sample.com. ToC

Additional Information

For a tutorial introduction to HTML see: http://www.ncsa.uiuc.edu/demoweb/html-primer.html.
For a quick reference guide to HTML see: http://kuhttp.sample.com/Lynx_help/HTML_quick.html

For reference information on HTML see: http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html

Garrett Blythe
Lou Montulli
Michael Grobe
Stephen Ware
Academic Computing Services
The University of Kansas
Lawrence, Kansas 66045

ToC

Return to Start