# Html Viewer 3

### Tcl

- Tcl site
- Tcl wiki
- ActiveState
- Evolane (eTcl)
- comp.lang.tcl
- tclscripting.com

### WWW

- W3 Consortium
- CSS 1.0
- CSS 2.1
- HTML 4.01
- W3 DOM Pages
- Web Apps 1.0
- Acid 2 Test

### Tkhtml

- tkhtml.tcl.tk
- Google Group
- Hv3 @ freshmeat.net

### Friends

- Sqlite
- Combobox
- Polipo
- SEE
- Icons

# Release Notes - Alpha 14

WARNING The very experimental javascript is enabled. Interpret that statement however you will. To disable, uncheck the "View->Enable ECMAScript" menu option.

Congratulations on successfully running Hv3 - the minimalist browser designed to test Tkhtml3. The following release notes apply to the 14th alpha release of both Hv3 and Tkhtml3. Please report bugs in Hv3 or Tkhtml3 here:

http://tkhtml.tcl.tk/cvstrac/timeline

Click "Ticket" near the top right hand corner to access the bug report form. It is not only fun, but a moral obligation to report bugs!

### 1. The -statefile option

It is possible to configure Hv3 to use persistent storage for the following application state data:

- Http cookies.
- The list of visited URIs (used for auto-completion in the location bar and for coloring visited hyperlinks).

To configure hv3 to use a "state-file", add a -statefile option to the command line used to start Hv3. For example, if using a self-contained binary from http://tkhtml.tcl.tk, something like:

      hv3-linux-x86 -statefile /home/user/hv3state.db

The state-file is actually an SQLite database. This means that multiple instances of hv3 running concurrently share cookies and the list of visited URIs (if they are configured to use the same state-file).

By default, if no -statefile option is specified, Hv3 stores everything in memory. In this case all cookie and visited URI data is discarded on exit.

### 2. Use hv3_polipo!

It is best to use Hv3 in concert with hv3_polipo, a lightweight web proxy. If you obtained a pre-built package from tkhtml.tcl.tk then this should happen automatically. Otherwise, check the website for instructions for obtaining it. Using hv3_polipo has the following advantages:

- DNS lookups are performed asynchronously in an external process. This means the Hv3 GUI doesn't freeze while waiting for a response from the DNS server.
- The generated network traffic uses HTTP 1.1 features (i.e. pipelining) to significantly improve performance. Without hv3_polipo Hv3 generates HTTP 1.0 network traffic.

To test if hv3_polipo is in use, select the Debug->Polipo menu option. If the log window that pops up contains (amongst other things) a line like "ERROR: No hv3_polipo binary found.", then hv3_polipo is not in use. If it contains a line similar to "INFO: Polipo (re)started successfully.", then it is.

### 3. Cookies Policy

You should be aware that Hv3 unconditionally accepts all cookies. Eventually there will be an interface to configure this.

### 4. HTTPS URIs

Hv3 can load https:// URIs if the Tcl "tls" package is installed. The pre-built packages above all contain this.

# Credits

As well as the bits created by me, Dan Kennedy, and Tcl/Tk itself, Hv3 uses software components developed by some very talented individuals. Most have been slightly modified and may have had bugs introduced, so don't blame them. Much gratitude to everyone involved in the creation of the following components:

- Tcl combobox widget by Bryan Oakley. http://www.purl.org/net/oakley/tcl/combobox/index.html.
- The polipo http proxy by Juliusz Chroboczek. http://www.pps.jussieu.fr/~jch/software/polipo/.
- The "Simple ECMAScript Engine" by David Leonard". http://www.adaptive-enterprises.com.au/~d/software/see/
- Icons created by Ian Main. http://e-lusion.com/design/greyscale. Used under the terms of the "Creative Commons Attribution 2.0 Australia" license.
- SQLite, and embedded database system created by D. Richard Hipp. http://www.sqlite.org.
- TLS, a Tcl binding to openssh.
- The Tk Img package, extending Tcl/Tk to read most image formats used on the web.