As mentioned above, a desktop is a collection of pages for serving the same URL request. A desktop is also the scope that an event listener could access.
When an event is fired, it is associate with a desktop. ZK separates events based on the associated desktops, and pipelines events into separated queues. Therefore, events for the same desktop are processed sequentially. On the other hand, events for different desktops are processed in parallel.
An event listener is allowed to access any components of any pages of the desktop associated with the event. It is also allowed to moving components from one page to another as long as they are in the same desktop. On the other hand, it cannot access components belonging to other desktops.
Note: Developers can detach a component from one desktop in one event listener, and then attach it to another desktop in other event listener.