OLD | NEW |
1 <?xml version="1.0" encoding="UTF-8"?> | 1 <?xml version="1.0" encoding="UTF-8"?> |
2 <protocol name="remote_shell_unstable_v1"> | 2 <protocol name="remote_shell_unstable_v1"> |
3 | 3 |
4 <copyright> | 4 <copyright> |
5 Copyright 2016 The Chromium Authors. | 5 Copyright 2016 The Chromium Authors. |
6 | 6 |
7 Permission is hereby granted, free of charge, to any person obtaining a | 7 Permission is hereby granted, free of charge, to any person obtaining a |
8 copy of this software and associated documentation files (the "Software"), | 8 copy of this software and associated documentation files (the "Software"), |
9 to deal in the Software without restriction, including without limitation | 9 to deal in the Software without restriction, including without limitation |
10 the rights to use, copy, modify, merge, publish, distribute, sublicense, | 10 the rights to use, copy, modify, merge, publish, distribute, sublicense, |
(...skipping 20 matching lines...) Expand all Loading... |
31 Warning! The protocol described in this file is experimental and backward | 31 Warning! The protocol described in this file is experimental and backward |
32 incompatible changes may be made. Backward compatible changes may be added | 32 incompatible changes may be made. Backward compatible changes may be added |
33 together with the corresponding interface version bump. Backward | 33 together with the corresponding interface version bump. Backward |
34 incompatible changes are done by bumping the version number in the protocol | 34 incompatible changes are done by bumping the version number in the protocol |
35 and interface names and resetting the interface version. Once the protocol | 35 and interface names and resetting the interface version. Once the protocol |
36 is to be declared stable, the 'z' prefix and the version number in the | 36 is to be declared stable, the 'z' prefix and the version number in the |
37 protocol and interface names are removed and the interface version number is | 37 protocol and interface names are removed and the interface version number is |
38 reset. | 38 reset. |
39 </description> | 39 </description> |
40 | 40 |
41 <interface name="zcr_remote_shell_v1" version="5"> | 41 <interface name="zcr_remote_shell_v1" version="6"> |
42 <description summary="remote_shell"> | 42 <description summary="remote_shell"> |
43 The global interface that allows clients to turn a wl_surface into a | 43 The global interface that allows clients to turn a wl_surface into a |
44 "real window" which is remotely managed but can be stacked, activated | 44 "real window" which is remotely managed but can be stacked, activated |
45 and made fullscreen by the user. | 45 and made fullscreen by the user. |
46 </description> | 46 </description> |
47 | 47 |
48 <enum name="container"> | 48 <enum name="container"> |
49 <description summary="containers for remote surfaces"> | 49 <description summary="containers for remote surfaces"> |
50 Determine how a remote surface should be stacked relative to other | 50 Determine how a remote surface should be stacked relative to other |
51 shell surfaces. | 51 shell surfaces. |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 <arg name="height" type="int"/> | 133 <arg name="height" type="int"/> |
134 <arg name="transform" type="int"/> | 134 <arg name="transform" type="int"/> |
135 <arg name="scale_factor" type="fixed"/> | 135 <arg name="scale_factor" type="fixed"/> |
136 <arg name="work_area_inset_left" type="int"/> | 136 <arg name="work_area_inset_left" type="int"/> |
137 <arg name="work_area_inset_top" type="int"/> | 137 <arg name="work_area_inset_top" type="int"/> |
138 <arg name="work_area_inset_right" type="int"/> | 138 <arg name="work_area_inset_right" type="int"/> |
139 <arg name="work_area_inset_bottom" type="int"/> | 139 <arg name="work_area_inset_bottom" type="int"/> |
140 <arg name="layout_mode" type="uint"/> | 140 <arg name="layout_mode" type="uint"/> |
141 </event> | 141 </event> |
142 | 142 |
143 <!-- Version 5 additions --> | 143 <!-- Version 6 additions --> |
144 | 144 |
145 <event name="workspace" since="5"> | 145 <event name="workspace" since="6"> |
146 <description summary="area of remote shell"> | 146 <description summary="area of remote shell"> |
147 Defines an area of the remote shell used for layout. Each series of | 147 Defines an area of the remote shell used for layout. Each series of |
148 "workspace" events must be terminated by a "configure" event. | 148 "workspace" events must be terminated by a "configure" event. |
149 </description> | 149 </description> |
150 <arg name="id_hi" type="uint"/> | 150 <arg name="id_hi" type="uint"/> |
151 <arg name="id_lo" type="uint"/> | 151 <arg name="id_lo" type="uint"/> |
152 <arg name="x" type="int"/> | 152 <arg name="x" type="int"/> |
153 <arg name="y" type="int"/> | 153 <arg name="y" type="int"/> |
154 <arg name="width" type="int"/> | 154 <arg name="width" type="int"/> |
155 <arg name="height" type="int"/> | 155 <arg name="height" type="int"/> |
156 <arg name="inset_left" type="int"/> | 156 <arg name="inset_left" type="int"/> |
157 <arg name="inset_top" type="int"/> | 157 <arg name="inset_top" type="int"/> |
158 <arg name="inset_right" type="int"/> | 158 <arg name="inset_right" type="int"/> |
159 <arg name="inset_bottom" type="int"/> | 159 <arg name="inset_bottom" type="int"/> |
160 <arg name="transform" type="int"/> | 160 <arg name="transform" type="int"/> |
161 <arg name="scale_factor" type="fixed"/> | 161 <arg name="scale_factor" type="fixed"/> |
162 </event> | 162 </event> |
163 | 163 |
164 <event name="configure" since="5"> | 164 <event name="configure" since="6"> |
165 <description summary="suggests configuration of remote shell"> | 165 <description summary="suggests configuration of remote shell"> |
166 Suggests a new configuration of the remote shell. Preceded by a series | 166 Suggests a new configuration of the remote shell. Preceded by a series |
167 of "workspace" events. | 167 of "workspace" events. |
168 </description> | 168 </description> |
169 <arg name="layout_mode" type="uint"/> | 169 <arg name="layout_mode" type="uint"/> |
170 </event> | 170 </event> |
171 </interface> | 171 </interface> |
172 | 172 |
173 <interface name="zcr_remote_surface_v1" version="5"> | 173 <interface name="zcr_remote_surface_v1" version="6"> |
174 <description summary="A desktop window"> | 174 <description summary="A desktop window"> |
175 An interface that may be implemented by a wl_surface, for | 175 An interface that may be implemented by a wl_surface, for |
176 implementations that provide a desktop-style user interface | 176 implementations that provide a desktop-style user interface |
177 and allows for remotely managed windows. | 177 and allows for remotely managed windows. |
178 | 178 |
179 It provides requests to treat surfaces like windows, allowing to set | 179 It provides requests to treat surfaces like windows, allowing to set |
180 properties like app id and geometry. | 180 properties like app id and geometry. |
181 | 181 |
182 The client must call wl_surface.commit on the corresponding wl_surface | 182 The client must call wl_surface.commit on the corresponding wl_surface |
183 for the remote_surface state to take effect. | 183 for the remote_surface state to take effect. |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 <description summary="unset always on top"> | 462 <description summary="unset always on top"> |
463 Request that surface is made to be not always on top. | 463 Request that surface is made to be not always on top. |
464 | 464 |
465 This is only a request that the window should be not always on top. | 465 This is only a request that the window should be not always on top. |
466 The compositor may choose to ignore this request. | 466 The compositor may choose to ignore this request. |
467 </description> | 467 </description> |
468 </request> | 468 </request> |
469 | 469 |
470 <!-- Version 5 additions --> | 470 <!-- Version 5 additions --> |
471 | 471 |
472 <event name="configure" since="5"> | 472 <request name="set_icon_png_chunk" since="5"> |
| 473 <description summary="Set a chunk of surface icon"> |
| 474 » Set a chunk of surface custom icon compressed in png format. |
| 475 |
| 476 » This icon may be used to show the task icon in a task bar. |
| 477 |
| 478 » If flag contains 0x1 bit then this is the first chunk of data. |
| 479 » If flag contains 0x2 bit then this is the last chunk of data. |
| 480 Both bits may be set or not set. |
| 481 </description> |
| 482 <arg name="flags" type="uint"/> |
| 483 <arg name="chunk" type="array"/> |
| 484 </request> |
| 485 |
| 486 <request name="reset_icon_png" since="5"> |
| 487 <description summary="Reset surface icon"> |
| 488 » This reset any previosly set surface custom icon. |
| 489 |
| 490 » Default app icon will be used to show the task icon in a task bar. |
| 491 </description> |
| 492 </request> |
| 493 |
| 494 <!-- Version 6 additions --> |
| 495 |
| 496 <event name="configure" since="6"> |
473 <description summary="suggest a surface change"> | 497 <description summary="suggest a surface change"> |
474 The configure event asks the client to change surface state. | 498 The configure event asks the client to change surface state. |
475 | 499 |
476 The client must apply the origin offset to window positions in | 500 The client must apply the origin offset to window positions in |
477 set_window_geometry requests. | 501 set_window_geometry requests. |
478 | 502 |
479 The states listed in the event are state_type values, and might change | 503 The states listed in the event are state_type values, and might change |
480 due to a client request or an event directly handled by the compositor. | 504 due to a client request or an event directly handled by the compositor. |
481 | 505 |
482 Clients should arrange their surface for the new state, and then send an | 506 Clients should arrange their surface for the new state, and then send an |
483 ack_configure request with the serial sent in this configure event at | 507 ack_configure request with the serial sent in this configure event at |
484 some point before committing the new surface. | 508 some point before committing the new surface. |
485 | 509 |
486 If the client receives multiple configure events before it can respond | 510 If the client receives multiple configure events before it can respond |
487 to one, it is free to discard all but the last event it received. | 511 to one, it is free to discard all but the last event it received. |
488 </description> | 512 </description> |
489 <arg name="origin_offset_x" type="int"/> | 513 <arg name="origin_offset_x" type="int"/> |
490 <arg name="origin_offset_y" type="int"/> | 514 <arg name="origin_offset_y" type="int"/> |
491 <arg name="states" type="array"/> | 515 <arg name="states" type="array"/> |
492 <arg name="serial" type="uint"/> | 516 <arg name="serial" type="uint"/> |
493 </event> | 517 </event> |
494 | 518 |
495 <request name="ack_configure" since="5"> | 519 <request name="ack_configure" since="6"> |
496 <description summary="ack a configure event"> | 520 <description summary="ack a configure event"> |
497 When a configure event is received, if a client commits the | 521 When a configure event is received, if a client commits the |
498 surface in response to the configure event, then the client | 522 surface in response to the configure event, then the client |
499 must make an ack_configure request sometime before the commit | 523 must make an ack_configure request sometime before the commit |
500 request, passing along the serial of the configure event. | 524 request, passing along the serial of the configure event. |
501 | 525 |
502 For instance, the compositor might use this information during display | 526 For instance, the compositor might use this information during display |
503 configuration to change its coordinate space for set_window_geometry | 527 configuration to change its coordinate space for set_window_geometry |
504 requests only when the client has switched to the new coordinate space. | 528 requests only when the client has switched to the new coordinate space. |
505 | 529 |
506 If the client receives multiple configure events before it | 530 If the client receives multiple configure events before it |
507 can respond to one, it only has to ack the last configure event. | 531 can respond to one, it only has to ack the last configure event. |
508 | 532 |
509 A client is not required to commit immediately after sending | 533 A client is not required to commit immediately after sending |
510 an ack_configure request - it may even ack_configure several times | 534 an ack_configure request - it may even ack_configure several times |
511 before its next surface commit. | 535 before its next surface commit. |
512 | 536 |
513 A client may send multiple ack_configure requests before committing, but | 537 A client may send multiple ack_configure requests before committing, but |
514 only the last request sent before a commit indicates which configure | 538 only the last request sent before a commit indicates which configure |
515 event the client really is responding to. | 539 event the client really is responding to. |
516 </description> | 540 </description> |
517 <arg name="serial" type="uint" summary="the serial from the configure even
t"/> | 541 <arg name="serial" type="uint" summary="the serial from the configure even
t"/> |
518 </request> | 542 </request> |
519 | 543 |
520 <request name="move" since="5"> | 544 <request name="move" since="6"> |
521 <description summary="start an interactive move"> | 545 <description summary="start an interactive move"> |
522 Start an interactive, user-driven move of the surface. | 546 Start an interactive, user-driven move of the surface. |
523 | 547 |
524 The compositor responds to this request with a configure event that | 548 The compositor responds to this request with a configure event that |
525 transitions to the "moving" state. The client must only initiate motion | 549 transitions to the "moving" state. The client must only initiate motion |
526 after acknowledging the state change. The compositor can assume that | 550 after acknowledging the state change. The compositor can assume that |
527 subsequent set_window_geometry requests are position updates until the | 551 subsequent set_window_geometry requests are position updates until the |
528 next state transition is acknowledged. | 552 next state transition is acknowledged. |
529 | 553 |
530 The compositor may ignore move requests depending on the state of the | 554 The compositor may ignore move requests depending on the state of the |
(...skipping 10 matching lines...) Expand all Loading... |
541 </description> | 565 </description> |
542 | 566 |
543 <request name="destroy" type="destructor"> | 567 <request name="destroy" type="destructor"> |
544 <description summary="Destroy the notification_surface"> | 568 <description summary="Destroy the notification_surface"> |
545 Unmap and destroy the notification surface. | 569 Unmap and destroy the notification surface. |
546 </description> | 570 </description> |
547 </request> | 571 </request> |
548 </interface> | 572 </interface> |
549 | 573 |
550 </protocol> | 574 </protocol> |
OLD | NEW |