SourceForge Logo



BrowseX FAQ

BrowseX  Frequently Asked Questions

DNS lookup is failing. How do I fix it?

You can disable the DNS cache in Edit/Prefs. The lookup is provided by an external program ~/.brx/ You can edit this for your system.

Tab Views

Notetab views are an optional feature that groups multiple views into a single window with a tab selector above, thereby dramatically reducing desktop clutter. The Alt-< and Alt-> keyboard shortcuts switches tab views. If a link in a page refers to the oppositek

Finding a previously visited page.

BrowseX supports a search the cache feature which addresses the problem of trying to find pages you visited recently. Once a page is in cache, you can easily find it again. Moreover, there is an option to clear just the images from the cache, and leave Html and text untouched for use in future searches. Also, Html and text items are gzipped in the cache to save space on disk.

How Fast Is BrowseX ?

The HTML rendering is in C and so is quite fast. However, the main benefit is reduction of virtual memory usage and quick startups. There are few areas of a browser that are time critical and/or resource intensive. These include: HTML parsing and rendering, image rendering, and cache management. BrowseX  does most of these in C, however, it uses the Tcl hash array lookup extensively in many areas including the cache manager.

How big is BrowseX ?

Runtime: the footprint starts at about 4 Meg and has been demo'ed on a 12MB 486SL laptop. Realistically 6-7 Meg is more common when images and views inevitably multiply.

What platforms does BrowseX  run on?

Currently, Linux and windows binaries are available. Tk runs almost everywhere, and so soon will BrowseX .

Is BrowseX  Free? What is it's license?

Yes. The source is covered by an Open Source Artistic License. The only restriction really is that you can not obscure copyrights or credits. You should see the copyright at

What language is BrowseX  written in?

C and Tcl. Most of the browser functionality is implemented using Tcl.

I'm having a problem. How can I debug it

The first thing to try is clearing the disk cache (under Edit/Preferences). You may want to exit and re-enter BrowseX . Or use rm -rf ~/.brx/cache. If that doesn't fix it, start BrowseX  with the -D option. This will send trace output to the brxtrace.log file in your HOME directory. You can add your own dbputs/dbtrace statements to the code. This also enables send, which allows you to connect to the application via tkcon (if you use that). Alternatively, you can use the simple builtin debugger, either from the Help menu or using debug: from the url location entry. The debugger is enabled only when the BrowseX  is started with -D and the BrowseX  source directory is writable by the user.

Of course if the problem is in the Tkhtml widget, you will have to debug the code with gdb, ddd or some other suitable C debugger. It's not that tough. Just use "ddd /usr/bin/wish8.4" and use the "attach PID" to attach to the running process.

Does/Will BrowseX  support Java and Javascript/Ecma?

Java, No. Basic Javascript, yes. It turns out that NGS Javascript was fairly easily integrated. However, the DOM (Document Object Model) this is less trivial. Simple Javascript should work, but image objects and much else won't.

What about style sheets? XML? ...

These are futures at this point. For now, there is an embedded macro processor (TML), and it will eventually be able to include urls. There is another option that allows an arbitrary external program to filter text/* docs. The program takes the url and doc/type as arguments, reads the html/src from stdin and echos to stdout the transformed data.

Why TCL? Why isn't BrowseX  written in Perl?

Several reasons. Primarily TCL is easier to extend. Perl has no native GUI widget set. TCL has a simpler syntax so is more maintainable. TCL does more automatic error-checking, and so errors are more easily recovered from at run-time.

Why write (Yet Another) Browser

Two reasons, first we spend so much time using a browser but it doesn't always do what we want. Unfortunately modifying Netscape is not realistic. Secondly, the web seems to be such a target in motion. The continual emergence of new standards such as ECMAscript, DOM, DHTML, XML, WAP, C#, et al, support the contention that the the situation is far from satisfactory. From the Web developer point of view, we have a document markup language that is continuously trying to add GUI type capabilties. Why not look at it from the reverse point of view. TCL is a cross-platform GUI language already widely used. What about just adding HTML rendering to it instead! Still not convinced? See Why for a more long winded treatment.

How do I interpret the version number in BrowseX ?

There are 3 segments. The last segment is incremented each beta release. The middle (and/or first) each production release. A change in the first segment requires a a new set of binaries.

Copyright © 1999-2001   Browsex Systems Inc