3.3.5.1.8 Constructing Desktop Information Orders

Desktop Information Orders are generated by the server to inform the client of events on the server that are not confined to a single window or notification icon. These events include the following:

  • A client connects to the server that is actively monitoring a desktop. The server generates the following events in order:

    1. A Desktop Information Order (see section 2.2.1.3.3.2.1) with the WINDOW_ORDER_FIELD_DESKTOP_ARC_BEGAN (0x00000008) and the WINDOW_ORDER_FIELD_DESKTOP_HOOKED (0x00000002) flags set in the Hdr field to indicate that the synchronization has begun.

    2. After all orders specifying windows, icons, and the desktop are sent, the server generates a Desktop Information Order with the WINDOW_ORDER_FIELD_DESKTOP_ARC_COMPLETED (0x00000004) flag set to signal the end of synchronization data.

  • A desktop switch occurred on the server causing the server to stop monitoring the current desktop and (optionally) start monitoring the new desktop. This is indicated by generating the following events in order.

    1. A Desktop Information Order for the Non-Monitored Desktop packet (see section 2.2.1.3.3.2.2).

    2. A Desktop Information Order with the WINDOW_ORDER_FIELD_DESKTOP_HOOKED (0x00000002) flag set in the Hdr field. If the server is unable to monitor the new desktop, the server SHOULD NOT send this order.

  • The number and/or Z-order of top-level windows on the server changes. This is indicated by generating a Desktop Information Order with the NumWindowIds and WindowIds fields present.

  • The active window on the server changes. This is indicated by generating a Desktop Information Order with the ActiveWindowId field present.