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/resolver.sh.
You can edit this for your system.
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 http://browsex.com/copyright.
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.
However, the DOM (Document Object Model) this is less trivial.
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.