Display

This subsystem deals with the synchronization of the client's display and its configuration (ie: DPI, HDR, etc), in particular sending updated screen configuration whenever the number of monitors or their configuration changes.

The client may also apply scaling, which changes the display size exposed to the server.
This can be used to reduce the amount of pixels needed to cover a monitor.

Implementations

| Component | Link | |-------------------|----------------------------------------------------------------------------------------------------------------| | client | xpra.client.subsystem.display | | client connection | xpra.server.source.display | | server | xpra.server.subsystem.display |

Capabilities

| Capability | Value | Information | |-------------------------|-----------------------------|-----------------------------------------| | desktop_size | width: int, height: int | The display size, covering all monitors | | screen_sizes | list of screens | Geometry of all screens, scaled | | screen_sizes.unscaled | list of screens | Unscaled geometry of all screens | | monitors | list of monitors | Geometry of all monitors | | dpi | dictionary | DPI configuration |

Network Packets

| Packet Type | Direction | Arguments | Information | |------------------------------|------------------|---------------------------------------------------------|------------------------------------------------------------------------------------------| | show-desktop | server to client | show : boolean | The server is requesting the client to show or hide the desktop | | desktop-size | server to client | width: int, height: int, max_w: int, max_h: int | The server has updated its display, the client may need to adjust its scaling properties | | display-configure | client to server | monitor configuration dictionary | The client sends its updated monitor layout to the server | | display-request-screenshot | client to server | | The client requests a screenshot from the server | | display-screenshot | server to client | w: int, h: int, encoding: string, data: bytes | The server sends a screenshot in response to display-request-screenshot |