Rethinking the clipboard?

Pekka Paalanen ppaalanen at gmail.com
Sat Jan 2 09:58:10 UTC 2021


On Mon, 28 Dec 2020 14:51:26 -0500
Aaron Hillegass <a at hilleg.us> wrote:

> Has the idea of pulling clipboard functionality out of the window
> server been considered by this group?  Is someone else working on
> this problem?
> 

Hi,

a big counter-argument is about securing the clipboard contents:
arbitrary applications should not be able to fetch (or overwrite)
the clipboard contents without explicit user action, since the
clipboard might contain sensitive information. The display server
is the primary system component that knows whether something is a
user action or not, so it should be involved in clipboard access
somehow.

Currently the Wayland design gates access to per-wl_seat clipboard
contents by explicit user actions through input events and their
serials. A wl_seat is a kind of an input focus group for a
(sub-)set of input devices and each wl_seat has an independent
clipboard. (Having multiple wl_seats is very rare though, like
multi-pointer X11.) See the Wayland interfaces:
wl_seat, wl_data_offer, wl_data_source, wl_data_device,
wl_data_device_manager.

OTOH, an in-favor argument for a separate clipboard manager
process is that the clipboard may hold significant amounts of data.
If copying the data could take time or cause stalls, or trigger
out-of-memory, those would be best kept apart from the actual
display server.

I also believe that the (graphical) user interface to the clipboard
machinery is very important to get right, which is an aspect your
work does not yet seem to consider at all by what you have in your
README. For example, the traditional X11 primary selection buffer
is very prone to user mistakes: the contents get overwritten or
lost at times the user does not always expect, and accessing the
paste functionality (middle mouse click) is usually not
discoverable. I personally make the mistakes of pasting the wrong
thing quite often. The idea of setting the primary selection content
by just selecting something seems to lead to a fragile user
experience.

Your proposal seems to have several different pasteboards, each
capable of holding several different items. That is all fine and
cool, but I would say that a consistent, reliable and easy to use
(G)UI to access whatever clipboard functionality there might be is
much more important.

Maybe the problems you are facing (which you didn't explain) should
be attacked from the UI angle first? What is the UI/UX you want?
Then figure out what mechanisms we need to get there.


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20210102/cd89139c/attachment.sig>


More information about the wayland-devel mailing list