Trowser's Homepage

Trowser is a browser for large line-oriented text files, implemented in Tcl/Tk. It's meant as an alternative to "less". Compared to less, trowser adds color highlighting, a persistent search history, graphical bookmarking, separate search result (i.e. filter) windows and flexible skipping of input from pipes to STDIN. Trowser has a graphical interface, but is designed to allow browsing via the keyboard at least to the same extent as less. Key bindings and the cursor positioning concept are derived from vim.

Note: in this context "line-oriented" denotes that each line of text is considered a data unit. Color highlighting (including search matches) will always apply the highlight to the complete text line.

The screenshots to the right show some of the main features:

For details and options please refer to the manual page.

Rationale

trowser was developed for sifting through debug output files written by software under development. Such debug files can get very large; in the extreme, there could be a line of trace written for every entered function (e.g. documenting the call and actual parameters) and one more line every time a function is left. When debugging complex exceptions, it's often necessary to analyze several hundreds or thousands of lines of debug trace to understand the cause.

Such analysis usually start by first looking at top-level events (e.g. stimuli by the environment) and then digging down into the details. trowser was developed to facilitate this process. Of course one could also use standard tools such as "grep" or "awk" and "less" or "vim" to tackle this task, but this way lots of repetitive manual hacking on the command line is required. For an every-day task, it seems worth to invest some time into automating the process in a specialized tool.

As of release 1.3, some of trowser's features are still not that much different from what can be found in various regular text editors. Future development may further extend the filtering capabilities (e.g. by allowing multiple search results windows and pre-defined stacks of search patterns to allow quick folding-in and -out of trace detail levels.) Additionally, trowser already has the capability to automatically parse data out of the trace file which can be included in bookmarks and search results list and could easily be extended in that direction for different applications. With less than 9000 lines of code trowser still is a relatively small application (in large part thanks to the powerful "text" widget in Tk) so there's only a low barrier of getting familiar with the source code to allow extending or adapting the functionality for your own needs.

News

April 2009:
Release 1.3 contains a number of improvements and bug fixes:

Release 1.3. also contains the following new features:

March 2009:
Release 1.2 extends and improves on existing features, especially around the search filter list:

Download

Latest version is 1.3, released March 31 2009:

Predecessor version 1.2, released March 14 2009:

For Debian, Ubuntu and compatibles download the .deb package. For SuSE et.al. use the .rpm package. For manual installation, use the source tar ball.

Supported platforms: trowser can be used on all platforms which are supported by Tcl/Tk, i.e. all UNIX variants, Linux, Mac, even MS Windows if you have to.

Software requirements: trowser is written in Tcl/Tk which is an interpreted language. So you need to have the Tcl/Tk interpreter: tcl.tk (version 8.4 or later)

Hardware requirements: trowser loads the complete text into memory (i.e. in a Tk text widget) and also applies highlighting to the complete text to allow fast navigation. Hence when browsing large files, trowser benefits from using a fast machine and at least 5 times your text size in RAM.

The software is released under the GNU General Public License, version 3.