August 2, 2015
Sciter’s is getting new Inspector tool.
New Inspector is a standalone executable that communicates with the inspectable Sciter window (view) over TCP/IP using
There are few reasons behind such architecture:
- Mac OSX and GTK (or QT) do not really support multiple GUI threads in the same GUI process. Inspector UI must be run independently
from the inspectable.
- There is a need to support remote debugging mode. Especially when Sciter runs in kiosk mode spanning whole desktop space.
- UI Automation Testing, and UI of testing tool in particular, has to work out of inspectable application.
Each Sciter application that wants to be inspectable shall allow connection with the Inspector explicitly by calling
SciterSetOption(hwnd | NULL, SCITER_SET_DEBUG_MODE, TRUE); before loading HTML into Sciter’s window. In response Sciter engine injects so called inspector peer script into the view. Inspector peer script is a small script block that establish event handlers and interceptors (e.g. stdout/stderr proxies). The script adds the following method
function view.connectToInspector(rootEl = null, inspectorHostIP = null);
to the view instance and registers
CTRL+SHIFT+I (connect to inspector) and
CTRL+SHIFT+Click (select DOM element for the inspection).
CTRL+SHIFT+I is used to connect with the inspector when it runs on the same machine.
The same Inspector instance can serve multiple windows/views, even from different processes or GUI threads.