Expand description

Protocol for exporting xdg surface handles

This protocol specifies a way for making it possible to reference a surface of a different client. With such a reference, a client can, by using the interfaces provided by this protocol, manipulate the relationship between its own surfaces and the surface of some other client. For example, stack some of its own surface above the other clients surface.

In order for a client A to get a reference of a surface of client B, client B must first export its surface using xdg_exporter.export. Upon doing this, client B will receive a handle (a unique string) that it may share with client A in some way (for example D-Bus). After client A has received the handle from client B, it may use xdg_importer.import to create a reference to the surface client B just exported. See the corresponding requests for details.

A possible use case for this is out-of-process dialogs. For example when a sandboxed client without file system access needs the user to select a file on the file system, given sandbox environment support, it can export its surface, passing the exported surface handle to an unsandboxed process that can show a file browser dialog and stack it above the sandboxed client’s surface.

Modules§

  • Unstable version 1
  • Unstable version 2