summaryrefslogtreecommitdiff
path: root/Docs
diff options
context:
space:
mode:
Diffstat (limited to 'Docs')
-rw-r--r--Docs/USING-Monkey116
1 files changed, 104 insertions, 12 deletions
diff --git a/Docs/USING-Monkey b/Docs/USING-Monkey
index 7e30a49ad..33e504239 100644
--- a/Docs/USING-Monkey
+++ b/Docs/USING-Monkey
@@ -35,9 +35,19 @@ Overview
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 Monkey are namespaced. For example commands related to
+ browser windows are prefixed by WINDOW.
+
Top level tags for nsmonkey
---------------------------
+ QUIT
+
+ WINDOW
+
+ Top level response tags for nsmonkey
+ ------------------------------------
+
GENERIC
WARN, ERROR, DIE
@@ -50,6 +60,8 @@ Overview
401LOGIN
+ PLOT
+
In the below, %something% indicates a substitution made by Monkey.
%url% will be a URL
@@ -65,20 +77,71 @@ Overview
Errors (tagged ERROR) tend to come from Monkey's parsers
Death (tagged DIE) comes from the core and kills Monkey dead.
+Commands
+========
+
+ Generic commands
+ ----------------
+
+ QUIT
+ Cause monkey to quit cleanly.
+ This will cleanly destroy open windows etc.
+
+ Window commands
+ ---------------
+
+ WINDOW NEW [%url%]
+ Create a new browser window, optionally giving the core
+ a URL to immediately navigate to.
+ Minimally you will receive a WINDOW NEW WIN %id% response.
+
+ WINDOW DESTROY %id%
+ Destroy the given browser window.
+ Minimally you will recieve a WINDOW DESTROY WIN %id% response.
+
+ WINDOW GO %id% %url% [%url%]
+ Cause the given browser window to visit the given URL.
+ Optionally you can give a referrer URL to also use (simulating
+ a click in the browser on a link).
+ Minimally you can expect throbber, url etc responses.
+
+ WINDOW REDRAW %id% [%num% %num% %num% %num%]
+ Cause a browser window to redraw. Optionally you can give a
+ set of coordinates to simulate a partial expose of the window.
+ Said coordinates are in traditional X0 Y0 X1 Y1 order.
+ The coordinates are in canvas, not window, coordinates. So you
+ should take into account the scroll offsets when issuing this
+ command.
+ Minimally you can expect redraw start/stop messages and you
+ can likely expect some number of PLOT results.
+
+ WINDOW RELOAD %id%
+ Cause a browser window to reload its current content.
+ Expect responses similar to a GO command.
+
+
+Responses
+=========
+
Generic messages
----------------
GENERIC STARTED
Monkey has started and is ready for commands
+
GENERIC CLOSING_DOWN
Monkey has been told to shut down and is doing so
+
GENERIC FINISHED
Monkey has finished and will now exit
+
GENERIC LAUNCH URL %url%
The core asked monkey to launch the given URL
+
GENERIC THUMBNAIL URL %url%
The core asked monkey to thumbnail a content without
a window.
+
GENERIC POLL BLOCKING
Monkey reached a point where it could sleep waiting for
commands or scheduled timeouts. No fetches nor redraws
@@ -91,7 +154,7 @@ Overview
The core asked Monkey to open a new window. The IDs for 'FOR' and
'CLONE' are core window IDs, the WIN id is a Monkey window ID.
- WINDOW SIZE WIN %id% WIDTH %num% HEIGHT %num%
+ WINDOW SIZE WIN %id% WIDTH %n% HEIGHT %n%
The window specified has been set to the shown width and height.
WINDOW DESTROY WIN %id%
@@ -103,7 +166,7 @@ Overview
WINDOW REDRAW WIN %id%
The core asked that Monkey redraw the given window.
- WINDOW GET_DIMENSIONS WIN %id% WIDTH %num% HEIGHT %num%
+ WINDOW GET_DIMENSIONS WIN %id% WIDTH %n% HEIGHT %n%
The core asked Monkey what the dimensions of the window are.
Monkey has to respond immediately and returned the supplied width
and height values to the core.
@@ -124,16 +187,16 @@ Overview
The core asked Monkey to stop the throbber for the named
window. This indicates to the user that the window is finished.
- WINDOW SET_SCROLL WIN %id% X %num% Y %num%
+ WINDOW SET_SCROLL WIN %id% X %n% Y %n%
The core asked Monkey to set the named window's scroll offsets
to the given X and Y position.
- WINDOW UPDATE_BOX WIN %id% X %num% Y %num% WIDTH %num% HEIGHT %num%
+ WINDOW UPDATE_BOX WIN %id% X %n% Y %n% WIDTH %n% HEIGHT %n%
The core asked Monkey to redraw the given portion of the content
display. Note these coordinates refer to the content, not the
viewport which Monkey is simulating.
- WINDOW UPDATE_EXTENT WIN %id% WIDTH %num% HEIGHT %num%
+ WINDOW UPDATE_EXTENT WIN %id% WIDTH %n% HEIGHT %n%
The core has told us that the content in the given window has a
total width and height as shown. This allows us (along with the
window's width and height) to know the scroll limits.
@@ -146,7 +209,7 @@ Overview
The core has told us to update the mouse pointer for the given
window to the given pointer ID.
- WINDOW SET_SCALE WIN %id% SCALE %num%
+ WINDOW SET_SCALE WIN %id% SCALE %n%
The core has asked us to scale the given window by the given scale
factor.
@@ -154,29 +217,29 @@ Overview
The core has informed us that the given window's URL bar needs
updating to the given url.
- WINDOW GET_SCROLL WIN %id% X %num% Y %num%
+ WINDOW GET_SCROLL WIN %id% X %n% Y %n%
The core asked Monkey for the scroll offsets. Monkey returned the
numbers shown for the window named.
WINDOW SCROLL_START WIN %id%
The core asked Monkey to scroll the named window to the top/left.
- WINDOW POSITION_FRAME WIN %id% X0 %num% Y0 %num% X1 %num% Y1 %num%
+ WINDOW POSITION_FRAME WIN %id% X0 %n% Y0 %n% X1 %n% Y1 %n%
The core asked Monkey to position the named window as a frame at
the given coordinates of its parent.
- WINDOW SCROLL_VISIBLE WIN %id% X0 %num% Y0 %num% X1 %num% Y1 %num%
+ WINDOW SCROLL_VISIBLE WIN %id% X0 %n% Y0 %n% X1 %n% Y1 %n%
The core asked Monkey to scroll the named window until the
indicated box is visible.
- WINDOW PLACE_CARET WIN %id% X %num% Y %num% HEIGHT %num%
+ WINDOW PLACE_CARET WIN %id% X %n% Y %n% HEIGHT %n%
The core asked Monkey to render a caret in the named window at the
indicated position with the indicated height.
WINDOW REMOVE_CARET WIN %id%
The core asked Monkey to remove any caret in the named window.
- WINDOW SCROLL_START WIN %id% X0 %num% Y0 %num% X1 %num% Y1 %num%
+ WINDOW SCROLL_START WIN %id% X0 %n% Y0 %n% X1 %n% Y1 %n%
The core asked Monkey to scroll the named window to the start of
the given box.
@@ -192,6 +255,11 @@ Overview
The core asked Monkey to render a thumbnail for the given window
which is currently at the given URL.
+ WINDOW REDRAW WIN %id% START
+ WINDOW REDRAW WIN %id% STOP
+ The core wraps redraws in these messages. Thus PLOT responses can
+ be allocated to the appropriate window.
+
Download window messages
------------------------
@@ -199,7 +267,7 @@ Overview
The core asked Monkey to create a download window owned by the
given browser window.
- DOWNLOAD_WINDOW DATA DWIN %id% SIZE %num% DATA %str%
+ DOWNLOAD_WINDOW DATA DWIN %id% SIZE %n% DATA %str%
The core asked Monkey to update the named download window with
the given byte size and data string.
@@ -224,3 +292,27 @@ Overview
The core asked Monkey to ask for identification for the named
realm at the given URL.
+ Plotter messages
+ ----------------
+
+ Note, Monkey won't clip coordinates, but sometimes the core does.
+
+ PLOT CLIP X0 %n% Y0 %n% X1 %n% Y1 %n%
+ The core asked Monkey to clip plotting to the given clipping
+ rectangle (X0,Y0) (X1,Y1)
+
+ PLOT TEXT X %n% Y %n% STR %str%
+ The core asked Monkey to plot the given string at the
+ given coordinates.
+
+ PLOT LINE X0 %n% Y0 %n% X1 %n% Y1 %n%
+ The core asked Monkey to plot a line with the given start
+ and end coordinates.
+
+ PLOT RECT X0 %n% Y0 %n% X1 %n% Y1 %n%
+ The core asked Monkey to plot a rectangle with the given
+ coordinates as the corners.
+
+ PLOT BITMAP X %n% Y %n% WIDTH %n% HEIGHT %n%
+ The core asked Monkey to plot a bitmap at the given
+ coordinates, scaled to the given width/height.