# Configuring HighWire

At startup, HighWire tries to load the `highwire.cfg` configuration file. In case the environment variable `$HOME` is set it will first try to load it from `$HOME/defaults/highwire.cfg`. If that fails it will then try to load it from `$HOME/highwire.cfg` and if still still fails (or `$HOME` is not defined at all) HighWire will finally try to load the file from its starting directory.

The configuration file has a simple structured (yet):
Lines starting with a '`#`' are ignored in general (to be precise, everything after a '`#`' is ignored) and empty lines are ignored as well. Furthermore, leading and trailing white spaces (blanks, tabs, `cr`/`lf`... that is) are also ignored in general. A valid line consists of:
`variable = value
`

Variables sorted alphabetically: ``

- B • `BOLD_HEADER` • `BOLD_ITALIC_HEADER` • `BOLD_ITALIC_NORMAL` • `BOLD_ITALIC_TELETYPE` • `BOLD_NORMAL` • `BOLD_TELETYPE`

  ``

- C • `CACHEDIR` • `CACHEDSK` • `CACHEMEM` • `COOKIES`

  ``

- D • `DFLT_BACKGND`

  ``

- F • `FONT_MINSIZE` • `FONT_SIZE` • `FORCE_FRAMECTRL`

  ``

- H • `HEADER` • `HTTP_PROXY`

  ``

- I • `INFOBAR` • `ITALIC_HEADER` • `ITALIC_NORMAL` • `ITALIC_TELETYPE`

  ``

- L • `LOCAL_WEB` • `LOGGING`

  ``

- N • `NORMAL` • `NO_IMAGE`

  ``

- R • `RESTRICT_HOST`

  ``

- S • `START_PAGE`

  ``

- T • `TELETYPE` • `TIMEOUT_CONNECT` • `TIMEOUT_HEADER`

## GUI Stuff:

`INFOBAR = [0..5]`
  Controls the appearance of the windows' infobars. The value means:
  `0`: no infobar drawn at all
  `1`: only AES infobar (traditional GEM)
  `2`: only output to the hslider area
  `3`: both methods above
  `4`: application widget infobar, no realtime resizing possible
  `5`: both AES and application widget infobar.
  The default setting is `4`.

## Font Setting:

The value for ALL font variables is the index number of the VDI. There are four necessary values for each of the font variables, these are plain, italic, bold and bold italic. The default values are `5031`, `5032`, `5033`, `5034` (Baskerville Speedo font).

`NORMAL`, `BOLD_NORMAL`, `ITALIC_NORMAL`, `BOLD_ITALIC_NORMAL`
  This is the font that the normal text will be displayed with.
`HEADER`, `BOLD_HEADER`, `ITALIC_HEADER`, `BOLD_ITALIC_HEADER`
  The font that headers will be displayed with.
`TELETYPE`, `BOLD_TELETYPE`, `ITALIC_TELETYPE`,`BOLD_ITALIC_TELETYPE`
  Font used for `<PRE>` and `<TT>` tags as well as for plain text files.
`FONT_SIZE`
  Defines the base font size in points for normal font height (as of `<FONT SIZE="3">`). Usefull values are `10..14`.
`FONT_MINSIZE`
  Set the minimum height in points that a font should have at least, eg. for `<FONT SIZE="1">` tags.

## Parser/Renderer:

`DFLT_BACKGND = <colour>`
  Sets the default background colour for pages that have none defined. The value can either be a decimal number `0..255` to use the VDI colour map, a hexadecimal number of the form `0xRRGGBB` as a direct colour value or a text as used in HTML. The three examples below mean all the same colour:`
  DFLT_BACKGND = 8
  DFLT_BACKGND = 0xC0C0C0
  DFLT_BACKGND = silver`
`FORCE_FRAMECTRL = [0|1]`
  If set to a non-zero value, the attributes `NORESIZE` and `SCROLLING` of frames and framesets are ignored. Also setting frame borders to zero will be prevented. This makes some mal-designed pages more useable.
  This setting can be changed at runtime in the Menu Options.
`NO_IMAGE = [0|1]`
  If set to a non-zero value, images won't be displayed but the text from their `ALT` attribute will be used instead (if given).
  This setting can be changed at runtime in the Menu Options.
`START_PAGE = <URL>`
  Defines what HTML file shall be displayed at startup.

## Cache Control:

`CACHEDIR = <absolute path>`
  To allow HighWire to save visited pages for later revisites it is necessary to define a directory for storage. This might be something like:`
  CACHEDIR = C:\TMP\
  CACHEDIR = D:\HIGHWIRE\CACHE.DIR\
  CACHEDIR = U:\ram\`
  Note: The last example might need plenty of ram!
`CACHEDSK = <kilobytes> [<num files>]`
  Set the maximum usage of disk space for storing cache files and optionally the maximum number of files to use. Examples:`
  CACHEDSK = 8192 #` use 8MB disk space`
  CACHEDSK = 4096 300 #` use 4MB disk space, but not more than in 300 files
  If not set here HighWire will use only a sparingly maximum of 2MB space andd 200 files.
`CACHEMEM = <kilobytes>`
  Sets the maximum amout in kilobytes for images cached in memory. This value affects only these images which aren't used anymore (default is 100k).

## Connection Control:

`TIMEOUT_CONNECT = n`
  Number of seconds Highwire shall wait for a connection to get established. After this time a connection try will be seen as timed out. The default value is one second.
`RETRY_HEADER = n`
  Definines how often HighWire tries to load a page or some other data. The default value is three times.
`TIMEOUT_HEADER = txt [, gfx]`
  `- TO BE ADDED -`
`COOKIES = [0|1]`
  The general Cookie handling policy can be set either to allow (`= 1`) or to disallow (`= 0`). The default is to disallow cookies.
  This setting can be changed at runtime in the Menu Options.
`RESTRICT_HOST = <flags> <host or domain>`
  Instructs HighWire to refrain from certain HTTP actions to a particular server or a whole domain. If the second parameter starts with a dot ("`.`") it will be interpreted as a domain otherwise it's assumed to be as fully qualified host name. Note that there must never be a "http://" befor the host name!
  The first argument <flags> defines the type(s) of action(s). There are two flags available:
  `C`: don't accept cookies from this server or domain nor send any back
  `I`: don't load images from this server or domain
  Flags may be combined and this variable can be used multiple times for several hosts or domains. Here are some examples:`
  RESTRICT_HOST = C .mindshare.de #` no cookies from this doamin`
  RESTRICT_HOST = I adserver2.mindshare.de #` no images from this server`
  RESTRICT_HOST = CI .doubleclick.net #` neither images nor cookies allowed
`HTTP_PROXY = <proxy-ip> <port>`
  Defines a proxy server and its port for web access.

## Debugging:

`LOCAL_WEB = <absolute path>`
  `- TO BE ADDED -`
`LOGGING = [0|1]`
  If set to a non-zero value, HighWire will spit lots of debug messages to `stdout`.
  Note: If you haven't installed any console window (T-Con, TosWin2, ...) this will lead to several text lines written over the screen.
  This setting can be changed at runtime in the Menu Options.

Goto top