Version 10 (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 credentials-> ATTACH %d
: attach to window with ID $1-> DETACH %d
: detach from window with ID $1-> NEW %s
: open a new process window, running either a new shell or the optional command line$1
-> BROWSE
: open a process browser window-> GRAB %d %d
: grab process$2
and replace process browser window$1
with it-> KILL %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
High level server-to-client commands:
<- WINDOW %d [%d]
: window with ID$1
was created (possibly following client request$2
)
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
Design
As seen on neercs/devel.