NetSurf
Usage Instructions for Monkey NetSurf

This document provides usage instructions for the Monkey version of NetSurf.

Monkey NetSurf has been tested on Ubuntu and Debian.

Overview

What it is

The NetSurf Monkey front end is a developer debug tool used to test how the core interacts with the user interface. It allows the developers to profile NetSurf and to interact with the core directly as though the developer were a front end.

What it is not

Monkey is not a tool for building web-crawling robots or indeed anything other than a debug tool for the NetSurf developers.

How to interact with nsmonkey

In brief, nsmonkey will produce tagged output on stdout and expect commands on stdin. Windows are numbered and for the most part tokens are space separated. In some cases (e.g. title or status) the final element on the output line is a string which might have spaces embedded within it. As such, output from nsmonkey should be parsed a token at a time, so that when such a string is encountered, the parser can stop splitting and return the rest.

Commands to nsmonkey are namespaced. For example commands related to browser windows are prefixed by WINDOW.

Top level tags for nsmonkey

Top level response tags for nsmonkey

In the below, something% indicates a substitution made by Monkey.

Warnings, errors etc

Commands

Generic commands

Window commands

Login commands

SSL certificate commands

Responses

Generic messages

Window messages

Download window messages

SSL Certificate messages

401 Login messages

Plotter messages

Note, Monkey won't clip coordinates, but sometimes the core does.

TODO: Check if other things are implemented and add them to the docs