/[rdesktop]/sourceforge.net/branches/seamlessrdp-branch/rdesktop/doc/seamlessrdp-channel.txt
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /sourceforge.net/branches/seamlessrdp-branch/rdesktop/doc/seamlessrdp-channel.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1126 - (hide annotations)
Wed Mar 15 11:43:57 2006 UTC (18 years, 2 months ago) by ossman_
File MIME type: text/plain
File size: 4140 byte(s)
Clarify the behaviour when windows are initially created.

1 astrand 1085 TODO
2     ----
3    
4     * Command for executing new programs.
5    
6     * Commands for changing z order and focus.
7    
8     * Command for transferring icon.
9    
10     * Think about protocol version management
11    
12     * Try to assure that messages aren't repeated or are sent for hidden windows.
13    
14     Overview
15     ========
16    
17     The protocol is a line based protocol following this simple syntax:
18    
19     OPERATION[,ARG1[,ARG2,[...]]]
20    
21     The goal is to have a generic protocol that can be used for other display
22     systems (e.g. VNC) as well.
23    
24     One line may not exceed 1024 bytes, including newline.
25    
26     The protocol has no concept of hidden or unmapped windows. A window does not
27 astrand 1092 exist unless it is visible. Note that a minimized window is an exception to
28 astrand 1085 this rule.
29    
30     Data types
31     ==========
32     Window ID are written in hex, like 0x4321.
33    
34     Window positions can be negative. This happens when a window is moved
35     outside the desktop.
36    
37     All integers fit inside 32 bits.
38    
39     Server to Client Operations
40     ===========================
41    
42 ossman_ 1088 CREATE
43     ------
44 astrand 1085
45     Allocate structures for a new window.
46    
47     Syntax:
48 ossman_ 1095 CREATE,<ID>,<PARENT>,<FLAGS>
49 astrand 1085
50 ossman_ 1095 Indicates that a window has appeared on the server. If PARENT is non-zero then
51     the new window is a child of that window (it's transient for it).
52    
53 astrand 1085 Note that very little information is included in this message. Things like
54     title and state will come in subsequent messages. This message should only
55     be used to allocate data structures for the new window.
56    
57 ossman_ 1088 DESTROY
58     -------
59 astrand 1085
60     Remove a window.
61    
62     Syntax:
63 ossman_ 1088 DESTROY,<ID>,<FLAGS>
64 astrand 1085
65     Remove the window and deallocate all associated structures.
66    
67 ossman_ 1088 POSITION
68     --------
69 astrand 1085
70 ossman_ 1088 Move and/or resize a window.
71 astrand 1085
72     Syntax:
73 ossman_ 1088 POSITION,<ID>,<X>,<Y>,<WIDTH>,<HEIGHT>,<FLAGS>
74 astrand 1085
75 ossman_ 1088 If the window isn't visible yet (because a
76 astrand 1092 STATE hasn't been set or because it's minimized), you must store the position
77 ossman_ 1088 and size. A new POSITION is not guaranteed to be sent when the window changes
78     state.
79 astrand 1085
80 ossman_ 1088 TITLE
81     -----
82 astrand 1085
83 ossman_ 1088 Sets a window title.
84 astrand 1085
85 ossman_ 1088 Syntax:
86     TITLE,<ID>,<TITLE>,<FLAGS>
87    
88     The text is guaranteed to be stripped of control characters (< 0x20).
89    
90     Note that this has the same requirement as POSITION, that the title needs to
91 ossman_ 1126 be stored for newly created windows until a STATE is sent. It is however not
92     guaranteed that a TITLE will be sent before the first STATE.
93 ossman_ 1088
94    
95     ZCHANGE
96     -------
97    
98 astrand 1085 The window moved in z order.
99    
100     Syntax:
101 ossman_ 1088 ZCHANGE,<ID>,<BEHIND>,<FLAGS>
102 astrand 1085
103     The window with the id ID is behind the window with the id BEHIND. If
104     BEHIND is 0, then this window should be brought to the front.
105    
106 ossman_ 1088 STATE
107     -----
108 astrand 1085
109     Changes the window's state and/or title.
110    
111     Syntax:
112 ossman_ 1088 STATE,<ID>,<STATE>,<FLAGS>
113 astrand 1085
114     State can have one of three values:
115     0 : "Normal" window.
116 astrand 1092 1 : Minimized.
117     2 : Maximized.
118 astrand 1085
119 ossman_ 1126 The initial STATE for a window will always be preceeded by one CREATE and one
120     POSITION. Optionally, a TITLE may also be sent before the first STATE.
121 astrand 1085
122 ossman_ 1088 DEBUG
123     -----
124 astrand 1085
125     Debug output from the server component.
126    
127     Syntax:
128 ossman_ 1088 DEBUG,<STRING>
129 astrand 1085
130     Used for debugging.
131    
132     SYNCBEGIN
133     ---------
134    
135     Indicates that a synchronisation has begun.
136    
137     Syntax:
138     SYNCBEGIN,<FLAGS>
139    
140     Sent when the server starts a synchronisation. The client should flush all
141     information at this point.
142    
143     SYNCEND
144     -------
145    
146     Indicates that a synchronisation is complete.
147    
148     Syntac:
149     SYNCEND,<FLAGS>
150    
151     Sent when the last message that is part of the synchronisation has been sent.
152     This may be followed by duplicate messages and/or messages referring invalid
153     windows that were queued up during the synchronisation.
154    
155     Client to Server Operations
156     ===========================
157    
158     SYNC
159     ----
160    
161     Request a synchronisation of window information.
162    
163     Syntax:
164     SYNC,<FLAGS>
165    
166 ossman_ 1126 For each window, the server will send CREATE, POSITION and STATE, in that
167     order, just as if the window was created. Note that a TITLE may also,
168     optionally, be sent before the STATE.
169 ossman_ 1088
170     POSITION
171     --------
172    
173     Identical to the command sent from server to client.
174    
175     TITLE
176     -----
177    
178     Identical to the command sent from server to client.
179    
180     ZCHANGE
181     -------
182    
183     Identical to the command sent from server to client.
184    
185     STATE
186     -----
187    
188     Identical to the command sent from server to client.
189    
190     FOCUS
191     -----
192    
193     Sets which window has input focus.
194    
195     Syntax:
196     FOCUS,<ID>,<FLAGS>
197    
198     Changes which window that will recieve the keyboard events. Note that this
199     might cause the window to change z order.

  ViewVC Help
Powered by ViewVC 1.1.26