| Version 10 (modified by , 15 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$2and replace process browser window$1with 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$1was 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$1to"$2"CURSOR %d %d: set cursor visibility for window$1to$2UPDATE %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.

