This patch is against CVS.
This patch allows to control another Dillo instance (the
server) by sending it commands. For example, the server can
be requested to open a new URL.
An application can therefore use Dillo as a flexible help
browser. It can launch a single private Dillo instance
used only by itself, and control it to open different
URLs. For example, the application can provide a "Help on
Context" mode for the user: the user clicks on a GUI item
to request help on it, and the application will use the
same Dillo window to show the associated help text. When
finished, it can request the Dillo instance to quit.
Associated with the ability for Dillo to be embedded in
another X-Window window, it can provide an integrated HTML
viewer. The advantage over a library, is that if the HTML
viewer crashes, the application is not affected.
New Command Line Options
The patch introduces the following new command line options:
- -s, --server NAME: to set the name of the
server to create or to connect to if it is already
- -c, --command COMMAND: to execute the
- -H, --help-commands: to display the list of
commands that can be used with the -c,
- -r, --reload SECONDS: to set the default auto-reload interval.
A command passed to the -c, --command option has the
- CMD is the command name;
- ARG is the first command argument;
- [ OPTION[=VALUE]]... is a list of
optional arguments. Each optional argument is
separated with the previous one with a single space.
If the option is of a boolean type, a missing value is
interpreted as if "=yes" was given.
Note: the whole command should be escaped between
double-quotes (") and the ARG must not
contain any space. As in general the ARG is a
URL and as a URL must encode included spaces, this is
not a limitation.
The currently implemented commands are:
Note: the other command line options are in fact
translated to their -c, --command. The first
URL after all command line options is translated to a
open(URL) command, and the subsequent ones are
translated to open(URL newwindow) commands.
- open(URL[ fullwindow[=yes|no]][ newwindow[=yes|no]][ reload=SECONDS][ spamsafe[=yes|no]][ xid=XID]): to open a URL. The
optional arguments allow to specify how and in which
window the URL is to be opened;
- exit(): to stop Dillo;
- fullwindow([yes|no]): to set the default
- reload(SECONDS): to set the default reload
- xid(XID): to set the default XID X-Window
- spamsafe([yes|no]): to set the default
- dillo -s help URL: open the URL in the server named "help". This is the typical browser command line option to always use the same Dillo instance for every user help request.
- dillo -s watch_log -c "open(URL reload=10 xid=0x8391230)": open the URL in the X-Window XID and reload it every 10 seconds. Can be used to monitor a URL.
- dillo -s external_browser -c "open(URL newwindow)": open the URL in a new window.
The patch against current CVS is here: dillo-server-mode-CVS-2003-08-29.patch