What: BrowseX
Description: Open source, cross-platform web browser written primarily in Tcl. Comes bundled with Tml, a Tcl based HTML macro processor, designed to simply and enhance web authoring. Also includes database client support for Postgres, as well as a minor widget collection known as Thin.
This code is free - BrowseX Systems, Inc. does sell a C version of Tml, as well as TME, a Tml Editor/Composer.
It is currently at release 2.0.
Updated: 12/2002
Contact: mailto:[email protected]

Peter MacDonald

Several users have mentioned how satisfying (fast, reliable, ...) BrowseX is.

See also Tml[L1 ], which is the Tcl-based macro language that is a part of BrowseX.

BrowseX is based on tkhtml.

This is a great software! All it needs is some love and attention and a little spit and polish.

I originally became interested in it because it was written in Tcl. I came back a couple of months later (now) because it seems to have solved a major problem I face: keeping the gui alive while downloading on Win9x. It's faster than mozilla 0.94 on Win98.

If anyone else is interested in working on this software let me know, I'm currently hacking on the code trying to slim it down, fix a few bugs, and figure it out.


I'm trying to get it to build (the 1.6.0 "big" source download) on my SuSE 7.3 Linux system, which has 8.3 installed in /usr/lib. I do not want to install 8.4* in /usr/local for a number of reasons. Nor throw out a package which is deeply tied into the rest as RPM. The build failed in two places, both were reported to Peter recently:

  • zvfs insisted on having a /usr/include/tcl.h
  • sqlite wants gdbm installed

After that, the build proceeds, but it looks like it's linking with 8.3 libs because of search order issues. As a result, Tk_PkgRequire fails as one of the first steps in main. Peter is busy (yet most helpful), so I'll just wait until some new suggestions come up. No rush.


I built BrowseX on Windows, supposedly a difficult task on this OS. Hopefully this will help you JCW:

I didn't need to compile every single little package from the "big" source download of 1.6.0, only Andreas Kupries' Memchan (the old version included with the source, not the updated one on sourceforge).

The rest of the required packages, (notably not zvfs or gdbm), just came with a stock ActiveTcl binary download. It includes tkhtml 2.0, the modified version that Peter has hacked on.

Then, to actually run this puppy I added and changed a few lines in brx.tcl I changed the auto_path so it could find 'Memchan', and the package that Peter assembled/wrote called 'thin'.

Then I had to change a bunch of hardcoded paths in brx.tcl, sadly the paths were strewn all over the place (but only in that file).

Please note that before all this I first ran the binary version that creates its own directory in c:\brx (hardcoded in brx.tcl as '/brx'). This allowed me to just move that directory and change some paths in brx.tcl so it could find its BRXHOME (a variable in brx.tcl) directory.

This process wasn't straightforward but it worked... it looked tough in a lot of spots, especially since its not clear that you don't need to build most of those packages. I still don't know if sqlite is installed but I doubt it is. It seems you can disable a hell of a lot of unrequired package loading by just hacking the brx.tcl source.

Good luck. Feel free to email me.


Looks like BrowseX doesn't support Proxy-Authorization and so cannot be used from behind an authenticating proxy-firewall. I'm unlikely to get a chance to look into this but if someone feels like checking this there is some example code for HTTP Basic authentication in the TkChat source code - PT

Thanks for the pointer; If anyone else knows of Tk programs that don't hang during net connections that work in Windows, please let us know -Ro

BrowseX apparently invokes resolver.exe on Windows to avoid the DNS blocking problem.

avsokol - 2012-06-26 15:27:42

Links from of browsex executables like are broken or the whole domain belongs now to someone else.