/[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 1095 - (hide annotations)
Fri Mar 10 12:22:51 2006 UTC (18 years, 2 months ago) by ossman_
File MIME type: text/plain
File size: 3833 byte(s)
Add a field to the create command to be able to indicate child windows.

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     be stored for newly created windows until a STATE is sent.
92    
93    
94     ZCHANGE
95     -------
96    
97 astrand 1085 The window moved in z order.
98    
99     Syntax:
100 ossman_ 1088 ZCHANGE,<ID>,<BEHIND>,<FLAGS>
101 astrand 1085
102     The window with the id ID is behind the window with the id BEHIND. If
103     BEHIND is 0, then this window should be brought to the front.
104    
105 ossman_ 1088 STATE
106     -----
107 astrand 1085
108     Changes the window's state and/or title.
109    
110     Syntax:
111 ossman_ 1088 STATE,<ID>,<STATE>,<FLAGS>
112 astrand 1085
113     State can have one of three values:
114     0 : "Normal" window.
115 astrand 1092 1 : Minimized.
116     2 : Maximized.
117 astrand 1085
118    
119 ossman_ 1088 DEBUG
120     -----
121 astrand 1085
122     Debug output from the server component.
123    
124     Syntax:
125 ossman_ 1088 DEBUG,<STRING>
126 astrand 1085
127     Used for debugging.
128    
129     SYNCBEGIN
130     ---------
131    
132     Indicates that a synchronisation has begun.
133    
134     Syntax:
135     SYNCBEGIN,<FLAGS>
136    
137     Sent when the server starts a synchronisation. The client should flush all
138     information at this point.
139    
140     SYNCEND
141     -------
142    
143     Indicates that a synchronisation is complete.
144    
145     Syntac:
146     SYNCEND,<FLAGS>
147    
148     Sent when the last message that is part of the synchronisation has been sent.
149     This may be followed by duplicate messages and/or messages referring invalid
150     windows that were queued up during the synchronisation.
151    
152     Client to Server Operations
153     ===========================
154    
155     SYNC
156     ----
157    
158     Request a synchronisation of window information.
159    
160     Syntax:
161     SYNC,<FLAGS>
162    
163 ossman_ 1088 For each window, the server will send CREATE, POSITION and SETSTATE just as
164     if the window was created.
165    
166     POSITION
167     --------
168    
169     Identical to the command sent from server to client.
170    
171     TITLE
172     -----
173    
174     Identical to the command sent from server to client.
175    
176     ZCHANGE
177     -------
178    
179     Identical to the command sent from server to client.
180    
181     STATE
182     -----
183    
184     Identical to the command sent from server to client.
185    
186     FOCUS
187     -----
188    
189     Sets which window has input focus.
190    
191     Syntax:
192     FOCUS,<ID>,<FLAGS>
193    
194     Changes which window that will recieve the keyboard events. Note that this
195     might cause the window to change z order.

  ViewVC Help
Powered by ViewVC 1.1.26