Version 8 (modified by 14 years ago) (diff) | ,
---|
The neercs client-server protocol
Still being designed.
High level client-to-server commands:
CONNECT
: establish a connection with the server, with optional connection credentialsATTACH %d
: attach to window with ID $1DETACH %d
: detach from window with ID $1NEW %s
: open a new process window, running either a new shell or the optional command line$1
BROWSE
: open a process browser windowGRAB %d %d
: grab process$2
and replace process browser window$1
with itKILL %d
: kill window with ID$1
DISCONNECT
: close the connection with the server
Low level client-to-server commands:
KEY %d ...
: send one or several keystrokes for window with ID$1
MOUSE %d ...
: send a mouse event (motion, button press or release) for window with ID$1
RESIZE %d ...
: send a resize event for window with ID$1
ACTIVE %d ...
: set the active refresh area for window with ID$1
Legacy commands
The first neercs implementation used the following set of commands.
Client to server:
ATTACH %d %d %d
: attach client with a $1x$2 display and refresh delay $3QUIT
: quit everythingDELAY %d
: update refresh delayRESIZE %d %d
: change display sizeKEY %d
: key $1 pressedMOUSEP %d %d %d
: mouse button $3 pressed at $1,$2MOUSER %d %d %d
: mouse button $3 released at $1,$2MOUSEM %d %d %d
: mouse motion to $1,$2 with button $3 pressed
Server to client:
TITLE %d %s
: change display title for window$1
to"$2"
CURSOR %d %d
: set cursor visibility for window$1
to$2
UPDATE %d %d %s
: upload part of a window, caca canvas $3 starting at $1,$2REFRESH %d %d
: refresh display, with cursor at $1,$2 (sent after all updates, when client should be consistent)DETACH