Hi all,

While reviewing the protocol documentation, I noticed that the description of 
wl_data_offer could more clearly reflect the actual mediation role of the 
compositor in data transfer.

Current Description (problematic)

``

<description summary="offer to transfer data">

A wl_data_offer represents a piece of data offered for transfer

by another client (the source client).

It is used by the copy-and-paste and drag-and-drop mechanisms.

The offer describes the different mime types that the data can be converted to

and provides the mechanism for transferring the data directly from the source 
client.

</description>

``

This could be misinterpreted as implying direct client-to-client transfer, 
obscuring the compositor's critical role.

Proposed Revision

``

<description summary="offer to transfer data">

A wl_data_offer is created by the compositor to mediate data transfer between 
clients.

The source client interacts via wl_data_source, while the destination client

uses this interface. It enables:

- MIME type negotiation through the compositor

- Secure data transfer orchestration

- Both clipboard and drag-and-drop operations

</description>

``

Key Clarifications

Compositor as mediator

Explicitly states the compositor creates/manages wl_data_offer

Matches actual implementation (Weston/wlroots)

Role separation

Distinguishes wl_data_source (source) and wl_data_offer (destination)

Avoids "direct transfer" implication

Protocol accuracy

Aligns with the security model where all transfers are compositor-supervised

Would appreciate feedback on whether this warrants a protocol patch. A minimal 
documentation update could prevent client implementation confusion.

Best regards,

苏怀安

Reply via email to