Changes between Version 17 and Version 18 of NetworkProtocol
- Timestamp:
- 03/28/14 14:11:41 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
NetworkProtocol
v17 v18 22 22 ||{{{ping-echo}}}||echoed time, load average, measured latency||response to ping||none, it ''should'' be used to collect latency statistics|| 23 23 ||{{{sound-data}}}||sound buffers and associated metadata||forward sound data||the receiver ''should'' queue the sound buffer, it may drop them if desired - if so, it should tell the other end to stop sending|| 24 ||{{{connection-lost}}}|| none||sent by the network layer when the network connection has dropped||free any resources||25 ||{{{gibberish}}}|| none||sent by the network layer when the network received unparseable data, data decompression failed or decryption failed||disconnect the connection and free any resources||24 ||{{{connection-lost}}}|| ||sent by the network layer when the network connection has dropped||free any resources|| 25 ||{{{gibberish}}}|| ||sent by the network layer when the network received unparseable data, data decompression failed or decryption failed||disconnect the connection and free any resources|| 26 26 27 27 [[BR]] … … 31 31 * Packets sent by the server 32 32 ||= Packet Type =||= Arguments =||= Purpose =||= Actions Required =||= Client Capability Required =|| 33 ||{{{startup-complete}}}|| none||notifies the client that all the windows have been sent||none||{{{notify-startup-complete}}}||34 ||{{{new-window}}} and [[BR]] {{{new-override-redirect}}}||window ID and attributes||tells the client about a new regular window or override-redirect window||the client ''should'' show the new window, it should eventually send a {{{map-window}}} packet with the location of the window|| none||33 ||{{{startup-complete}}}|| ||notifies the client that all the windows have been sent|| ||{{{notify-startup-complete}}}|| 34 ||{{{new-window}}} and [[BR]] {{{new-override-redirect}}}||window ID and attributes||tells the client about a new regular window or override-redirect window||the client ''should'' show the new window, it should eventually send a {{{map-window}}} packet with the location of the window|| || 35 35 ||{{{new-tray}}}||window ID and attributes||tells the client about a new tray window||the client ''should'' show the new system tray||{{{system_tray}}}|| 36 ||{{{lost-window}}}||window ID||the application has closed the given window||the client ''must'' close the given window or tray, which can not longer be used|| none||36 ||{{{lost-window}}}||window ID||the application has closed the given window||the client ''must'' close the given window or tray, which can not longer be used|| || 37 37 ||{{{raise-window}}}||window ID||the application has requested that the window be raised||the client ''should'' raise the window||{{{window.raise}}}|| 38 ||{{{configure-override-redirect}}}||window ID, new position and size||honour applications that reconfigure their override redirect windows||the client ''must'' move and resize the window|| none||38 ||{{{configure-override-redirect}}}||window ID, new position and size||honour applications that reconfigure their override redirect windows||the client ''must'' move and resize the window|| || 39 39 ||{{{window-move-resize}}}||window ID, new position and size||honour applications that request the window to be moved and resized||the client ''should'' move and resize the window||{{{server-window-move-resize}}}|| 40 40 ||{{{window-resized}}}||window ID and new size||honour applications that request the window to be resized - this is only a deprecated fallback for {{{window-move-resize}}}||the client ''should'' move and resize the window||{{{server-window-resize}}}|| 41 41 ||{{{window-icon}}}||window ID and icon data||new icon for the given window||the client ''may'' display this new icon in the window's title bar, etc||{{{raw_window_icons}}}|| 42 ||{{{window-metadata}}}||window ID and metadata dictionary||update the metadata associated with a window||the client ''should'' apply the new attributes to the given window|| none||42 ||{{{window-metadata}}}||window ID and metadata dictionary||update the metadata associated with a window||the client ''should'' apply the new attributes to the given window|| || 43 43 ||{{{cursor}}}||the cursor data (see code for details)||honour applications that request a different cursor||the client ''should'' display the new cursor immediately||{{{cursors}}}|| 44 44 ||{{{bell}}}||the bell sound definition (see code for details)||honour applications requesting the bell to ring||the client ''should'' ring the "bell" or its equivallent||{{{bell}}}|| … … 46 46 ||{{{notify_close}}}||notification ID||the notification should be closed||the client ''should'' stop showing the given notification||{{{notifications}}}|| 47 47 ||{{{set-clipboard-enabled}}}||new state, reason for change||the server requests that clipboard synchronization be turned on or off||the client ''should'' honour the request||{{{clipboard.set_enabled}}}|| 48 ||{{{desktop_size}}}||dimensions||the server has resized the virtual display||the client ''may'' record and use these new dimensions|| none||49 ||{{{draw}}}||position of the update within the window and the pixel data||an area of the window must be re-painted||the client ''must'' repaint the window with the new pixel data|| none||48 ||{{{desktop_size}}}||dimensions||the server has resized the virtual display||the client ''may'' record and use these new dimensions|| || 49 ||{{{draw}}}||position of the update within the window and the pixel data||an area of the window must be re-painted||the client ''must'' repaint the window with the new pixel data|| || 50 50 ||{{{rpc-reply}}}||rpc response||the server is responding to a {{{rpc}}} packet||the client ''should'' be able to match the response to a query it sent (only dbus rpc is supported at present)||{{{dbus_proxy}}}|| 51 51 ||{{{control}}}||control command and arguments||the server is requesting a configuration change||the client ''may'' honour it||{{{control_commands}}} (list)|| … … 62 62 ||{{{set-notify}}}||new state||enable or disable sending of notifications||the server ''should'' honour the request||{{{toggle_cursors_bell_notify}}}|| 63 63 ||{{{set-bell}}}||new state||enable or disable sending of bell events||the server ''should'' honour the request||{{{toggle_cursors_bell_notify}}}|| 64 ||{{{map-window}}}||window ID, position and properties||tells the server where the window has been mapped on the client||the server ''must'' ensure its window is at the same location|| none||65 ||{{{unmap-window}}}||window ID||the window is no longer shown||the server ''should'' do the same and ''park'' the window|| none||66 ||{{{configure-window}}}||window ID, position, size and properties||the client has modified the window in some way||the server ''must'' ensure its window matches|| none||67 ||{{{close-window}}}||window ID||the client has requested that the window be closed||the server ''should'' ask the application to close the window, it ''may'' force it to do so|| none||68 ||{{{focus}}}||window ID and keyboard state||the client has focused a different window, or none at all||the server should ensure its focus state matches|| none||69 ||{{{button-action}}}||window ID, button, pressed or unpressed, position and keyboard modifiers state||the client has clicked on a window (or used the mouse wheel)||the server ''should'' try to simulate pressing or unpressing the same button|| none||70 ||{{{pointer-position}}}||window ID, position and keyboard modifiers state||the user is moving its mouse over a window||the server ''should'' try to move its mouse to the same position|| none||71 ||{{{key-action}}}||key definition (keycode, key name, pressed or unpressed, etc)||the user has pressed a key||the server ''should'' try to simulate pressing the same key|| none||72 ||{{{key-repeat}}}||key definition (as above)||the key is still pressed||the server ''may'' use this information to continue pressing the same key, cancelling any timeouts it may have - this is only relevant when the keyboard state is ''synchronized''|| none||73 ||{{{layout-changed}}}||layout and variant||the client keyboard configuration has changed||the server ''should'' try to update its keyboard configuration to match|| none||74 ||{{{keymap-changed}}}||a dictionary of keyboard definitions||the client keyboard configuration has changed||the server ''should'' try to update its keyboard configuration to match|| none||75 ||{{{damage-sequence}}}||sequence ID and decoding details||the client is acknowledging that it has painted a screen update received in a {{{draw}}} packet||the server ''may'' use this information to estimate the performance of the connection and of the client, and ''may'' decide to send more screen updates|| none||76 ||{{{server-settings}}}||settings||the client's xsettings have changed||the server ''should'' apply the new settings|| none||77 ||{{{jpeg-quality}}} (deprecated) or [[BR]] {{{quality}}}||new fixed picture quality value from -1 to 100||the client wants to use a fixed quality (0 to 100), or disable fixed quality (-1)||the server ''should'' honour the request, it ''may'' refresh all the windows with the new setting|| none||64 ||{{{map-window}}}||window ID, position and properties||tells the server where the window has been mapped on the client||the server ''must'' ensure its window is at the same location|| || 65 ||{{{unmap-window}}}||window ID||the window is no longer shown||the server ''should'' do the same and ''park'' the window|| || 66 ||{{{configure-window}}}||window ID, position, size and properties||the client has modified the window in some way||the server ''must'' ensure its window matches|| || 67 ||{{{close-window}}}||window ID||the client has requested that the window be closed||the server ''should'' ask the application to close the window, it ''may'' force it to do so|| || 68 ||{{{focus}}}||window ID and keyboard state||the client has focused a different window, or none at all||the server should ensure its focus state matches|| || 69 ||{{{button-action}}}||window ID, button, pressed or unpressed, position and keyboard modifiers state||the client has clicked on a window (or used the mouse wheel)||the server ''should'' try to simulate pressing or unpressing the same button|| || 70 ||{{{pointer-position}}}||window ID, position and keyboard modifiers state||the user is moving its mouse over a window||the server ''should'' try to move its mouse to the same position|| || 71 ||{{{key-action}}}||key definition (keycode, key name, pressed or unpressed, etc)||the user has pressed a key||the server ''should'' try to simulate pressing the same key|| || 72 ||{{{key-repeat}}}||key definition (as above)||the key is still pressed||the server ''may'' use this information to continue pressing the same key, cancelling any timeouts it may have - this is only relevant when the keyboard state is ''synchronized''|| || 73 ||{{{layout-changed}}}||layout and variant||the client keyboard configuration has changed||the server ''should'' try to update its keyboard configuration to match|| || 74 ||{{{keymap-changed}}}||a dictionary of keyboard definitions||the client keyboard configuration has changed||the server ''should'' try to update its keyboard configuration to match|| || 75 ||{{{damage-sequence}}}||sequence ID and decoding details||the client is acknowledging that it has painted a screen update received in a {{{draw}}} packet||the server ''may'' use this information to estimate the performance of the connection and of the client, and ''may'' decide to send more screen updates|| || 76 ||{{{server-settings}}}||settings||the client's xsettings have changed||the server ''should'' apply the new settings|| || 77 ||{{{jpeg-quality}}} (deprecated) or [[BR]] {{{quality}}}||new fixed picture quality value from -1 to 100||the client wants to use a fixed quality (0 to 100), or disable fixed quality (-1)||the server ''should'' honour the request, it ''may'' refresh all the windows with the new setting|| || 78 78 ||{{{min-quality}}}||new minimum picture quality value|| 79 ||{{{speed}}}||new fixed speed value from -1 to 100||the client wants to use a fixed speed (0 to 100), or disable fixed speed (-1)||the server ''should'' honour the request, it ''may'' refresh all the windows with the new setting|| none||79 ||{{{speed}}}||new fixed speed value from -1 to 100||the client wants to use a fixed speed (0 to 100), or disable fixed speed (-1)||the server ''should'' honour the request, it ''may'' refresh all the windows with the new setting|| || 80 80 ||{{{min-speed}}}||new minimum speed setting|| 81 81